Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share
This commit is contained in:
commit
4cbec87092
35 changed files with 1597 additions and 420 deletions
3
src/@types/global.d.ts
vendored
3
src/@types/global.d.ts
vendored
|
@ -42,6 +42,7 @@ import {SpaceStoreClass} from "../stores/SpaceStore";
|
|||
import TypingStore from "../stores/TypingStore";
|
||||
import { EventIndexPeg } from "../indexing/EventIndexPeg";
|
||||
import {VoiceRecordingStore} from "../stores/VoiceRecordingStore";
|
||||
import PerformanceMonitor from "../performance";
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
|
@ -79,6 +80,8 @@ declare global {
|
|||
mxVoiceRecordingStore: VoiceRecordingStore;
|
||||
mxTypingStore: TypingStore;
|
||||
mxEventIndexPeg: EventIndexPeg;
|
||||
mxPerformanceMonitor: PerformanceMonitor;
|
||||
mxPerformanceEntryNames: any;
|
||||
}
|
||||
|
||||
interface Document {
|
||||
|
|
|
@ -21,7 +21,7 @@ import {removeHiddenChars} from "matrix-js-sdk/src/utils";
|
|||
|
||||
interface IOptions<T extends {}> {
|
||||
keys: Array<string | keyof T>;
|
||||
funcs?: Array<(T) => string>;
|
||||
funcs?: Array<(T) => string | string[]>;
|
||||
shouldMatchWordsOnly?: boolean;
|
||||
// whether to apply unhomoglyph and strip diacritics to fuzz up the search. Defaults to true
|
||||
fuzzy?: boolean;
|
||||
|
@ -69,7 +69,12 @@ export default class QueryMatcher<T extends Object> {
|
|||
|
||||
if (this._options.funcs) {
|
||||
for (const f of this._options.funcs) {
|
||||
keyValues.push(f(object));
|
||||
const v = f(object);
|
||||
if (Array.isArray(v)) {
|
||||
keyValues.push(...v);
|
||||
} else {
|
||||
keyValues.push(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -86,6 +86,8 @@ import {RoomUpdateCause} from "../../stores/room-list/models";
|
|||
import defaultDispatcher from "../../dispatcher/dispatcher";
|
||||
import SecurityCustomisations from "../../customisations/Security";
|
||||
|
||||
import PerformanceMonitor, { PerformanceEntryNames } from "../../performance";
|
||||
|
||||
/** constants for MatrixChat.state.view */
|
||||
export enum Views {
|
||||
// a special initial state which is only used at startup, while we are
|
||||
|
@ -484,42 +486,22 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
}
|
||||
|
||||
startPageChangeTimer() {
|
||||
// Tor doesn't support performance
|
||||
if (!performance || !performance.mark) return null;
|
||||
|
||||
// This shouldn't happen because UNSAFE_componentWillUpdate and componentDidUpdate
|
||||
// are used.
|
||||
if (this.pageChanging) {
|
||||
console.warn('MatrixChat.startPageChangeTimer: timer already started');
|
||||
return;
|
||||
}
|
||||
this.pageChanging = true;
|
||||
performance.mark('element_MatrixChat_page_change_start');
|
||||
PerformanceMonitor.instance.start(PerformanceEntryNames.PAGE_CHANGE);
|
||||
}
|
||||
|
||||
stopPageChangeTimer() {
|
||||
// Tor doesn't support performance
|
||||
if (!performance || !performance.mark) return null;
|
||||
const perfMonitor = PerformanceMonitor.instance;
|
||||
|
||||
if (!this.pageChanging) {
|
||||
console.warn('MatrixChat.stopPageChangeTimer: timer not started');
|
||||
return;
|
||||
}
|
||||
this.pageChanging = false;
|
||||
performance.mark('element_MatrixChat_page_change_stop');
|
||||
performance.measure(
|
||||
'element_MatrixChat_page_change_delta',
|
||||
'element_MatrixChat_page_change_start',
|
||||
'element_MatrixChat_page_change_stop',
|
||||
);
|
||||
performance.clearMarks('element_MatrixChat_page_change_start');
|
||||
performance.clearMarks('element_MatrixChat_page_change_stop');
|
||||
const measurement = performance.getEntriesByName('element_MatrixChat_page_change_delta').pop();
|
||||
perfMonitor.stop(PerformanceEntryNames.PAGE_CHANGE);
|
||||
|
||||
// In practice, sometimes the entries list is empty, so we get no measurement
|
||||
if (!measurement) return null;
|
||||
const entries = perfMonitor.getEntries({
|
||||
name: PerformanceEntryNames.PAGE_CHANGE,
|
||||
});
|
||||
const measurement = entries.pop();
|
||||
|
||||
return measurement.duration;
|
||||
return measurement
|
||||
? measurement.duration
|
||||
: null;
|
||||
}
|
||||
|
||||
shouldTrackPageChange(prevState: IState, state: IState) {
|
||||
|
@ -1632,11 +1614,13 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
action: 'start_registration',
|
||||
params: params,
|
||||
});
|
||||
PerformanceMonitor.instance.start(PerformanceEntryNames.REGISTER);
|
||||
} else if (screen === 'login') {
|
||||
dis.dispatch({
|
||||
action: 'start_login',
|
||||
params: params,
|
||||
});
|
||||
PerformanceMonitor.instance.start(PerformanceEntryNames.LOGIN);
|
||||
} else if (screen === 'forgot_password') {
|
||||
dis.dispatch({
|
||||
action: 'start_password_recovery',
|
||||
|
@ -1965,6 +1949,8 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
// Create and start the client
|
||||
await Lifecycle.setLoggedIn(credentials);
|
||||
await this.postLoginSetup();
|
||||
PerformanceMonitor.instance.stop(PerformanceEntryNames.LOGIN);
|
||||
PerformanceMonitor.instance.stop(PerformanceEntryNames.REGISTER);
|
||||
};
|
||||
|
||||
// complete security / e2e setup has finished
|
||||
|
|
|
@ -471,8 +471,12 @@ export const SpaceHierarchy: React.FC<IHierarchyProps> = ({
|
|||
try {
|
||||
for (const [parentId, childId] of selectedRelations) {
|
||||
await cli.sendStateEvent(parentId, EventType.SpaceChild, {}, childId);
|
||||
parentChildMap.get(parentId).get(childId).content = {};
|
||||
parentChildMap.set(parentId, new Map(parentChildMap.get(parentId)));
|
||||
parentChildMap.get(parentId).delete(childId);
|
||||
if (parentChildMap.get(parentId).size > 0) {
|
||||
parentChildMap.set(parentId, new Map(parentChildMap.get(parentId)));
|
||||
} else {
|
||||
parentChildMap.delete(parentId);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
setError(_t("Failed to remove some rooms. Try again later"));
|
||||
|
|
|
@ -38,6 +38,7 @@ import {sortRooms} from "../../../stores/room-list/algorithms/tag-sorting/Recent
|
|||
import ProgressBar from "../elements/ProgressBar";
|
||||
import {SpaceFeedbackPrompt} from "../../structures/SpaceRoomView";
|
||||
import DecoratedRoomAvatar from "../avatars/DecoratedRoomAvatar";
|
||||
import QueryMatcher from "../../../autocomplete/QueryMatcher";
|
||||
|
||||
interface IProps extends IDialogProps {
|
||||
matrixClient: MatrixClient;
|
||||
|
@ -74,37 +75,47 @@ export const AddExistingToSpace: React.FC<IAddExistingToSpaceProps> = ({
|
|||
onFinished,
|
||||
}) => {
|
||||
const cli = useContext(MatrixClientContext);
|
||||
const visibleRooms = useMemo(() => sortRooms(cli.getVisibleRooms()), [cli]);
|
||||
const visibleRooms = useMemo(() => cli.getVisibleRooms().filter(r => r.getMyMembership() === "join"), [cli]);
|
||||
|
||||
const [selectedToAdd, setSelectedToAdd] = useState(new Set<Room>());
|
||||
const [progress, setProgress] = useState<number>(null);
|
||||
const [error, setError] = useState<Error>(null);
|
||||
const [query, setQuery] = useState("");
|
||||
const lcQuery = query.toLowerCase();
|
||||
const lcQuery = query.toLowerCase().trim();
|
||||
|
||||
const existingSubspaces = SpaceStore.instance.getChildSpaces(space.roomId);
|
||||
const existingSubspacesSet = new Set(existingSubspaces);
|
||||
const existingRoomsSet = new Set(SpaceStore.instance.getChildRooms(space.roomId));
|
||||
const existingSubspacesSet = useMemo(() => new Set(SpaceStore.instance.getChildSpaces(space.roomId)), [space]);
|
||||
const existingRoomsSet = useMemo(() => new Set(SpaceStore.instance.getChildRooms(space.roomId)), [space]);
|
||||
|
||||
const joinRule = space.getJoinRule();
|
||||
const [spaces, rooms, dms] = visibleRooms.reduce((arr, room) => {
|
||||
if (room.getMyMembership() !== "join") return arr;
|
||||
if (!room.name.toLowerCase().includes(lcQuery)) return arr;
|
||||
const [spaces, rooms, dms] = useMemo(() => {
|
||||
let rooms = visibleRooms;
|
||||
|
||||
if (room.isSpaceRoom()) {
|
||||
if (room !== space && !existingSubspacesSet.has(room)) {
|
||||
arr[0].push(room);
|
||||
}
|
||||
} else if (!existingRoomsSet.has(room)) {
|
||||
if (!DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
|
||||
arr[1].push(room);
|
||||
} else if (joinRule !== "public") {
|
||||
// Only show DMs for non-public spaces as they make very little sense in spaces other than "Just Me" ones.
|
||||
arr[2].push(room);
|
||||
}
|
||||
if (lcQuery) {
|
||||
const matcher = new QueryMatcher<Room>(visibleRooms, {
|
||||
keys: ["name"],
|
||||
funcs: [r => [r.getCanonicalAlias(), ...r.getAltAliases()].filter(Boolean)],
|
||||
shouldMatchWordsOnly: false,
|
||||
});
|
||||
|
||||
rooms = matcher.match(lcQuery);
|
||||
}
|
||||
return arr;
|
||||
}, [[], [], []]);
|
||||
|
||||
const joinRule = space.getJoinRule();
|
||||
return sortRooms(rooms).reduce((arr, room) => {
|
||||
if (room.isSpaceRoom()) {
|
||||
if (room !== space && !existingSubspacesSet.has(room)) {
|
||||
arr[0].push(room);
|
||||
}
|
||||
} else if (!existingRoomsSet.has(room)) {
|
||||
if (!DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
|
||||
arr[1].push(room);
|
||||
} else if (joinRule !== "public") {
|
||||
// Only show DMs for non-public spaces as they make very little sense in spaces other than "Just Me" ones.
|
||||
arr[2].push(room);
|
||||
}
|
||||
}
|
||||
return arr;
|
||||
}, [[], [], []]);
|
||||
}, [visibleRooms, space, lcQuery, existingRoomsSet, existingSubspacesSet]);
|
||||
|
||||
const addRooms = async () => {
|
||||
setError(null);
|
||||
|
|
|
@ -428,7 +428,7 @@ export default class RoomList extends React.PureComponent<IProps, IState> {
|
|||
|
||||
private renderSuggestedRooms(): ReactComponentElement<typeof ExtraTile>[] {
|
||||
return this.state.suggestedRooms.map(room => {
|
||||
const name = room.name || room.canonical_alias || room.aliases.pop() || _t("Empty room");
|
||||
const name = room.name || room.canonical_alias || room.aliases?.[0] || _t("Empty room");
|
||||
const avatar = (
|
||||
<RoomAvatar
|
||||
oobData={{
|
||||
|
|
|
@ -100,8 +100,10 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
|
|||
hasUnsentEvents: this.countUnsentEvents() > 0,
|
||||
|
||||
// generatePreview() will return nothing if the user has previews disabled
|
||||
messagePreview: this.generatePreview(),
|
||||
messagePreview: "",
|
||||
};
|
||||
this.generatePreview();
|
||||
|
||||
this.notificationState = RoomNotificationStateStore.instance.getRoomState(this.props.room);
|
||||
this.roomProps = EchoChamber.forRoom(this.props.room);
|
||||
if (this.props.resizeNotifier) {
|
||||
|
@ -123,7 +125,7 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
|
|||
|
||||
private onResize = () => {
|
||||
if (this.showMessagePreview && !this.state.messagePreview) {
|
||||
this.setState({messagePreview: this.generatePreview()});
|
||||
this.generatePreview();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -147,7 +149,7 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
|
|||
|
||||
public componentDidUpdate(prevProps: Readonly<IProps>, prevState: Readonly<IState>) {
|
||||
if (prevProps.showMessagePreview !== this.props.showMessagePreview && this.showMessagePreview) {
|
||||
this.setState({messagePreview: this.generatePreview()});
|
||||
this.generatePreview();
|
||||
}
|
||||
if (prevProps.room?.roomId !== this.props.room?.roomId) {
|
||||
MessagePreviewStore.instance.off(
|
||||
|
@ -236,17 +238,17 @@ export default class RoomTile extends React.PureComponent<IProps, IState> {
|
|||
|
||||
private onRoomPreviewChanged = (room: Room) => {
|
||||
if (this.props.room && room.roomId === this.props.room.roomId) {
|
||||
// generatePreview() will return nothing if the user has previews disabled
|
||||
this.setState({messagePreview: this.generatePreview()});
|
||||
this.generatePreview();
|
||||
}
|
||||
};
|
||||
|
||||
private generatePreview(): string | null {
|
||||
private async generatePreview() {
|
||||
if (!this.showMessagePreview) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return MessagePreviewStore.instance.getPreviewForRoom(this.props.room, this.props.tag);
|
||||
const messagePreview = await MessagePreviewStore.instance.getPreviewForRoom(this.props.room, this.props.tag);
|
||||
this.setState({ messagePreview });
|
||||
}
|
||||
|
||||
private scrollIntoView = () => {
|
||||
|
|
|
@ -728,7 +728,7 @@
|
|||
"Enable them now": "Включете ги сега",
|
||||
"Toolbox": "Инструменти",
|
||||
"Collecting logs": "Събиране на логове",
|
||||
"You must specify an event type!": "Трябва да укажате тип на събитието",
|
||||
"You must specify an event type!": "Трябва да укажате тип на събитието!",
|
||||
"(HTTP status %(httpStatus)s)": "(HTTP статус %(httpStatus)s)",
|
||||
"All Rooms": "Във всички стаи",
|
||||
"Wednesday": "Сряда",
|
||||
|
@ -2831,5 +2831,71 @@
|
|||
"Åland Islands": "Оландски острови",
|
||||
"Afghanistan": "Афганистан",
|
||||
"United States": "Съединените щати",
|
||||
"United Kingdom": "Обединеното кралство"
|
||||
"United Kingdom": "Обединеното кралство",
|
||||
"Manage & explore rooms": "Управление и откриване на стаи",
|
||||
"Space options": "Опции на пространството",
|
||||
"Workspace: <networkLink/>": "Работна област: <networkLink/>",
|
||||
"Channel: <channelLink/>": "Канал: <channelLink/>",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Пространствата са нов начин за групиране на стаи и хора. За да се присъедините към съществуващо пространство, се нуждаете от покана.",
|
||||
"Open space for anyone, best for communities": "Открийте пространство за всеки, най-добро за общности",
|
||||
"Add existing room": "Добави съществуваща стая",
|
||||
"Leave space": "Напусни пространство",
|
||||
"Invite with email or username": "Покани чрез имейл или потребителско име",
|
||||
"Invite people": "Покани хора",
|
||||
"Share invite link": "Сподели връзка с покана",
|
||||
"Click to copy": "Натиснете за копиране",
|
||||
"Delete": "Изтрий",
|
||||
"Please enter a name for the space": "Моля, въведете име на пространството",
|
||||
"Create a space": "Създаване на пространство",
|
||||
"Add some details to help people recognise it.": "Добавете някои подробности, за да помогнете на хората да го разпознаят.",
|
||||
"Invite only, best for yourself or teams": "Само с покана, най-добро за вас самият или отбори",
|
||||
"Public": "Публично",
|
||||
"Private": "Лично",
|
||||
"You can change this later": "Можете да го промените по-късно",
|
||||
"Your public space": "Вашето публично пространство",
|
||||
"Your private space": "Вашето лично пространство",
|
||||
"You can change these anytime.": "Можете да ги промените по всяко време.",
|
||||
"Creating...": "Създаване...",
|
||||
"Collapse space panel": "Свий панел с пространства",
|
||||
"Expand space panel": "Разшири панел с пространства",
|
||||
"unknown person": "",
|
||||
"sends snowfall": "изпраща снеговалеж",
|
||||
"Sends the given message with snowfall": "Изпраща даденото съобщение със снеговалеж",
|
||||
"Sends the given message with fireworks": "Изпраща даденото съобщение с фойерверки",
|
||||
"sends fireworks": "изпраща фойерверки",
|
||||
"sends confetti": "изпраща конфети",
|
||||
"Sends the given message with confetti": "Изпраща даденото съобщение с конфети",
|
||||
"Show chat effects (animations when receiving e.g. confetti)": "Покажи чат ефектите (анимации при получаване, като например конфети)",
|
||||
"Use Ctrl + Enter to send a message": "Използвай Ctrl + Enter за изпращане на съобщение",
|
||||
"Use Command + Enter to send a message": "Използвай Command + Enter за изпращане на съобщение",
|
||||
"Use Ctrl + F to search": "Използвай Ctrl + F за търсене",
|
||||
"Use Command + F to search": "Използвай Command + F за търсене",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Вашата обратна връзка ще направи пространствата по-добри. Kолкото повече изпаднете в подобробности, толкова по-добре.",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Бета версията е налична за уеб, десктоп и Android. Някои функции може да не са налични на вашия Home сървър.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Можете да напуснете бета версията по всяко време от настройките или чрез докосване на симовола за бета версията, като този по-горе.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s ще се презареди с пуснати Пространства. Общностите и собствените етикети ще бъдат скрити.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Ако напуснете, %(brand)s ще се презареди със изключени Пространства. Общностите и собствените етикети ще бъдат видими отново.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Бета версията е налична за уеб, десктоп и Android. Благодарим ви, че изпробвахте бета версията.",
|
||||
"Spaces are a new way to group rooms and people.": "Пространствата са нов начин за групиране на стаи и хора.",
|
||||
"Spaces": "Пространства",
|
||||
"Check your devices": "Проверете устройствата си",
|
||||
"%(deviceId)s from %(ip)s": "%(deviceId)s от %(ip)s",
|
||||
"This homeserver has been blocked by it's administrator.": "Този Home сървър е бил блокиран от администратора му.",
|
||||
"Use app for a better experience": "Използвайте приложението за по-добра работа",
|
||||
"Use app": "Използване на приложението",
|
||||
"Element Web is experimental on mobile. For a better experience and the latest features, use our free native app.": "Element Web е експериментален на мобилни устройства. За по-добра работа и най-новите функции, използвайте нашето безплатно приложение.",
|
||||
"Review to ensure your account is safe": "Прегледайте, за да уверите, че профилът ви е в безопастност",
|
||||
"You have unverified logins": "Имате неверифицирани сесии",
|
||||
"Share your public space": "Споделете публичното си място",
|
||||
"Invite to %(spaceName)s": "Покани в %(spaceName)s",
|
||||
"%(senderName)s has updated the widget layout": "%(senderName)s обнови оформлението на приспособлението",
|
||||
"Sends the given message as a spoiler": "Изпраща даденото съобщение като спойлер",
|
||||
"Your homeserver rejected your log in attempt. This could be due to things just taking too long. Please try again. If this continues, please contact your homeserver administrator.": "Вашият Home сървър отхвърли вашия опит за влизане. Това може да се дължи на неща, които просто отнемат твърде много време. Моля, опитайте отново. Ако това продължи, моля, свържете се със админитратора на вашия Home сървър.",
|
||||
"Your homeserver was unreachable and was not able to log you in. Please try again. If this continues, please contact your homeserver administrator.": "Вашият Home сървър беше недостижим и не можа да ви впише. Моля, опитайте отново. Ако това продължи, моля, свържете се със админитратора на вашия Home сървър.",
|
||||
"Try again": "Опитайте отново",
|
||||
"We asked the browser to remember which homeserver you use to let you sign in, but unfortunately your browser has forgotten it. Go to the sign in page and try again.": "Помолихме браузъра да запомни кой Home сървър използвате за влизане, но за съжаление браузърът ви го е забравил. Отидете на страницата за влизане и опитайте отново.",
|
||||
"Already in call": "Вече в разговор",
|
||||
"You're already in a call with this person.": "Вече сте в разговор в този човек.",
|
||||
"Too Many Calls": "Твърде много повиквания",
|
||||
"Call failed because microphone could not be accessed. Check that a microphone is plugged in and set up correctly.": "Неуспешно повикване поради неуспешен достъп до микрофон. Проверете дали микрофонът е включен и настроен правилно."
|
||||
}
|
||||
|
|
|
@ -3236,5 +3236,53 @@
|
|||
"Pause": "Pozastavit",
|
||||
"Enter your Security Phrase a second time to confirm it.": "Zadejte bezpečnostní frázi podruhé a potvrďte ji.",
|
||||
"Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Vyberte místnosti nebo konverzace, které chcete přidat. Toto je prostor pouze pro vás, nikdo nebude informován. Později můžete přidat další.",
|
||||
"You have no ignored users.": "Nemáte žádné ignorované uživatele."
|
||||
"You have no ignored users.": "Nemáte žádné ignorované uživatele.",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Jedná se o experimentální funkci.</b> Noví uživatelé, kteří obdrží pozvánku, ji budou muset otevřít na <link/>, aby se mohli připojit.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Pro připojení k %(spaceName)s, zapněte <a>Prostory beta</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Pro zobrazení %(spaceName)s, zapněte <a>Prostory beta</a>",
|
||||
"Select a room below first": "Nejprve si vyberte místnost níže",
|
||||
"Communities are changing to Spaces": "Skupiny se mění na Prostory",
|
||||
"Join the beta": "Připojit se k beta verzi",
|
||||
"Leave the beta": "Opustit beta verzi",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Klepněte pro více informací",
|
||||
"Spaces is a beta feature": "Prostory jsou beta verze",
|
||||
"Want to add a new room instead?": "Chcete místo toho přidat novou místnost?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Přidávání místnosti...",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Přidávání místností... (%(progress)s z %(count)s)",
|
||||
"Not all selected were added": "Ne všechny vybrané byly přidány",
|
||||
"You can add existing spaces to a space.": "Do prostoru můžete přidat existující prostory.",
|
||||
"Feeling experimental?": "Chcete experimentovat?",
|
||||
"You are not allowed to view this server's rooms list": "Namáte oprávnění zobrazit seznam místností tohoto serveru",
|
||||
"Error processing voice message": "Chyba při zpracování hlasové zprávy",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Ve vašem zařízení nebyl nalezen žádný mikrofon. Zkontrolujte prosím nastavení a zkuste to znovu.",
|
||||
"No microphone found": "Nebyl nalezen žádný mikrofon",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Nepodařilo se získat přístup k vašemu mikrofonu . Zkontrolujte prosím nastavení prohlížeče a zkuste to znovu.",
|
||||
"Unable to access your microphone": "Nelze získat přístup k mikrofonu",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Chcete experimentovat? Laboratoře jsou nejlepším způsobem, jak získat novinky v raném stádiu, vyzkoušet nové funkce a pomoci je formovat ještě před jejich spuštěním. <a>Zjistěte více</a>.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Přístupový token vám umožní plný přístup k účtu. Nikomu ho nesdělujte.",
|
||||
"Access Token": "Přístupový token",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Prostory představují nový způsob seskupování místností a osob. Chcete-li se připojit k existujícímu prostoru, potřebujete pozvánku.",
|
||||
"Please enter a name for the space": "Zadejte prosím název prostoru",
|
||||
"Connecting": "Spojování",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Povolit Peer-to-Peer pro hovory 1:1 (pokud tuto funkci povolíte, druhá strana může vidět vaši IP adresu)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Beta verze je k dispozici pro web, desktop a Android. Některé funkce mohou být na vašem domovském serveru nedostupné.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Beta verzi můžete kdykoli opustit v nastavení nebo klepnutím na štítek beta verze, jako je ten výše.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s se znovu načte s povolenými Prostory. Skupiny a vlastní značky budou skryty.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Beta verze je k dispozici pro web, desktop a Android. Děkujeme vám za vyzkoušení beta verze.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s se znovu načte s vypnutými Prostory. Skupiny a vlastní značky budou opět viditelné.",
|
||||
"Spaces are a new way to group rooms and people.": "Prostory představují nový způsob seskupování místností a osob.",
|
||||
"Message search initialisation failed": "Inicializace vyhledávání zpráv se nezdařila",
|
||||
"Spaces are a beta feature.": "Prostory jsou funkcí beta verze.",
|
||||
"Search names and descriptions": "Hledat názvy a popisy",
|
||||
"You may contact me if you have any follow up questions": "V případě dalších dotazů se na mě můžete obrátit",
|
||||
"To leave the beta, visit your settings.": "Chcete-li opustit beta verzi, jděte do nastavení.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Vaše platforma a uživatelské jméno budou zaznamenány, abychom mohli co nejlépe využít vaši zpětnou vazbu.",
|
||||
"%(featureName)s beta feedback": "%(featureName)s zpětná vazba beta verze",
|
||||
"Thank you for your feedback, we really appreciate it.": "Děkujeme za vaši zpětnou vazbu, velmi si jí vážíme.",
|
||||
"Beta feedback": "Zpětná vazba na betaverzi",
|
||||
"Add reaction": "Přidat reakci",
|
||||
"Send and receive voice messages": "Odeslat a přijmout hlasové zprávy",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Vaše zpětná vazba pomůže zlepšit prostory. Čím podrobnější bude, tím lépe.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Pokud odejdete, %(brand)s se znovu načte s vypnutými Prostory. Skupiny a vlastní značky budou opět viditelné."
|
||||
}
|
||||
|
|
|
@ -338,7 +338,7 @@
|
|||
"Uploading %(filename)s and %(count)s others|one": "%(filename)s und %(count)s weitere Dateien werden hochgeladen",
|
||||
"Uploading %(filename)s and %(count)s others|other": "%(filename)s und %(count)s weitere Dateien werden hochgeladen",
|
||||
"You must <a>register</a> to use this functionality": "Du musst dich <a>registrieren</a>, um diese Funktionalität nutzen zu können",
|
||||
"Create new room": "Neuen Raum erstellen",
|
||||
"Create new room": "Neuer Raum",
|
||||
"Room directory": "Raum-Verzeichnis",
|
||||
"Start chat": "Chat starten",
|
||||
"New Password": "Neues Passwort",
|
||||
|
@ -451,7 +451,7 @@
|
|||
"Pinned Messages": "Angeheftete Nachrichten",
|
||||
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s hat die angehefteten Nachrichten für diesen Raum geändert.",
|
||||
"Jump to read receipt": "Zur Lesebestätigung springen",
|
||||
"Message Pinning": "Nachrichtenanheftung",
|
||||
"Message Pinning": "Nachrichten anheften",
|
||||
"Long Description (HTML)": "Lange Beschreibung (HTML)",
|
||||
"Jump to message": "Zur Nachricht springen",
|
||||
"No pinned messages.": "Keine angehefteten Nachrichten vorhanden.",
|
||||
|
@ -795,7 +795,7 @@
|
|||
"We encountered an error trying to restore your previous session.": "Wir haben ein Problem beim Wiederherstellen deiner vorherigen Sitzung festgestellt.",
|
||||
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Den Browser-Speicher zu löschen kann das Problem lösen, wird dich aber abmelden und verschlüsselte Chats unlesbar machen.",
|
||||
"Collapse Reply Thread": "Antwort-Thread zusammenklappen",
|
||||
"Enable widget screenshots on supported widgets": "Bildschirmfotos bei unterstützten Widgets aktivieren",
|
||||
"Enable widget screenshots on supported widgets": "Bildschirmfotos für unterstützte Widgets",
|
||||
"Send analytics data": "Analysedaten senden",
|
||||
"e.g. %(exampleValue)s": "z.B. %(exampleValue)s",
|
||||
"Muted Users": "Stummgeschaltete Benutzer",
|
||||
|
@ -1017,7 +1017,7 @@
|
|||
"Language and region": "Sprache und Region",
|
||||
"Theme": "Design",
|
||||
"Account management": "Benutzerkontenverwaltung",
|
||||
"For help with using %(brand)s, click <a>here</a>.": "Um Hilfe zur Benutzung von %(brand)s zu erhalten, klicke <a>hier</a>.",
|
||||
"For help with using %(brand)s, click <a>here</a>.": "<a>Um Hilfe zur Benutzung von %(brand)s zu erhalten, klicke hier</a>.",
|
||||
"For help with using %(brand)s, click <a>here</a> or start a chat with our bot using the button below.": "Um Hilfe zur Benutzung von %(brand)s zu erhalten, klicke <a>hier</a> oder beginne einen Chat mit unserem Bot. Klicke dazu auf den unteren Knopf.",
|
||||
"Chat with %(brand)s Bot": "Chatte mit dem %(brand)s-Bot",
|
||||
"Help & About": "Hilfe und Über",
|
||||
|
@ -1236,7 +1236,7 @@
|
|||
"Name or Matrix ID": "Name oder Matrix-ID",
|
||||
"Your %(brand)s is misconfigured": "Dein %(brand)s ist falsch konfiguriert",
|
||||
"You cannot modify widgets in this room.": "Du darfst in diesem Raum keine Widgets verändern.",
|
||||
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Ob du die \"Breadcrumbs\"-Funktion nutzt oder nicht (Avatare oberhalb der Raumliste)",
|
||||
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Ob du die Liste der kürzlich besuchten Räume oberhalb der Raumliste nutzt",
|
||||
"The server does not support the room version specified.": "Der Server unterstützt die angegebene Raumversion nicht.",
|
||||
"<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>Achtung</b>: Ein Raum-Upgrade wird <i>die Mitglieder des Raumes nicht automatisch auf die neue Version migrieren.</i> Wir werden in der alten Raumversion einen Link zum neuen Raum posten - Raummitglieder müssen dann auf diesen Link klicken um dem neuen Raum beizutreten.",
|
||||
"Replying With Files": "Mit Dateien antworten",
|
||||
|
@ -1336,7 +1336,7 @@
|
|||
"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.": "Mit einem Identitätsserver kannst du über E-Mail Einladungen zu verschicken. Verwalte ihn in den Einstellungen.",
|
||||
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
|
||||
"Try out new ways to ignore people (experimental)": "Verwende neue Möglichkeiten, Menschen zu blockieren (experimentell)",
|
||||
"Try out new ways to ignore people (experimental)": "Verwende neue Möglichkeiten, Menschen zu blockieren",
|
||||
"Send read receipts for messages (requires compatible homeserver to disable)": "Lesebestätigungen für Nachrichten senden (Deaktivieren erfordert einen kompatiblen Heimserver)",
|
||||
"My Ban List": "Meine Bannliste",
|
||||
"This is your list of users/servers you have blocked - don't leave the room!": "Dies ist die Liste von Benutzer und Servern, die du blockiert hast - verlasse diesen Raum nicht!",
|
||||
|
@ -1368,7 +1368,7 @@
|
|||
"%(num)s hours from now": "in %(num)s Stunden",
|
||||
"about a day from now": "in etwa einem Tag",
|
||||
"%(num)s days from now": "in %(num)s Tagen",
|
||||
"Show info about bridges in room settings": "Information über Brücken in den Raumeinstellungen anzeigen",
|
||||
"Show info about bridges in room settings": "Information über Brücken in Raumeinstellungen",
|
||||
"Enable message search in encrypted rooms": "Nachrichtensuche in verschlüsselten Räumen aktivieren",
|
||||
"Lock": "Schloss",
|
||||
"Later": "Später",
|
||||
|
@ -1651,7 +1651,7 @@
|
|||
"Not Trusted": "Nicht vertraut",
|
||||
"Manually Verify by Text": "Verifiziere manuell mit einem Text",
|
||||
"Interactively verify by Emoji": "Verifiziere interaktiv mit Emojis",
|
||||
"Support adding custom themes": "Unterstütze das Hinzufügen von benutzerdefinierten Designs",
|
||||
"Support adding custom themes": "Benutzerdefinierte Designs",
|
||||
"Ask this user to verify their session, or manually verify it below.": "Bitte diesen Nutzer, seine Sitzung zu verifizieren, oder verifiziere diese unten manuell.",
|
||||
"a few seconds from now": "in ein paar Sekunden",
|
||||
"Manually verify all remote sessions": "Remotesitzungen manuell verifizieren",
|
||||
|
@ -1700,7 +1700,7 @@
|
|||
"This room is end-to-end encrypted": "Dieser Raum ist Ende-zu-Ende verschlüsselt",
|
||||
"You are not subscribed to any lists": "Du hast keine Listen abonniert",
|
||||
"Error adding ignored user/server": "Fehler beim Blockieren eines Nutzers/Servers",
|
||||
"None": "Keine",
|
||||
"None": "Nichts",
|
||||
"Ban list rules - %(roomName)s": "Verbotslistenregeln - %(roomName)s",
|
||||
"Add users and servers you want to ignore here. Use asterisks to have %(brand)s match any characters. For example, <code>@bot:*</code> would ignore all users that have the name 'bot' on any server.": "Füge hier die Benutzer und Server hinzu, die du blockieren willst. Verwende Sternchen, damit %(brand)s mit beliebigen Zeichen übereinstimmt. Bspw. würde <code>@bot: *</code> alle Benutzer blockieren, die auf einem Server den Namen 'bot' haben.",
|
||||
"Ignoring people is done through ban lists which contain rules for who to ban. Subscribing to a ban list means the users/servers blocked by that list will be hidden from you.": "Das Ignorieren von Personen erfolgt über Sperrlisten. Wenn eine Sperrliste abonniert wird, werden die von dieser Liste blockierten Benutzer und Server ausgeblendet.",
|
||||
|
@ -1764,7 +1764,7 @@
|
|||
"Backup has a <validity>valid</validity> signature from <verify>unverified</verify> session <device></device>": "Die Sicherung hat eine <validity>gültige</validity> Signatur von einer <verify>nicht verifizierten</verify> Sitzung <device></device>",
|
||||
"Backup has an <validity>invalid</validity> signature from <verify>verified</verify> session <device></device>": "Die Sicherung hat eine <validity>ungültige</validity> Signatur von einer <verify>verifizierten</verify> Sitzung <device></device>",
|
||||
"Backup has an <validity>invalid</validity> signature from <verify>unverified</verify> session <device></device>": "Die Sicherung hat eine <validity>ungültige</validity> Signatur von einer <verify>nicht verifizierten</verify> Sitzung <device></device>",
|
||||
"Your keys are <b>not being backed up from this session</b>.": "Deine Schlüssel werden <b>nicht von dieser Sitzung gesichert</b>.",
|
||||
"Your keys are <b>not being backed up from this session</b>.": "Deine Schlüssel werden von dieser Sitzung <b>nicht gesichert</b>.",
|
||||
"You are currently using <server></server> to discover and be discoverable by existing contacts you know. You can change your identity server below.": "Zur Zeit verwendest du <server></server>, um Kontakte zu finden und von anderen gefunden zu werden. Du kannst deinen Identitätsserver weiter unten ändern.",
|
||||
"Invalid theme schema.": "Ungültiges Designschema.",
|
||||
"Error downloading theme information.": "Fehler beim herunterladen des Themas.",
|
||||
|
@ -2156,7 +2156,7 @@
|
|||
"Liberate your communication": "Befreie deine Kommunikation",
|
||||
"Message downloading sleep time(ms)": "Wartezeit zwischen dem Herunterladen von Nachrichten (ms)",
|
||||
"Navigate recent messages to edit": "Letzte Nachrichten zur Bearbeitung ansehen",
|
||||
"Jump to start/end of the composer": "Springe zum Anfang/Ende der Nachrichteneingabe",
|
||||
"Jump to start/end of the composer": "Zu Anfang/Ende des Textfelds springen",
|
||||
"Navigate composer history": "Verlauf der Nachrichteneingabe durchsuchen",
|
||||
"If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Wenn du dies versehentlich getan hast, kannst du in dieser Sitzung \"sichere Nachrichten\" einrichten, die den Nachrichtenverlauf dieser Sitzung mit einer neuen Wiederherstellungsmethode erneut verschlüsseln.",
|
||||
"Cancel replying to a message": "Nachricht beantworten abbrechen",
|
||||
|
@ -2321,7 +2321,7 @@
|
|||
"%(senderName)s invited %(targetName)s": "%(senderName)s hat %(targetName)s eingeladen",
|
||||
"You changed the room topic": "Du hast das Raumthema geändert",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s hat das Raumthema geändert",
|
||||
"New spinner design": "Neue Warteanimation",
|
||||
"New spinner design": "Neue Ladeanimation",
|
||||
"Use a more compact ‘Modern’ layout": "Modernes kompaktes Layout",
|
||||
"Message deleted on %(date)s": "Nachricht am %(date)s gelöscht",
|
||||
"Wrong file type": "Falscher Dateityp",
|
||||
|
@ -2337,7 +2337,7 @@
|
|||
"Are you sure you want to cancel entering passphrase?": "Bist du sicher, dass du die Eingabe der Passphrase abbrechen möchtest?",
|
||||
"Use your account to sign in to the latest version": "Melde dich mit deinem Account in der neuesten Version an",
|
||||
"* %(senderName)s %(emote)s": "* %(senderName)s %(emote)s",
|
||||
"Enable advanced debugging for the room list": "Erweiterte Fehlersuche für die Raumliste aktivieren",
|
||||
"Enable advanced debugging for the room list": "Erweiterte Fehlersuche für die Raumliste",
|
||||
"Enable experimental, compact IRC style layout": "Kompaktes Layout im IRC-Stil (experimentell)",
|
||||
"User menu": "Benutzermenü",
|
||||
"%(brand)s Web": "%(brand)s Web",
|
||||
|
@ -2345,10 +2345,10 @@
|
|||
"%(brand)s iOS": "%(brand)s iOS",
|
||||
"%(brand)s X for Android": "%(brand)s X für Android",
|
||||
"We’re excited to announce Riot is now Element": "Wir freuen uns zu verkünden, dass Riot jetzt Element ist",
|
||||
"%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use <desktopLink>%(brand)s Desktop</desktopLink> for encrypted messages to appear in search results.": "%(brand)s kann verschlüsselte Nachrichten nicht sicher während der Ausführung im Browser durchsuchen. Benutze <desktopLink>%(brand)s Desktop</desktopLink>, um verschlüsselte Nachrichten in den Suchergebnissen angezeigt zu bekommen.",
|
||||
"%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use <desktopLink>%(brand)s Desktop</desktopLink> for encrypted messages to appear in search results.": "Das Durchsuchen von verschlüsselten Nachrichten wird aus Sicherheitsgründen nur von %(brand)s Desktop unterstützt. <desktopLink>Hier geht's zum Download</desktopLink>.",
|
||||
"Show rooms with unread messages first": "Räume mit ungelesenen Nachrichten zuerst zeigen",
|
||||
"Show previews of messages": "Nachrichtenvorschau anzeigen",
|
||||
"Use default": "Standardeinstellungen benutzen",
|
||||
"Use default": "Standardeinstellungen",
|
||||
"Mentions & Keywords": "Erwähnungen und Schlüsselwörter",
|
||||
"Notification options": "Benachrichtigungsoptionen",
|
||||
"Forget Room": "Raum vergessen",
|
||||
|
@ -2488,7 +2488,7 @@
|
|||
"Secret storage:": "Sicherer Speicher:",
|
||||
"ready": "bereit",
|
||||
"not ready": "nicht bereit",
|
||||
"Secure Backup": "Sichere Aufbewahrungskopie",
|
||||
"Secure Backup": "Sicheres Backup",
|
||||
"End Call": "Anruf beenden",
|
||||
"Remove the group call from the room?": "Konferenzgespräch aus diesem Raum entfernen?",
|
||||
"You don't have permission to remove the call from the room": "Du hast keine Berechtigung um den Konferenzanruf aus dem Raum zu entfernen",
|
||||
|
@ -2597,7 +2597,7 @@
|
|||
"See videos posted to your active room": "In deinen aktiven Raum gesendete Videos anzeigen",
|
||||
"See videos posted to this room": "In diesen Raum gesendete Videos anzeigen",
|
||||
"Send images as you in this room": "Bilder als du in diesen Raum senden",
|
||||
"Send images as you in your active room": "Sende Bilder als deine Person in den aktiven Raum.",
|
||||
"Send images as you in your active room": "Sende Bilder in den aktuellen Raum",
|
||||
"See images posted to this room": "In diesen Raum gesendete Bilder anzeigen",
|
||||
"See images posted to your active room": "In deinen aktiven Raum gesendete Bilder anzeigen",
|
||||
"Send videos as you in this room": "Videos als du in diesen Raum senden",
|
||||
|
@ -2916,7 +2916,7 @@
|
|||
"United Kingdom": "Großbritannien",
|
||||
"We call the places you where you can host your account ‘homeservers’.": "Orte, an denen du dein Benutzerkonto hosten kannst, nennen wir \"Homeserver\".",
|
||||
"Specify a homeserver": "Gib einen Homeserver an",
|
||||
"Render LaTeX maths in messages": "LaTeX-Matheformeln in Nachrichten anzeigen",
|
||||
"Render LaTeX maths in messages": "LaTeX-Matheformeln",
|
||||
"Decide where your account is hosted": "Gib an wo dein Benutzerkonto gehostet werden soll",
|
||||
"Already have an account? <a>Sign in here</a>": "Hast du schon ein Benutzerkonto? <a>Melde dich hier an</a>",
|
||||
"%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s oder %(usernamePassword)s",
|
||||
|
@ -2945,7 +2945,7 @@
|
|||
"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.": "Du kannst in den benutzerdefinierten Serveroptionen eine andere Heimserver-URL angeben, um dich bei anderen Matrixservern anzumelden.",
|
||||
"Server Options": "Servereinstellungen",
|
||||
"No other application is using the webcam": "keine andere Anwendung auf die Webcam zugreift",
|
||||
"Permission is granted to use the webcam": "Zugriff auf die Webcam ist gestattet.",
|
||||
"Permission is granted to use the webcam": "Zugriff auf Webcam gestattet",
|
||||
"A microphone and webcam are plugged in and set up correctly": "Mikrofon und Webcam eingesteckt und richtig eingerichtet sind",
|
||||
"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:",
|
||||
|
@ -3059,7 +3059,7 @@
|
|||
"Cookie Policy": "Cookie-Richtlinie",
|
||||
"Learn more in our <privacyPolicyLink />, <termsOfServiceLink /> and <cookiePolicyLink />.": "Erfahre mehr in unserer <privacyPolicyLink />, <termsOfServiceLink /> und <cookiePolicyLink />.",
|
||||
"Failed to connect to your homeserver. Please close this dialog and try again.": "Verbindung zum Homeserver fehlgeschlagen. Bitte schließe diesen Dialog and versuche es erneut.",
|
||||
"Abort": "Abbrechen",
|
||||
"Abort": "Beenden",
|
||||
"Upgrade to %(hostSignupBrand)s": "Zu %(hostSignupBrand)s upgraden",
|
||||
"Edit Values": "Werte bearbeiten",
|
||||
"Value in this room:": "Wert in diesem Raum:",
|
||||
|
@ -3084,12 +3084,12 @@
|
|||
"Accept Invite": "Einladung akzeptieren",
|
||||
"Save changes": "Änderungen speichern",
|
||||
"Undo": "Rückgängig",
|
||||
"Save Changes": "Änderungen Speichern",
|
||||
"Save Changes": "Speichern",
|
||||
"View dev tools": "Entwicklerwerkzeuge",
|
||||
"Apply": "Anwenden",
|
||||
"Create a new room": "Neuen Raum erstellen",
|
||||
"Suggested Rooms": "Vorgeschlagene Räume",
|
||||
"Add existing room": "Existierenden Raum hinzufügen",
|
||||
"Add existing room": "Existierenden Raum",
|
||||
"Send message": "Nachricht senden",
|
||||
"New room": "Neuer Raum",
|
||||
"Share invite link": "Einladungslink teilen",
|
||||
|
@ -3239,9 +3239,9 @@
|
|||
"Values at explicit levels in this room:": "Werte für explizite Stufen in diesem Raum:",
|
||||
"Values at explicit levels:": "Werte für explizite Stufen:",
|
||||
"Values at explicit levels in this room": "Werte für explizite Stufen in diesem Raum",
|
||||
"Confirm abort of host creation": "Bestätige das Abbrechen der Host-Erstellung",
|
||||
"Are you sure you wish to abort creation of the host? The process cannot be continued.": "Soll die Host-Erstellung wirklich abgebrochen werden? Dieser Prozess kann nicht wieder fortgesetzt werden.",
|
||||
"Invite to just this room": "Nur für diesen Raum einladen",
|
||||
"Confirm abort of host creation": "Bestätige das Beenden der Host-Erstellung",
|
||||
"Are you sure you wish to abort creation of the host? The process cannot be continued.": "Soll die Host-Erstellung wirklich beendet werden? Dieser Prozess kann nicht wieder fortgesetzt werden.",
|
||||
"Invite to just this room": "Nur in diesen Raum einladen",
|
||||
"Consult first": "Konsultiere zuerst",
|
||||
"Reset event store?": "Ereignisspeicher zurück setzen?",
|
||||
"You most likely do not want to reset your event index store": "Es ist wahrscheinlich, dass du den Ereignis-Indexspeicher nicht zurück setzen möchtest",
|
||||
|
@ -3253,7 +3253,7 @@
|
|||
"What are some things you want to discuss in %(spaceName)s?": "Welche Themen willst du in %(spaceName)s besprechen?",
|
||||
"Inviting...": "Einladen...",
|
||||
"Failed to create initial space rooms": "Fehler beim Initialisieren des Space",
|
||||
"You are the only person here. If you leave, no one will be able to join in the future, including you.": "Du bist hier noch alleine. Wenn du den Space verlässt, ist er für immer verloren (eine lange Zeit).",
|
||||
"You are the only person here. If you leave, no one will be able to join in the future, including you.": "Du bist die einzige Person hier. Wenn du den Space verlässt, ist er für immer verloren (eine lange Zeit).",
|
||||
"Edit settings relating to your space.": "Einstellungen vom Space bearbeiten.",
|
||||
"Please choose a strong password": "Bitte gib ein sicheres Passwort ein",
|
||||
"If you reset everything, you will restart with no trusted sessions, no trusted users, and might not be able to see past messages.": "Wenn du alles zurücksetzt, gehen alle verifizierten Anmeldungen, Benutzer und verschlüsselte Nachrichten verloren.",
|
||||
|
@ -3288,10 +3288,58 @@
|
|||
"What do you want to organise?": "Was willst du organisieren?",
|
||||
"Enter your Security Phrase a second time to confirm it.": "Gib dein Kennwort ein zweites Mal zur Bestätigung ein.",
|
||||
"Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Wähle Räume oder Konversationen die Du hinzufügen möchtest. Dieser Bereich ist nur für Dich, niemand wird informiert. Du kannst später mehr hinzufügen.",
|
||||
"Filter all spaces": "Alle Bereiche filtern",
|
||||
"Filter all spaces": "Alle Spaces durchsuchen",
|
||||
"Delete recording": "Aufnahme löschen",
|
||||
"Stop the recording": "Aufnahme stoppen",
|
||||
"%(count)s results in all spaces|one": "%(count)s Ergebnis in allen Bereichen",
|
||||
"%(count)s results in all spaces|other": "%(count)s Ergebnisse in allen Bereichen",
|
||||
"You have no ignored users.": "Du ignorierst keine Benutzer."
|
||||
"%(count)s results in all spaces|one": "%(count)s Ergebnis",
|
||||
"%(count)s results in all spaces|other": "%(count)s Ergebnisse",
|
||||
"You have no ignored users.": "Du ignorierst keine Benutzer.",
|
||||
"Error processing voice message": "Fehler beim Verarbeiten der Sprachnachricht",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Um %(spaceName)s beizutreten, aktiviere die <a>Spaces Betaversion</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Um %(spaceName)s zu betreten, <a>aktiviere die Spaces Beta</a>",
|
||||
"Select a room below first": "Wähle zuerst einen Raum aus",
|
||||
"Communities are changing to Spaces": "Spaces ersetzen Communities",
|
||||
"Join the beta": "Beta beitreten",
|
||||
"Leave the beta": "Beta verlassen",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Klicke für mehr Infos",
|
||||
"Spaces is a beta feature": "Spaces sind noch in der Entwicklung und möglicherweise instabil",
|
||||
"Want to add a new room instead?": "Willst du einen neuen Raum hinzufügen?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Raum wird hinzugefügt...",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Räume werden hinzugefügt... (%(progress)s von %(count)s)",
|
||||
"You can add existing spaces to a space.": "Du kannst existierende Spaces zu einem Space hinzfügen.",
|
||||
"Feeling experimental?": "Willst du die Entwicklung von Element hautnah miterleben?",
|
||||
"You are not allowed to view this server's rooms list": "Du darfst diese Raumliste nicht sehen",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Es konnte kein Mikrofon gefunden werden. Überprüfe deine Einstellungen und versuche es erneut.",
|
||||
"No microphone found": "Kein Mikrofon gefunden",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Fehler beim Zugriff auf dein Mikrofon. Überprüfe deine Browsereinstellungen und versuche es nochmal.",
|
||||
"Unable to access your microphone": "Fehler beim Zugriff auf Mikrofon",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Hier kannst du zukünftige Features noch vor der Veröffentlichung testen und uns mit Feedback beim Verbessern helfen. <a>Mehr Infos</a>.",
|
||||
"Please enter a name for the space": "Gib den Namen des Spaces ein",
|
||||
"Connecting": "Verbinden",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Direktverbindung für Direktanrufe aktivieren. Dadurch sieht dein Gegenüber möglicherweise deine IP-Adresse.",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Die Betaversion ist verfügbar für Browser, Desktop und Android. Je nach Homeserver sind einige Funktionen möglicherweise nicht verfügbar.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Du kannst die Betaversion jederzeit verlassen. Mache dies entweder in den Einstellungen oder klicke auf eines der \"Beta\"-Icons wie das hier oben.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s wird mit aktivierten Spaces neuladen. Danach kannst Communities und Custom Tags nicht verwenden.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Die Betaversion ist für Browser, Desktop und Android verfügbar. Danke, dass Du die Betaversion testest.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s wird mit deaktivierten Spaces neuladen und du kannst Communities und Custom Tags wieder verwenden können.",
|
||||
"Spaces are a beta feature.": "Spaces sind in der Beta.",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Wir haben Spaces entwickelt, damit ihr eure vielen Räume besser organisieren könnt. Um einen existierenden Space beitreten zu können musst du (noch) von jemandem eingeladen werden.",
|
||||
"Spaces are a new way to group rooms and people.": "Wir haben Spaces entwickelt, damit ihr eure vielen Räume besser organisieren könnt.",
|
||||
"Message search initialisation failed": "Initialisierung der Nachrichtensuche fehlgeschlagen",
|
||||
"Send and receive voice messages": "Sprachnachrichten",
|
||||
"Search names and descriptions": "Nach Name und Beschreibung filtern",
|
||||
"Not all selected were added": "Nicht alle Ausgewählten konnten hinzugefügt werden",
|
||||
"Add reaction": "Reaktion hinzufügen",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Dieses Feature ist experimentell.</b> Falls du eine Einladung erhältst musst du sie momentan noch auf <link/> öffnen, um beizutreten.",
|
||||
"You may contact me if you have any follow up questions": "Kontaktiert mich, falls ihr weitere Fragen zu meinem Feedback habt",
|
||||
"To leave the beta, visit your settings.": "Du kannst die Beta in den Einstellungen deaktivieren.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Die Platform von Element und dein Benutzername werden mitgeschickt, damit wir dein Feedback bestmöglich nachvollziehen können.",
|
||||
"%(featureName)s beta feedback": "%(featureName)s-Beta Feedback",
|
||||
"Thank you for your feedback, we really appreciate it.": "Uns liegt es am Herzen, Element zu verbessern. Deshalb ein großes Danke für dein Feedback.",
|
||||
"Beta feedback": "Beta Feedback",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Dein Zugriffstoken gibt vollen Zugriff auf dein Konto. Teile es niemals mit jemanden anderen.",
|
||||
"Access Token": "Zugriffstoken",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Dein Feedback hilfst uns, die Spaces zu verbessern. Je genauer, desto besser.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Durchs Verlassen lädt %(brand)s mit deaktivierten Spaces neu. Danach kannst du wieder Communities und Custom Tags verwenden."
|
||||
}
|
||||
|
|
|
@ -665,5 +665,6 @@
|
|||
"Unrecognised command: %(commandText)s": "Unrecognized command: %(commandText)s",
|
||||
"Add some details to help people recognise it.": "Add some details to help people recognize it.",
|
||||
"Unrecognised room address:": "Unrecognized room address:",
|
||||
"A private space to organise your rooms": "A private space to organize your rooms"
|
||||
"A private space to organise your rooms": "A private space to organize your rooms",
|
||||
"Message search initialisation failed": "Message search initialization failed"
|
||||
}
|
||||
|
|
|
@ -2102,7 +2102,7 @@
|
|||
"Communities v2 prototypes. Requires compatible homeserver. Highly experimental - use with caution.": "Prototipo de comunidades v2. Requiere un servidor compatible. Altamente experimental - usar con precuación.",
|
||||
"Font size": "Tamaño del texto",
|
||||
"Use custom size": "Usar un tamaño personalizado",
|
||||
"Use a more compact ‘Modern’ layout": "Usar un diseño más «moderno y compacto",
|
||||
"Use a more compact ‘Modern’ layout": "Usar un diseño más «moderno y compacto»",
|
||||
"Use a system font": "Usar una fuente del sistema",
|
||||
"System font name": "Nombre de la fuente",
|
||||
"Enable experimental, compact IRC style layout": "Activar el diseño experimental de IRC compacto",
|
||||
|
@ -3259,5 +3259,51 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s resultados en todos los espacios",
|
||||
"You have no ignored users.": "No has ignorado a nadie.",
|
||||
"Pause": "Pausar",
|
||||
"Play": "Reproducir"
|
||||
"Play": "Reproducir",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Esto es una funcionalidad experimental.</b> Por ahora, los usuarios nuevos que reciban una invitación tendrán que abrirla en <link/> para unirse.",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Para ver %(spaceName)s, activa la <a>beta de los espacios</a>",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Para unirte a %(spaceName)s, activa la <a>beta de los espacios</a>",
|
||||
"Select a room below first": "Selecciona una sala de abajo primero",
|
||||
"Communities are changing to Spaces": "Las comunidades se van a convertir en espacios",
|
||||
"Join the beta": "Unirse a la beta",
|
||||
"Leave the beta": "Salir de la beta",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Pulsa para más información",
|
||||
"Spaces is a beta feature": "Los espacios son una funcionalidad en beta",
|
||||
"Want to add a new room instead?": "¿Quieres añadir una sala nueva en su lugar?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Añadiendo salas… (%(progress)s de %(count)s)",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Añadiendo sala…",
|
||||
"Not all selected were added": "No se han añadido todas las seleccionadas",
|
||||
"You can add existing spaces to a space.": "Puedes añadir espacios ya existentes dentro de otros espacios.",
|
||||
"Feeling experimental?": "¿Te animas a probar cosas nuevas?",
|
||||
"You are not allowed to view this server's rooms list": "No tienes permiso para ver la lista de salas de este servidor",
|
||||
"Error processing voice message": "Ha ocurrido un error al procesar el mensaje de voz",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "No hemos encontrado un micrófono en tu dispositivo. Por favor, consulta tus ajustes e inténtalo de nuevo.",
|
||||
"No microphone found": "No se ha encontrado ningún micrófono",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "No hemos podido acceder a tu micrófono. Por favor, comprueba los ajustes de tu navegador e inténtalo de nuevo.",
|
||||
"Unable to access your microphone": "No se ha podido acceder a tu micrófono",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Tu token de acceso da acceso completo a tu cuenta. No lo compartas con nadie.",
|
||||
"Access Token": "Token de acceso",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Los espacios son una nueva forma de agrupar salas y personas. Para unirte a uno ya existente, necesitarás que te inviten a él.",
|
||||
"Please enter a name for the space": "Por favor, elige un nombre para el espacio",
|
||||
"Connecting": "Conectando",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Puedes salirte de la beta en cualquier momento desde tus ajustes o pulsando sobre la etiqueta de beta, como la que hay arriba.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s se volverá a cargar con los espacios activados. Las comunidades y etiquetas personalizadas se ocultarán.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Versión beta disponible para web, escritorio y Android. Gracias por usar la beta.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s volverá a cargarse con los espacios desactivados. Las comunidades y etiquetas personalizadas serán visibles de nuevo.",
|
||||
"Spaces are a new way to group rooms and people.": "Los espacios son una nueva manera de agrupar salas y gente.",
|
||||
"Message search initialisation failed": "Ha fallado la inicialización de la búsqueda de mensajes",
|
||||
"Spaces are a beta feature.": "Los espacios son una funcionalidad en beta.",
|
||||
"Search names and descriptions": "Buscar por nombre y descripción",
|
||||
"You may contact me if you have any follow up questions": "Os podéis poner en contacto conmigo si tenéis alguna pregunta",
|
||||
"To leave the beta, visit your settings.": "Para salir de la beta, ve a tus ajustes.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Tu nombre de usuario y plataforma serán adjuntados, para que podamos interpretar tus comentarios lo mejor posible.",
|
||||
"%(featureName)s beta feedback": "Comentarios sobre la funcionalidad beta %(featureName)s",
|
||||
"Thank you for your feedback, we really appreciate it.": "Muchas gracias por tus comentarios.",
|
||||
"Beta feedback": "Danos tu opinión sobre la beta",
|
||||
"Add reaction": "Reaccionar",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "¿Te apetece probar cosas nuevas? Los experimentos son la mejor manera de conseguir acceso anticipado a nuevas funcionalidades, probarlas y ayudar a mejorarlas antes de su lanzamiento. <a>Más información</a>.",
|
||||
"Send and receive voice messages": "Enviar y recibir mensajes de voz",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Tus comentarios ayudarán a mejorar los espacios. Cuanto más detalle incluyas, mejor.",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Beta disponible para la versión web, de escritorio o Android. Puede que algunas funcionalidades no estén disponibles en tu servidor base."
|
||||
}
|
||||
|
|
|
@ -652,7 +652,7 @@
|
|||
"A session's public name is visible to people you communicate with": "Sessiooni avalik nimi on nähtav neile, kellega sa suhtled",
|
||||
"%(brand)s collects anonymous analytics to allow us to improve the application.": "Võimaldamaks meil rakendust parandada kogub %(brand)s anonüümset teavet rakenduse kasutuse kohta.",
|
||||
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Privaatsus on meile oluline ning seega me ei kogu ei isiklikke ega isikustatavaid andmeid.",
|
||||
"Learn more about how we use analytics.": "Loe lisaks kuidas me kasutama analüütikat.",
|
||||
"Learn more about how we use analytics.": "Loe lisaks selles kohta, kuidas me kasutame analüütikat.",
|
||||
"No media permissions": "Meediaõigused puuduvad",
|
||||
"You may need to manually permit %(brand)s to access your microphone/webcam": "Sa võib-olla pead andma %(brand)s'ile loa mikrofoni ja veebikaamera kasutamiseks",
|
||||
"Missing media permissions, click the button below to request.": "Meediaga seotud õigused puuduvad. Nende nõutamiseks klõpsi järgnevat nuppu.",
|
||||
|
@ -1202,8 +1202,8 @@
|
|||
"eg: @bot:* or example.org": "näiteks: @bot:* või example.org",
|
||||
"Subscribed lists": "Tellitud loendid",
|
||||
"Subscribe": "Telli",
|
||||
"Start automatically after system login": "Käivita automaatselt peale arvutisse sisselogimist",
|
||||
"Always show the window menu bar": "Näita alati aknas menüüriba",
|
||||
"Start automatically after system login": "Käivita Element automaatselt peale arvutisse sisselogimist",
|
||||
"Always show the window menu bar": "Näita aknas alati menüüriba",
|
||||
"Preferences": "Eelistused",
|
||||
"Room list": "Jututubade loend",
|
||||
"Timeline": "Ajajoon",
|
||||
|
@ -3297,5 +3297,53 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s tulemust kõikides kogukonnakeskustes",
|
||||
"You have no ignored users.": "Sa ei ole veel kedagi eiranud.",
|
||||
"Play": "Esita",
|
||||
"Pause": "Peata"
|
||||
"Pause": "Peata",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Kas sa tahaksid katsetada? Sa tutvud meie rakenduse uuendustega teistest varem ja võib-olla isegi saad mõjutada arenduse lõpptulemust. <a>Lisateavet liad siit</a>.",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>See on katseline funktsionaalsus.</b> Seetõttu uued kutse saanud kasutajad peavad tegelikuks liitumiseks avama kutse siin <link/>.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "%(spaceName)s kogukonnakeskusega liitumiseks lülita sisse <a>vastav katseline funktsionaalsus</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "%(spaceName)s kogukonnakeskuse vaatamiseks lülita sisse <a>vastav katseline funktsionaalsus</a>",
|
||||
"Select a room below first": "Esmalt vali alljärgnevast üks jututuba",
|
||||
"Communities are changing to Spaces": "Seniste kogukondade asemele tulevad kogukonnakeskused",
|
||||
"Join the beta": "Hakka kasutama beetaversiooni",
|
||||
"Leave the beta": "Lõpeta beetaversiooni kasutamine",
|
||||
"Beta": "Beetaversioon",
|
||||
"Tap for more info": "Lisateabe jaoks klõpsi",
|
||||
"Spaces is a beta feature": "Kogukonnakeskused on veel katsetamisjärgus funktsionaalsus",
|
||||
"Want to add a new room instead?": "Kas sa selle asemel soovid lisada jututuba?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Lisan jututuba...",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Lisan jututubasid... (%(progress)s/%(count)s)",
|
||||
"Not all selected were added": "Kõiki valituid me ei lisanud",
|
||||
"You can add existing spaces to a space.": "Sa võid kogukonnakeskusele lisada ka teisi kogukonnakeskuseid.",
|
||||
"Feeling experimental?": "Kas sa tahaksid natukene katsetada?",
|
||||
"You are not allowed to view this server's rooms list": "Sul puuduvad õigused selle serveri jututubade loendi vaatamiseks",
|
||||
"Error processing voice message": "Viga häälsõnumi töötlemisel",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Me ei suutnud sinu seadmest leida mikrofoni. Palun kontrolli seadistusi ja proovi siis uuesti.",
|
||||
"No microphone found": "Mikrofoni ei leidu",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Meil puudub ligipääs sinu mikrofonile. Palun kontrolli oma veebibrauseri seadistusi ja proovi uuesti.",
|
||||
"Unable to access your microphone": "Puudub ligipääs mikrofonile",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Sinu pääsuluba annab täismahulise ligipääsu sinu kasutajakontole. Palun ära jaga seda teistega.",
|
||||
"Access Token": "Pääsuluba",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Kogukonnakeskused on uus viis inimeste ja jututubade ühendamiseks. Kogukonnakeskusega liitumiseks vajad sa kutset.",
|
||||
"Please enter a name for the space": "Palun sisesta kogukonnakeskuse nimi",
|
||||
"Connecting": "Kõne on ühendamisel",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Kasuta võrdõigusvõrku 1:1 kõnede jaoks (kui sa P2P-võrgu sisse lülitad, siis teine osapool ilmselt näeb sinu IP-aadressi)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Rakenduse beetaversioon on saadaval veebirakendusena, töölauarakendusena ja Androidi jaoks. Kõik funtsionaalsused ei pruugi sinu koduserveri poolt olla toetatud.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Sa võid beetaversiooni kasutamise lõpetada niipea, kui tahad. Selleks klõpsi beeta-silti, mida näed siin samas ülal.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "Käivitame %(brand)s uuesti nii, et kogukonnakeskused on kasutusel. Vana tüüpi kogukonnad ja kohandatud sildid on siis välja lülitatud.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Käivitame %(brand)s uuesti nii, et kogukonnakeskused ei ole kasutusel. Vana tüüpi kogukonnad ja kohandatud sildid saavad jälle olema kasutusel.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Rakenduse beetaversioon on saadaval veebirakendusena, töölauarakendusena ja Androidi jaoks. Tänud, et oled huviline katsetama meie rakendust.",
|
||||
"Spaces are a new way to group rooms and people.": "Kogukonnakeskused on uus viis jututubade ja inimeste ühendamiseks.",
|
||||
"Spaces are a beta feature.": "Kogukonnakeskused on veel katsetamisjärgus funktsionaalsus.",
|
||||
"Search names and descriptions": "Otsi nimede ja kirjelduste seast",
|
||||
"You may contact me if you have any follow up questions": "Kui sul on lisaküsimusi, siis vastan neile hea meelega",
|
||||
"To leave the beta, visit your settings.": "Beetaversiooni saad välja lülitada rakenduse seadistustest.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Lisame sinu kommentaaridele ka kasutajanime ja operatsioonisüsteemi.",
|
||||
"%(featureName)s beta feedback": "%(featureName)s testversiooni tagasiside",
|
||||
"Thank you for your feedback, we really appreciate it.": "Täname sind nende kommentaaride eest.",
|
||||
"Beta feedback": "Tagasiside testversioonile",
|
||||
"Add reaction": "Lisa reaktsioon",
|
||||
"Send and receive voice messages": "Saada ja võta vastu häälsõnumeid",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Sinu tagasiside aitab teha kogukonnakeskuseid paremaks. Mida detailsemalt sa oma arvamust kirjeldad, seda parem.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Kui sa lahkud, siis käivitame %(brand)s uuesti nii, et kogukonnakeskused ei ole kasutusel. Vana tüüpi kogukonnad ja kohandatud sildid saavad jälle olema kasutusel.",
|
||||
"Message search initialisation failed": "Sõnumite otsingu alustamine ei õnnestunud"
|
||||
}
|
||||
|
|
|
@ -632,5 +632,31 @@
|
|||
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "هرگاه این صفحه شامل اطلاعات قابل شناسایی مانند شناسهی اتاق ، کاربر یا گروه باشد ، این دادهها قبل از ارسال به سرور حذف می شوند.",
|
||||
"Your user agent": "نماینده کاربری شما",
|
||||
"Whether you're using %(brand)s as an installed Progressive Web App": "این که آیا شما از%(brand)s به عنوان یک PWA استفاده میکنید یا نه",
|
||||
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "این که آیا از ویژگی 'breadcrumbs' (نمایهی کاربری بالای فهرست اتاقها) استفاده میکنید یا خیر"
|
||||
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "این که آیا از ویژگی 'breadcrumbs' (نمایهی کاربری بالای فهرست اتاقها) استفاده میکنید یا خیر",
|
||||
"Use an identity server to invite by email. Manage in Settings.": "برای دعوت از یک سرور هویتسنجی استفاده نمائید. میتوانید این مورد را در تنظیمات پیکربندی نمائید.",
|
||||
"Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "برای دعوت با استفاده از ایمیل از یک سرور هویتسنجی استفاده نمائید. جهت استفاده از سرور هویتسنجی پیشفرض (%(defaultIdentityServerName)s) بر روی ادامه کلیک کنید، وگرنه آن را در بخش تنظیمات پیکربندی نمائید.",
|
||||
"Joins room with given address": "به اتاق با آدرس دادهشده بپیوندید",
|
||||
"WARNING: Session already verified, but keys do NOT MATCH!": "هشدار امنیتی: نشست پیش از این تائید شده، اما کلیدها مطابقت ندارد!",
|
||||
"Session already verified!": "نشست پیش از این تائید شدهاست!",
|
||||
"Unknown (user, session) pair:": "جفت (کاربر، نشست) ناشناخته:",
|
||||
"Verifies a user, session, and pubkey tuple": "یک کاربر، نشست و عبارت کلید عمومی را تائید میکند",
|
||||
"You cannot modify widgets in this room.": "شما امکان تغییر ویجتها در این اتاق را ندارید.",
|
||||
"Please supply a https:// or http:// widget URL": "لطفا نشانی یک ویجت را به پروتکل http:// یا https:// وارد کنید",
|
||||
"Please supply a widget URL or embed code": "لطفا نشانی (URL) ویجت یا یک کد قابل جاسازی (embeded) وارد کنید",
|
||||
"Adds a custom widget by URL to the room": "یک ویجت سفارشی را با استفاده از نشانی (URL) به اتاق اضافه میکند",
|
||||
"Opens the Developer Tools dialog": "پنجرهی ابزار توسعه را باز میکند",
|
||||
"Could not find user in room": "کاربر در اتاق یافت نشد",
|
||||
"Command failed": "دستور موفقیتآمیز نبود",
|
||||
"Define the power level of a user": "سطح قدرت یک کاربر را تعریف کنید",
|
||||
"You are no longer ignoring %(userId)s": "شما دیگر کاربر %(userId)s را نادیده نمیگیرید",
|
||||
"Unignored user": "کاربران نادیده گرفتهنشده",
|
||||
"Stops ignoring a user, showing their messages going forward": "توقف نادیده گرفتن یک کاربر، باعث میشود پیامهای او به شما نمایش داده شود",
|
||||
"You are now ignoring %(userId)s": "شما هماکنون کاربر %(userId)s را نادیده گرفتید",
|
||||
"Ignored user": "کاربران نادیده گرفتهشده",
|
||||
"Ignores a user, hiding their messages from you": "نادیده گرفتن یک کاربر، باعث میشود پیامهای او به شما نمایش داده نشود",
|
||||
"Unbans user with given ID": "رفع تحریم کاربر با شناسهی مذکور",
|
||||
"Bans user with given id": "تحریم کاربر با شناسهی مذکور",
|
||||
"Kicks user with given id": "اخراج کاربر با شناسهی مذکور",
|
||||
"Unrecognised room address:": "آدرس اتاق قابل تشخیص نیست:",
|
||||
"Leave room": "ترک اتاق"
|
||||
}
|
||||
|
|
|
@ -3296,5 +3296,53 @@
|
|||
"Stop the recording": "Arrêter l’enregistrement",
|
||||
"%(count)s results in all spaces|one": "%(count)s résultat dans tous les espaces",
|
||||
"%(count)s results in all spaces|other": "%(count)s résultats dans tous les espaces",
|
||||
"You have no ignored users.": "Vous n’avez ignoré personne."
|
||||
"You have no ignored users.": "Vous n’avez ignoré personne.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Votre jeton d’accès donne un accès intégral à votre compte. Ne le partagez avec personne.",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Ceci est une fonctionnalité expérimentale.</b> Pour l’instant, les nouveaux utilisateurs recevant une invitation devront l’ouvrir sur <link/> pour poursuivre.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Pour rejoindre %(spaceName)s, activez <a>les espaces en bêta</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Pour visualiser %(spaceName)s, activez <a>les espaces en bêta</a>",
|
||||
"Select a room below first": "Sélectionnez un salon ci-dessous d’abord",
|
||||
"Communities are changing to Spaces": "Les communautés deviennent des espaces",
|
||||
"Join the beta": "Rejoindre la bêta",
|
||||
"Leave the beta": "Quitter la bêta",
|
||||
"Beta": "Bêta",
|
||||
"Tap for more info": "Appuyez pour plus d’information",
|
||||
"Spaces is a beta feature": "Les espaces sont une fonctionnalité en bêta",
|
||||
"Want to add a new room instead?": "Voulez-vous plutôt ajouter un nouveau salon ?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Ajout du salon…",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Ajout des salons… (%(progress)s sur %(count)s)",
|
||||
"Not all selected were added": "Toute la sélection n’a pas été ajoutée",
|
||||
"You can add existing spaces to a space.": "Vous pouvez ajouter des espaces existants à un espace.",
|
||||
"Feeling experimental?": "L’esprit aventurier ?",
|
||||
"You are not allowed to view this server's rooms list": "Vous n’avez pas l’autorisation d’accéder à la liste des salons de ce serveur",
|
||||
"Error processing voice message": "Erreur lors du traitement du message vocal",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Nous n’avons pas détecté de microphone sur votre appareil. Merci de vérifier vos paramètres et de réessayer.",
|
||||
"No microphone found": "Aucun microphone détecté",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Nous n’avons pas pu accéder à votre microphone. Merci de vérifier les paramètres de votre navigateur et de réessayer.",
|
||||
"Unable to access your microphone": "Impossible d’accéder à votre microphone",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "L’esprit aventurier ? Les fonctionnalités expérimentales vous permettent de tester les nouveautés et aider à les polir avant leur lancement. <a>En apprendre plus</a>.",
|
||||
"Access Token": "Jeton d’accès",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Les espaces sont un nouveau moyen de grouper les salons et les personnes. Une invitation est nécessaire pour rejoindre un espace existant.",
|
||||
"Please enter a name for the space": "Veuillez renseigner un nom pour l’espace",
|
||||
"Connecting": "Connexion",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Autoriser le pair-à-pair (p2p) pour les appels individuels (si activé, votre correspondant pourra voir votre adresse IP)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Bêta disponible pour l’application web, de bureau et Android. Certains fonctionnalités pourraient ne pas être disponibles sur votre serveur d’accueil.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Vous pouvez quitter la bêta n’importe quand à partir des paramètres, ou en appuyant sur le badge bêta comme celui ci-dessus.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s va être redémarré avec les espaces activés. Les communautés et les étiquettes personnalisées seront cachés.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Bêta disponible pour l’application web, de bureau et Android. Merci d’essayer la bêta.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s va être redémarré avec les espaces désactivés. Les communautés et les étiquettes personnalisées seront de nouveau visibles.",
|
||||
"Spaces are a new way to group rooms and people.": "Les espaces sont un nouveau moyen de regrouper les salons et les personnes.",
|
||||
"Message search initialisation failed": "Échec de l’initialisation de la recherche de message",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Vos commentaires aideront à améliorer les espaces. N’hésitez pas à entrer dans les détails.",
|
||||
"%(featureName)s beta feedback": "Commentaires sur la bêta de %(featureName)s",
|
||||
"Thank you for your feedback, we really appreciate it.": "Merci pour vos commentaires, nous en sommes vraiment reconnaissants.",
|
||||
"Beta feedback": "Commentaires sur la bêta",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Si vous quittez, %(brand)s sera rechargé avec les espaces désactivés. Les communautés et les étiquettes personnalisées seront à nouveau visibles.",
|
||||
"Spaces are a beta feature.": "Les espaces sont une fonctionnalité en bêta.",
|
||||
"Search names and descriptions": "Rechercher par nom et description",
|
||||
"You may contact me if you have any follow up questions": "Vous pouvez me contacter si vous avez des questions par la suite",
|
||||
"To leave the beta, visit your settings.": "Pour quitter la bêta, consultez les paramètres.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Votre plateforme et nom d’utilisateur seront consignés pour nous aider à tirer le maximum de vos retours.",
|
||||
"Add reaction": "Ajouter une réaction",
|
||||
"Send and receive voice messages": "Envoyer et recevoir des messages vocaux"
|
||||
}
|
||||
|
|
|
@ -3319,5 +3319,53 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s resultados en tódolos espazos",
|
||||
"You have no ignored users.": "Non tes usuarias ignoradas.",
|
||||
"Play": "Reproducir",
|
||||
"Pause": "Deter"
|
||||
"Pause": "Deter",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Esta é unha característica experimental.</b> Por agora as novas usuarias convidadas deberán abrir o convite en <link/> para poder unirse.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Para unirte a %(spaceName)s, activa a <a>beta de Espazos</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Para ver %(spaceName)s, cambia á <a>beta de Espazos</a>",
|
||||
"Select a room below first": "Primeiro elixe embaixo unha sala",
|
||||
"Communities are changing to Spaces": "Comunidades cambia a Espazos",
|
||||
"Join the beta": "Unirse á beta",
|
||||
"Leave the beta": "Saír da beta",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Toca para ter máis información",
|
||||
"Spaces is a beta feature": "Espazos é unha característica en beta",
|
||||
"Want to add a new room instead?": "Queres engadir unha nova sala?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Engadindo sala...",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Engadindo salas... (%(progress)s de %(count)s)",
|
||||
"Not all selected were added": "Non se engadiron tódolos seleccionados",
|
||||
"You can add existing spaces to a space.": "Podes engadir espazos existentes a un espazo.",
|
||||
"Feeling experimental?": "Sínteste aventureira?",
|
||||
"You are not allowed to view this server's rooms list": "Non tes permiso para ver a lista de salas deste servidor",
|
||||
"Error processing voice message": "Erro ao procesar a mensaxe de voz",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Non atopamos ningún micrófono no teu dispositivo. Comproba os axustes e proba outra vez.",
|
||||
"No microphone found": "Non atopamos ningún micrófono",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Non puidemos acceder ao teu micrófono. Comproba os axustes do navegador e proba outra vez.",
|
||||
"Unable to access your microphone": "Non se puido acceder ao micrófono",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Gañas de experimentar? Labs é o mellor xeito para un acceso temperá e probar novas funcións e axudar a melloralas antes de ser publicadas. <a>Coñece máis</a>.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "O teu token de acceso da acceso completo á túa conta. Non o compartas con ninguén.",
|
||||
"Access Token": "Token de acceso",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Espazos é un novo xeito de agrupar salas e persoas. Precisas un convite para unirte a un espazo existente.",
|
||||
"Please enter a name for the space": "Escribe un nome para o espazo",
|
||||
"Connecting": "Conectando",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Permitir Peer-to-Peer en chamadas 1:1 (se activas isto a outra parte podería coñecer o teu enderezo IP)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Beta dispoñible para web, escritorio e Android. Algunhas características poderían non estar dispoñibles no teu servidor de inicio.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Podes saír da beta desde os axustes cando queiras ou tocando na insignia beta, como a superior.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s cargará con Espazos activado. Comunidades e etiquetas personais estarán agochadas.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Beta dispoñible para web, escritorio e Android. Grazas por probar a beta.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s volverá a cargar con Espazos desactivado. Comunidade e etiquetas personalizadas estarán visibles de volta.",
|
||||
"Spaces are a new way to group rooms and people.": "Espazos é un novo xeito de agrupar salas e persoas.",
|
||||
"Spaces are a beta feature.": "Espazos é unha ferramenta en beta.",
|
||||
"Search names and descriptions": "Buscar nome e descricións",
|
||||
"You may contact me if you have any follow up questions": "Podes contactar conmigo se tes algunha outra suxestión",
|
||||
"To leave the beta, visit your settings.": "Para saír da beta, vai aos axustes.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "A túa plataforma e nome de usuaria serán notificados para axudarnos a utilizar a túa opinión do mellor xeito posible.",
|
||||
"%(featureName)s beta feedback": "Opinión acerca de %(featureName)s beta",
|
||||
"Thank you for your feedback, we really appreciate it.": "Grazas pola túa opinión, realmente apreciámola.",
|
||||
"Beta feedback": "Opinión sobre a beta",
|
||||
"Add reaction": "Engadir reacción",
|
||||
"Send and receive voice messages": "Enviar e recibir mensaxes de voz",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "A túa opinión axudaranos a mellorar os espazos. Canto máis detallada sexa moito mellor para nós.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Se saes, %(brand)s volverá a cargar con Espazos desactivados. Comunidades e etiquetas personais serán visibles outra vez.",
|
||||
"Message search initialisation failed": "Fallou a inicialización da busca de mensaxes"
|
||||
}
|
||||
|
|
|
@ -3314,5 +3314,50 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s találat a terekben",
|
||||
"You have no ignored users.": "Nincs figyelmen kívül hagyott felhasználó.",
|
||||
"Play": "Lejátszás",
|
||||
"Pause": "Szünet"
|
||||
"Pause": "Szünet",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Ez egy kísérleti funkció</b> Egyenlőre az a felhasználó aki meghívót kap a meghívóban lévő <link/> linkre kattintva tud csatlakozni.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "A csatlakozáshoz ide: %(spaceName)s először kapcsolja be a <a>béta Tereket</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "A %(spaceName)s megjelenítéséhez először kapcsolja be a <a>béta Tereket</a>",
|
||||
"Select a room below first": "Először válasszon ki szobát alulról",
|
||||
"Communities are changing to Spaces": "A közösségek Terek lesznek",
|
||||
"Join the beta": "Csatlakozás béta lehetőségekhez",
|
||||
"Leave the beta": "Béta kikapcsolása",
|
||||
"Beta": "Béta",
|
||||
"Tap for more info": "Koppints további információért",
|
||||
"Spaces is a beta feature": "A terek béta állapotban van",
|
||||
"Want to add a new room instead?": "Inkább új szobát adna hozzá?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Szobák hozzáadása…",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Szobák hozzáadása… (%(progress)s ennyiből: %(count)s)",
|
||||
"Not all selected were added": "Nem az összes kijelölt lett hozzáadva",
|
||||
"You can add existing spaces to a space.": "Létező tereket adhat a térhez.",
|
||||
"Feeling experimental?": "Kísérletezni szeretne?",
|
||||
"You are not allowed to view this server's rooms list": "Nincs joga ennek a szervernek a szobalistáját megnézni",
|
||||
"Error processing voice message": "Hiba a hangüzenet feldolgozásánál",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Nem található mikrofon. Ellenőrizze a beállításokat és próbálja újra.",
|
||||
"No microphone found": "Nem található mikrofon",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Nem lehet a mikrofont használni. Ellenőrizze a böngésző beállításait és próbálja újra.",
|
||||
"Unable to access your microphone": "A mikrofont nem lehet használni",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Kedve van kísérletezni? Labs az a hely ahol először hozzá lehet jutni az új dolgokhoz, kipróbálni új lehetőségeket és segíteni a fejlődésüket mielőtt mindenkihez eljut. <a>Tudj meg többet</a>.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "A hozzáférési kulcs teljes elérést biztosít a fiókhoz. Soha ne ossza meg mással.",
|
||||
"Access Token": "Elérési kulcs",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "A terek egy új lehetőség a szobák és emberek csoportosításához. Létező térhez meghívóval lehet csatlakozni.",
|
||||
"Please enter a name for the space": "Kérem adjon meg egy nevet a térhez",
|
||||
"Connecting": "Kapcsolás",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Közvetlen hívás engedélyezése két fél között (ha ezt engedélyezi a másik fél láthatja az ön IP címét)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Béta verzió elérhető webre, asztali kliensre és Androidra. Bizonyos funkciók lehet, hogy nem elérhetők a matrix szerverén.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Bármikor elhagyhatja a béta változatot a beállításokban vagy a béta kitűzőre koppintva, mint alább.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s a Terekkel lesz újra betöltve. A közösségek és egyedi címkék rejtve maradnak.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Béta verzió elérhető webre, asztali kliensre és Androidra. Köszönjük, hogy kipróbálja.",
|
||||
"Spaces are a new way to group rooms and people.": "Szobák és emberek csoportosításának új lehetősége a Terek használata.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s a Terek nélkül lesz újra betöltve. A közösségek és egyedi címkék újra megjelennek.",
|
||||
"To leave the beta, visit your settings.": "A beállításokban tudja elhagyni a bétát.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "A platform és a felhasználói neve felhasználásra kerül ami segít nekünk a visszajelzést minél jobban felhasználni.",
|
||||
"%(featureName)s beta feedback": "%(featureName)s béta visszajelzés",
|
||||
"Thank you for your feedback, we really appreciate it.": "Köszönjük a visszajelzését, ezt nagyra értékeljük.",
|
||||
"Beta feedback": "Béta visszajelzés",
|
||||
"Add reaction": "Reakció hozzáadása",
|
||||
"Send and receive voice messages": "Hangüzenet küldése, fogadása",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "A visszajelzése segítség a terek javításához. Minél részletesebb annál jobb.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Távozás után %(brand)s Terek nélkül lesz újra betöltve. A közösségek és egyedi címkék újra megjelennek.",
|
||||
"Message search initialisation failed": "Üzenet keresés beállítása sikertelen"
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
"Attachment": "Viðhengi",
|
||||
"Hangup": "Leggja á",
|
||||
"Voice call": "Raddsamtal",
|
||||
"Video call": "_Myndsímtal",
|
||||
"Video call": "Myndsímtal",
|
||||
"Upload file": "Hlaða inn skrá",
|
||||
"Send an encrypted message…": "Senda dulrituð skilaboð…",
|
||||
"You do not have permission to post to this room": "Þú hefur ekki heimild til að senda skilaboð á þessa spjallrás",
|
||||
|
@ -198,7 +198,7 @@
|
|||
"Today": "Í dag",
|
||||
"Yesterday": "Í gær",
|
||||
"Error decrypting attachment": "Villa við afkóðun viðhengis",
|
||||
"Copied!": "Afritað",
|
||||
"Copied!": "Afritað!",
|
||||
"Custom Server Options": "Sérsniðnir valkostir vefþjóns",
|
||||
"Dismiss": "Hunsa",
|
||||
"Please check your email to continue registration.": "Skoðaðu tölvupóstinn þinn til að geta haldið áfram með skráningu.",
|
||||
|
@ -460,5 +460,261 @@
|
|||
"Create Account": "Stofna Reikning",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "vinsamlegast setja upp <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, eða <safariLink>Safari</safariLink> fyrir besta reynsluna.",
|
||||
"Explore rooms": "Kanna herbergi",
|
||||
"Sign In": "Skrá inn"
|
||||
"Sign In": "Skrá inn",
|
||||
"The user's homeserver does not support the version of the room.": "Heimaþjónn notandans styður ekki útgáfu herbergis.",
|
||||
"The user must be unbanned before they can be invited.": "Notandinn þarf að vera afbannaður áður en að hægt er að bjóða þeim.",
|
||||
"User %(user_id)s may or may not exist": "Notandi %(user_id)s gæti verið til",
|
||||
"User %(user_id)s does not exist": "Notandi %(user_id)s er ekki til",
|
||||
"User %(userId)s is already in the room": "Notandi %(userId)s er nú þegar í herberginu",
|
||||
"You do not have permission to invite people to this room.": "Þú hefur ekki heimild til að bjóða fólk í þessa spjallrás.",
|
||||
"Leave Room": "Fara af Spjallrás",
|
||||
"Add room": "Bæta við herbergi",
|
||||
"Use a more compact ‘Modern’ layout": "Nota þéttara ‘nútímalegt’ skipulag",
|
||||
"Switch to dark mode": "Skiptu yfir í dökkstillingu",
|
||||
"Switch to light mode": "Skiptu yfir í ljósstillingu",
|
||||
"Modify widgets": "Breyta viðmótshluta",
|
||||
"Room Info": "Herbergis upplýsingar",
|
||||
"Room information": "Upplýsingar um herbergi",
|
||||
"Room options": "Herbergisvalkostir",
|
||||
"Invite People": "Bjóða Fólki",
|
||||
"Invite people": "Bjóða fólki",
|
||||
"%(count)s people|other": "%(count)s manns",
|
||||
"%(count)s people|one": "%(count)s manneskja",
|
||||
"People": "Fólk",
|
||||
"Finland": "Finnland",
|
||||
"Norway": "Noreg",
|
||||
"Denmark": "Danmörk",
|
||||
"Iceland": "Ísland",
|
||||
"Mentions & Keywords": "Nefnir og stikkorð",
|
||||
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Ef þú hættir við núna geturðu tapað dulkóðuðum skilaboðum og gögnum ef þú missir aðgang að innskráningum þínum.",
|
||||
"Your server admin has disabled end-to-end encryption by default in private rooms & Direct Messages.": "Heimaþjónastjórnandi þinn hefur lokað á sjálfkrafa dulkóðun í einkaherbergjum og beinskilaboðum.",
|
||||
"You can’t disable this later. Bridges & most bots won’t work yet.": "Þú getur ekki gert þetta óvirkt síðar. Brýr og flest vélmenni virka ekki ennþá.",
|
||||
"Travel & Places": "Ferðalög og staðir",
|
||||
"Food & Drink": "Mat og drykkur",
|
||||
"Animals & Nature": "Dýr og náttúra",
|
||||
"Smileys & People": "Broskarlar og fólk",
|
||||
"Voice & Video": "Rödd og myndband",
|
||||
"Roles & Permissions": "Hlutverk og heimildir",
|
||||
"Help & About": "Hjálp og um",
|
||||
"Reject & Ignore user": "Hafna og hunsa notanda",
|
||||
"Security & privacy": "Öryggi og einkalíf",
|
||||
"Security & Privacy": "Öryggi & Einkalíf",
|
||||
"Feedback sent": "Endurgjöf sent",
|
||||
"Send feedback": "Senda endurgjöf",
|
||||
"Feedback": "Endurgjöf",
|
||||
"%(featureName)s beta feedback": "%(featureName)s beta endurgjöf",
|
||||
"Thank you for your feedback, we really appreciate it.": "Þakka þér fyrir athugasemdir þínar.",
|
||||
"Beta feedback": "Beta endurgjöf",
|
||||
"All settings": "Allar stillingar",
|
||||
"Notification settings": "Tilkynningarstillingar",
|
||||
"Change notification settings": "Breytta tilkynningastillingum",
|
||||
"You can't send any messages until you review and agree to <consentLink>our terms and conditions</consentLink>.": "Þú getur ekki sent nein skilaboð fyrr en þú hefur farið yfir og samþykkir <consentLink>skilmála okkar</consentLink>.",
|
||||
"Send a Direct Message": "Senda beinskilaboð",
|
||||
"Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Tilkynning um þessi skilaboð mun senda einstakt 'atburðarauðkenni' til stjórnanda heimaþjónns. Ef skilaboð í þessu herbergi eru dulkóðuð getur stjórnandi heimaþjónns ekki lesið skilaboðatextann eða skoðað skrár eða myndir.",
|
||||
"Send a message…": "Senda skilaboð…",
|
||||
"Send message": "Senda skilaboð",
|
||||
"Sending your message...": "Er að senda skilaboð þitt...",
|
||||
"Send as message": "Senda sem skilaboð",
|
||||
"You can use <code>/help</code> to list available commands. Did you mean to send this as a message?": "Þú getur notað <code>/help</code> til að lista tilteknar skipanir. Ætlaðir þú að senda þetta sem skilaboð?",
|
||||
"Send messages": "Senda skilaboð",
|
||||
"Sends the given message with snowfall": "Sendir skilaboðið með snjókomu",
|
||||
"Sends the given message with fireworks": "Sendir skilaboðið með flugeldum",
|
||||
"Sends the given message with confetti": "Sendir skilaboðið með skrauti",
|
||||
"Never send encrypted messages to unverified sessions in this room from this session": "Aldrei senda dulrituð skilaboð af þessu tæki til ósannvottaðra tækja í þessu herbergi",
|
||||
"Never send encrypted messages to unverified sessions from this session": "Aldrei senda dulrituð skilaboð af þessu tæki til ósannvottaðra tækja",
|
||||
"Use Ctrl + Enter to send a message": "Notaðu Ctrl + Enter til að senda skilaboð",
|
||||
"Use Command + Enter to send a message": "Notaðu Command + Enter til að senda skilaboð",
|
||||
"Jump to the bottom of the timeline when you send a message": "Hoppaðu neðst á tímalínunni þegar þú sendir skilaboð",
|
||||
"Send and receive voice messages": "Senda og taka á móti talskilaboðum",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"Send <b>%(msgtype)s</b> messages as you in your active room": "Senda <b>%(msgtype)s</b> skilaboð sem þú í virka herbergi þínu",
|
||||
"Send <b>%(msgtype)s</b> messages as you in this room": "Senda <b>%(msgtype)s</b> skilaboð sem þú í þessu herbergi",
|
||||
"Send text messages as you in your active room": "Senda texta skilaboð sem þú í virku herbergi þínu",
|
||||
"Send text messages as you in this room": "Senda texta skilaboð sem þú í þessu herbergi",
|
||||
"Send messages as you in your active room": "Senda skilaboð sem þú í virku herbergi þínu",
|
||||
"Send messages as you in this room": "Senda skilaboð sem þú í þessu herbergi",
|
||||
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s breytti föstum skilaboðum fyrir herbergið.",
|
||||
"Sends a message to the given user": "Sendir skilaboð til viðkomandi notanda",
|
||||
"Sends the given message coloured as a rainbow": "Sendir gefið skilaboð litað sem regnbogi",
|
||||
"Sends a message as html, without interpreting it as markdown": "Sendir skilaboð sem html, án þess að túlka það sem markdown",
|
||||
"Sends a message as plain text, without interpreting it as markdown": "Sendir skilaboð sem óbreyttur texti án þess að túlka það sem markdown",
|
||||
"Sends the given message as a spoiler": "Sendir skilaboðið sem spoiler",
|
||||
"No need for symbols, digits, or uppercase letters": "Engin þörf á táknum, tölustöfum, eða hástöfum",
|
||||
"Use a few words, avoid common phrases": "Notaðu nokkur orð. Forðastu algengar setningar",
|
||||
"Unknown server error": "Óþekkt villa á þjóni",
|
||||
"Message deleted by %(name)s": "Skilaboð eytt af %(name)s",
|
||||
"Message deleted": "Skilaboð eytt",
|
||||
"Room list": "Herbergislisti",
|
||||
"Subscribed lists": "Skráðir listar",
|
||||
"eg: @bot:* or example.org": "t.d.: @vélmenni:* eða dæmi.is",
|
||||
"Personal ban list": "Persónulegur bann listi",
|
||||
"⚠ These settings are meant for advanced users.": "⚠ Þessar stillingar eru ætlaðar fyrir háþróaða notendur.",
|
||||
"Ignored users": "Hunsaðir notendur",
|
||||
"You are currently subscribed to:": "Þú ert skráður til:",
|
||||
"View rules": "Skoða reglur",
|
||||
"You are not subscribed to any lists": "Þú ert ekki skráður fyrir neina lista",
|
||||
"You are currently ignoring:": "Þú ert að hunsa:",
|
||||
"You have not ignored anyone.": "Þú hefur ekki hunsað nein.",
|
||||
"User rules": "Reglur notanda",
|
||||
"Server rules": "Reglur netþjóns",
|
||||
"Please try again or view your console for hints.": "Vinsamlegast reyndu aftur eða skoðaðu framkvæmdaraðilaatvikuskrá þína fyrir vísbendingar.",
|
||||
"Error unsubscribing from list": "Galli við að afskrá frá lista",
|
||||
"Error removing ignored user/server": "Villa við að fjarlægja hunsaða notanda/netþjón",
|
||||
"Use the <a>Desktop app</a> to search encrypted messages": "Notaðu <a>tölvuforritið</a> til að sía dulkóðuð skilaboð",
|
||||
"Use the <a>Desktop app</a> to see all encrypted files": "Notaðu <a>tölvuforritið</a> til að sjá öll dulkóðuð gögn",
|
||||
"Not encrypted": "Ekki dulkóðað",
|
||||
"Encrypted by a deleted session": "Dulkóðað af eyddu tæki",
|
||||
"Encrypted by an unverified session": "Dulkóðað af ósannreynu tæki",
|
||||
"Enable message search in encrypted rooms": "Virka skilaboðleit í dulkóðuð herbergjum",
|
||||
"This room is end-to-end encrypted": "Þetta herbergi er enda-til-enda dulkóðað",
|
||||
"Unencrypted": "Ódulkóðað",
|
||||
"Messages in this room are end-to-end encrypted.": "Skilaboð í þessu herbergi eru enda-til-enda dulkóðuð.",
|
||||
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Hreinsun geymslu vafrans gæti lagað vandamálið en mun skrá þig út og valda því að dulkóðaður spjallferil sé ólæsilegur.",
|
||||
"Send an encrypted reply…": "Senda dulritað svar…",
|
||||
"Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. <a>Learn more about encryption.</a>": "Þegar hún er gerð virk er ekki hægt að óvirka dulkóðun. Skilaboð í dulkóðuðu herbergi geta ekki verið séð af netþjóni en bara af þátttakendum í herberginu. Virkun dulkóðuns gæti komið í veg fyrir að vélmenni og brúr virki rétt. <a>Lærðu meira um dulkóðun.</a>",
|
||||
"Once enabled, encryption cannot be disabled.": "Þegar kveikt er á dulkóðun er ekki hægt að slökkva á henni.",
|
||||
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "Í dulkóðuðum herbergjum eins og þetta er slökkt á forskoðun vefslóða sjálfgefið til að tryggja að heimaþjónn þinn (þar sem forsýningin myndast) geti ekki safnað upplýsingum um tengla sem þú sérð í þessu herbergi.",
|
||||
"URL Previews": "Forskoðun Vefslóða",
|
||||
"URL previews are disabled by default for participants in this room.": "Forskoðun vefslóða er ekki sjálfgefið fyrir þátttakendur í þessu herbergi.",
|
||||
"URL previews are enabled by default for participants in this room.": "Forskoðun vefslóða er sjálfgefið fyrir þátttakendur í þessu herbergi.",
|
||||
"You have <a>disabled</a> URL previews by default.": "Þú hefur <a>óvirkt</a> forskoðun vefslóða sjálfgefið.",
|
||||
"You have <a>enabled</a> URL previews by default.": "Þú hefur <a>virkt</a> forskoðun vefslóða sjálfgefið.",
|
||||
"Enable URL previews by default for participants in this room": "Virkja forskoðun vefslóða sjálfgefið fyrir þátttakendur í þessu herbergi",
|
||||
"Enable URL previews for this room (only affects you)": "Virkja forskoðun vefslóða fyrir þetta herbergi (einungis fyrir þig)",
|
||||
"Room settings": "Herbergisstillingar",
|
||||
"Room Settings - %(roomName)s": "Herbergisstillingar - %(roomName)s",
|
||||
"Pinned Messages": "Föst Skilaboð",
|
||||
"No pinned messages.": "Engin föst skilaboð.",
|
||||
"This is the beginning of your direct message history with <displayName/>.": "Þetta er upphaf beinna skilaboðasögu með <displayName/>.",
|
||||
"Recently Direct Messaged": "Nýlega Fékk Bein Skilaboð",
|
||||
"Direct Messages": "Bein skilaboð",
|
||||
"Direct message": "Beint skilaboð",
|
||||
"Frequently Used": "Oft notað",
|
||||
"Filter all spaces": "Sía öll rými",
|
||||
"Filter your rooms and spaces": "Sía rými og herbergin þín",
|
||||
"Filter rooms and people": "Sía fólk og herbergi",
|
||||
"Filter": "Sía",
|
||||
"Your Security Key is in your <b>Downloads</b> folder.": "Öryggislykillinn þinn er <b>Niðurhals</b> möppu þinni.",
|
||||
"Download logs": "Niðurhal atvikaskrá",
|
||||
"Preparing to download logs": "Undirbý niðurhal atvikaskráa",
|
||||
"Downloading logs": "Er að niðurhala atvikaskrá",
|
||||
"Error downloading theme information.": "Villa við að niðurhala þemaupplýsingum.",
|
||||
"Message downloading sleep time(ms)": "Skilaboða niðurhal svefn tími(ms)",
|
||||
"How fast should messages be downloaded.": "Hve hratt ætti að hlaða niður skilaboðum.",
|
||||
"Download %(text)s": "Niðurhala %(text)s",
|
||||
"Share Link to User": "Deila Hlekk að Notanda",
|
||||
"You have verified this user. This user has verified all of their sessions.": "Þú hefur sannreynt þennan notanda. Þessi notandi hefur sannreynt öll tæki þeirra.",
|
||||
"This user has not verified all of their sessions.": "Þessi notandi hefur ekki sannreynt öll tæki þeirra.",
|
||||
"%(count)s verified sessions|one": "1 sannreynt tæki",
|
||||
"%(count)s verified sessions|other": "%(count)s sannreyn tæki",
|
||||
"Hide verified sessions": "Fela sannreyn tæki",
|
||||
"Remove recent messages": "Fjarlægja nýleg skilaboð",
|
||||
"Remove recent messages by %(user)s": "Fjarlægja nýleg skilaboð af %(user)s",
|
||||
"Messages in this room are not end-to-end encrypted.": "Skilaboð í þessu herbergi eru ekki enda-til-enda dulkóðuð.",
|
||||
"Who would you like to add to this community?": "Hvern viltu bæta við í þetta samfélagi?",
|
||||
"You cannot place a call with yourself.": "Þú getur ekki byrjað símtal með sjálfum þér.",
|
||||
"You cannot place VoIP calls in this browser.": "Þú getur ekki byrjað netsímtal (VoIP) köll í þessum vafra.",
|
||||
"Call Failed": "Símtal Mistókst",
|
||||
"Every page you use in the app": "Sérhver síða sem þú notar í forritinu",
|
||||
"Which officially provided instance you are using, if any": "Hvaða opinberlega veittan heimaþjón sem þú notar, ef einhvern",
|
||||
"Whether or not you're logged in (we don't record your username)": "Hvort sem þú ert skráð(ur) inn (við skráum ekki notendanafnið þitt)",
|
||||
"Add Phone Number": "Bæta Við Símanúmeri",
|
||||
"Click the button below to confirm adding this phone number.": "Smelltu á hnappinn hér að neðan til að staðfesta að bæta við þessu símanúmeri.",
|
||||
"Confirm adding phone number": "Staðfestu að bæta við símanúmeri",
|
||||
"Add Email Address": "Bæta Við Tölvupóstfangi",
|
||||
"Click the button below to confirm adding this email address.": "Smelltu á hnappinn hér að neðan til að staðfesta að bæta við þessu netfangi.",
|
||||
"Confirm adding email": "Staðfestu að bæta við tölvupósti",
|
||||
"Upgrade": "Uppfæra",
|
||||
"Verify": "Sannreyna",
|
||||
"Security": "Öryggi",
|
||||
"Trusted": "Traustað",
|
||||
"Subscribe": "Skrá",
|
||||
"Unsubscribe": "Afskrá",
|
||||
"None": "Ekkert",
|
||||
"Ignored/Blocked": "Hunsað/Hindrað",
|
||||
"Trust": "Treysta",
|
||||
"Flags": "Fánar",
|
||||
"Symbols": "Tákn",
|
||||
"Objects": "Hlutir",
|
||||
"Activities": "Starfsemi",
|
||||
"Document": "Skjal",
|
||||
"Complete": "Búið",
|
||||
"View": "Skoða",
|
||||
"Preview": "Forskoðun",
|
||||
"Strikethrough": "Yfirstrikletrað",
|
||||
"Italics": "Skáletrað",
|
||||
"Bold": "Feitletrað",
|
||||
"ID": "Auðkenni (ID)",
|
||||
"Disconnect": "Aftengja",
|
||||
"Share": "Deila",
|
||||
"Revoke": "Afturkalla",
|
||||
"Discovery": "Uppgötvun",
|
||||
"Actions": "Aðgerðir",
|
||||
"Messages": "Skilaboð",
|
||||
"Summary": "Yfirlit",
|
||||
"Service": "Þjónusta",
|
||||
"Removing…": "Er að fjarlægja…",
|
||||
"Browse": "Skoða",
|
||||
"Reset": "Endursetja",
|
||||
"Sounds": "Hljóð",
|
||||
"edited": "breytt",
|
||||
"Re-join": "Taka þátt aftur",
|
||||
"Banana": "Banani",
|
||||
"Fire": "Eldur",
|
||||
"Cloud": "Ský",
|
||||
"Moon": "Tungl",
|
||||
"Globe": "Heiminn",
|
||||
"Mushroom": "Sveppur",
|
||||
"Cactus": "Kaktus",
|
||||
"Tree": "Tré",
|
||||
"Flower": "Blóm",
|
||||
"Butterfly": "Fiðrildi",
|
||||
"Octopus": "Kolkrabbi",
|
||||
"Fish": "Fiskur",
|
||||
"Turtle": "Skjaldbaka",
|
||||
"Penguin": "Mörgæs",
|
||||
"Rooster": "Hani",
|
||||
"Panda": "Pandabjörn",
|
||||
"Rabbit": "Kanína",
|
||||
"Elephant": "Fíll",
|
||||
"Pig": "Svín",
|
||||
"Unicorn": "Einhyrningur",
|
||||
"Horse": "Hestur",
|
||||
"Lion": "Ljón",
|
||||
"Cat": "Köttur",
|
||||
"Dog": "Hundur",
|
||||
"Guest": "Gestur",
|
||||
"Other": "Annað",
|
||||
"Confirm": "Staðfesta",
|
||||
"Username": "Notandanafn",
|
||||
"Join": "Taka þátt",
|
||||
"Encrypted": "Dulkóðað",
|
||||
"Encryption": "Dulkóðun",
|
||||
"Timeline": "Tímalína",
|
||||
"Composer": "Ritari",
|
||||
"Preferences": "Stillingar",
|
||||
"Versions": "Útgáfur",
|
||||
"FAQ": "Algengar spurningar",
|
||||
"Theme": "Þema",
|
||||
"General": "Almennt",
|
||||
"No": "Nei",
|
||||
"Yes": "Já",
|
||||
"Verified!": "Sannreynt!",
|
||||
"Retry": "Reyna aftur",
|
||||
"Download": "Niðurhal",
|
||||
"Next": "Næsta",
|
||||
"Legal": "Löglegt",
|
||||
"Demote": "Leggja til baka",
|
||||
"%(oneUser)sleft %(count)s times|one": "%(oneUser)sfór",
|
||||
"%(severalUsers)sleft %(count)s times|one": "%(severalUsers)sfóru",
|
||||
"%(oneUser)sjoined %(count)s times|one": "%(oneUser)sskráðist",
|
||||
"%(severalUsers)sjoined %(count)s times|one": "%(severalUsers)sskráðust",
|
||||
"Stickerpack": "Límmiða pakki",
|
||||
"Replying": "Svara",
|
||||
"%(duration)sd": "%(duration)sd",
|
||||
"%(duration)sh": "%(duration)sklst",
|
||||
"%(duration)sm": "%(duration)sm",
|
||||
"%(duration)ss": "%(duration)ss",
|
||||
"Emoji picker": "Tjáningartáknmyndvalmynd",
|
||||
"Show less": "Sýna minna"
|
||||
}
|
||||
|
|
|
@ -3319,5 +3319,53 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s risultati in tutti gli spazi",
|
||||
"You have no ignored users.": "Non hai utenti ignorati.",
|
||||
"Play": "Riproduci",
|
||||
"Pause": "Pausa"
|
||||
"Pause": "Pausa",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Questa è una funzione sperimentale.</b> Per ora, i nuovi utenti che ricevono un invito dovranno aprirlo su <link/> per entrare.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Per entrare in %(spaceName)s, attiva la <a>beta degli spazi</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Per vedere %(spaceName)s, attiva la <a>beta degli spazi</a>",
|
||||
"Select a room below first": "Prima seleziona una stanza sotto",
|
||||
"Communities are changing to Spaces": "Le comunità stanno diventando spazi",
|
||||
"Join the beta": "Unisciti alla beta",
|
||||
"Leave the beta": "Abbandona la beta",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Tocca per maggiori info",
|
||||
"Spaces is a beta feature": "Gli spazi sono una funzionalità beta",
|
||||
"Want to add a new room instead?": "Vuoi invece aggiungere una nuova stanza?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Aggiunta stanza...",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Aggiunta stanze... (%(progress)s di %(count)s)",
|
||||
"Not all selected were added": "Non tutti i selezionati sono stati aggiunti",
|
||||
"You can add existing spaces to a space.": "Puoi aggiungere spazi esistenti ad uno spazio.",
|
||||
"Feeling experimental?": "Ti va di sperimentare?",
|
||||
"You are not allowed to view this server's rooms list": "Non hai i permessi per vedere l'elenco di stanze del server",
|
||||
"Error processing voice message": "Errore di elaborazione del vocale",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Non abbiamo trovato un microfono nel tuo dispositivo. Controlla le impostazioni e riprova.",
|
||||
"No microphone found": "Nessun microfono trovato",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Non abbiamo potuto accedere al tuo microfono. Controlla le impostazioni del browser e riprova.",
|
||||
"Unable to access your microphone": "Impossibile accedere al microfono",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Ti va di sperimentare? I laboratori sono il miglior modo di ottenere anteprime, testare nuove funzioni ed aiutare a modellarle prima che vengano pubblicate. <a>Maggiori informazioni</a>.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Il tuo token di accesso ti dà l'accesso al tuo account. Non condividerlo con nessuno.",
|
||||
"Access Token": "Token di accesso",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Gli spazi sono un nuovo modo di raggruppare stanze e persone. Per entrare in uno spazio esistente ti serve un invito.",
|
||||
"Please enter a name for the space": "Inserisci un nome per lo spazio",
|
||||
"Connecting": "In connessione",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Permetti Peer-to-Peer per chiamate 1:1 (se lo attivi, l'altra parte potrebbe essere in grado di vedere il tuo indirizzo IP)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Beta disponibile per web, desktop e Android. Alcune funzioni potrebbero non essere disponibili nel tuo homeserver.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Puoi abbandonare la beta quando vuoi dalle impostazioni o toccando un'etichetta beta, come quella sopra.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s si ricaricherà con gli spazi attivati. Le comunità e le etichette personalizzate saranno nascoste.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Beta disponibile per web, desktop e Android. Grazie per la partecipazione alla beta.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s si ricaricherà con gli spazi disattivati. Le comunità e le etichette personalizzate saranno di nuovo visibili.",
|
||||
"Spaces are a new way to group rooms and people.": "Gli spazi sono un nuovo modo di raggruppare stanze e persone.",
|
||||
"Spaces are a beta feature.": "Gli spazi sono una funzionalità beta.",
|
||||
"Search names and descriptions": "Cerca nomi e descrizioni",
|
||||
"You may contact me if you have any follow up questions": "Potete contattarmi se avete altre domande",
|
||||
"To leave the beta, visit your settings.": "Per abbandonare la beta, vai nelle impostazioni.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Verranno annotate la tua piattaforma e il nome utente per aiutarci ad usare la tua opinione al meglio.",
|
||||
"%(featureName)s beta feedback": "Feedback %(featureName)s beta",
|
||||
"Thank you for your feedback, we really appreciate it.": "Grazie per la tua opinione, lo appreziamo molto.",
|
||||
"Beta feedback": "Feedback beta",
|
||||
"Add reaction": "Aggiungi reazione",
|
||||
"Send and receive voice messages": "Invia e ricevi messaggi vocali",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "La tua opinione aiuterà a migliorare gli spazi. Più dettagli dai, meglio è.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Se esci, %(brand)s si ricaricherà con gli spazi disattivati. Le comunità e le etichette personalizzate saranno di nuovo visibili.",
|
||||
"Message search initialisation failed": "Inizializzazione ricerca messaggi fallita"
|
||||
}
|
||||
|
|
|
@ -629,7 +629,7 @@
|
|||
"ex. @bob:example.com": "例 @bob:example.com",
|
||||
"Add User": "ユーザーを追加",
|
||||
"Matrix ID": "Matirx ID",
|
||||
"Matrix Room ID": "Matrix 部屋ID",
|
||||
"Matrix Room ID": "Matrix 部屋 ID",
|
||||
"email address": "メールアドレス",
|
||||
"You have entered an invalid address.": "無効なアドレスを入力しました。",
|
||||
"Try using one of the following valid address types: %(validTypesList)s.": "次の有効なアドレスタイプのいずれかを使用してください:%(validTypesList)s",
|
||||
|
@ -1212,7 +1212,7 @@
|
|||
"WARNING: Session already verified, but keys do NOT MATCH!": "警告: このセッションは検証済みです、しかし鍵が一致していません!",
|
||||
"WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "警告: 鍵の検証に失敗しました!提供された鍵「%(fingerprint)s」は、%(userId)s およびセッション %(deviceId)s の署名鍵「%(fprint)s」と一致しません。これはつまり、あなたの会話が傍受・盗聴されようとしている恐れがあるということです!",
|
||||
"Show typing notifications": "入力中通知を表示する",
|
||||
"Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "あなたのホームサーバーが対応していない場合は (通話中に自己の IP アドレスが相手に共有されるのを防ぐために) 代替通話支援サーバー turn.matrix.org の使用を許可する",
|
||||
"Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "あなたのホームサーバーが対応していない場合は代替通話支援サーバー turn.matrix.org の使用を許可 (あなたの IP アドレスが通話相手に漏洩するのを防ぎます)",
|
||||
"Your homeserver does not support cross-signing.": "あなたのホームサーバーはクロス署名に対応していません。",
|
||||
"Cross-signing and secret storage are enabled.": "クロス署名および機密ストレージは有効です。",
|
||||
"Reset cross-signing and secret storage": "クロス署名および機密ストレージをリセット",
|
||||
|
@ -2440,7 +2440,7 @@
|
|||
"Create a space": "スペースを作成する",
|
||||
"Delete": "削除",
|
||||
"Jump to the bottom of the timeline when you send a message": "メッセージを送信する際にタイムライン最下部に移動します",
|
||||
"Spaces prototype. Incompatible with Communities, Communities v2 and Custom Tags. Requires compatible homeserver for some features.": "Spacesはプロトタイプです。 コミュニティ、コミュニティv2、カスタムタグとは互換性がありません。 一部の機能には互換性のあるホームサーバーが必要です。",
|
||||
"Spaces prototype. Incompatible with Communities, Communities v2 and Custom Tags. Requires compatible homeserver for some features.": "スペースはプロトタイプです。 コミュニティ、コミュニティv2、カスタムタグとは互換性がありません。 一部の機能には互換性のあるホームサーバーが必要です。",
|
||||
"This homeserver has been blocked by it's administrator.": "このホームサーバーは管理者によりブロックされています。",
|
||||
"This homeserver has been blocked by its administrator.": "このホームサーバーは管理者によりブロックされています。",
|
||||
"You're already in a call with this person.": "あなたは既にこの人と通話中です。",
|
||||
|
@ -2448,5 +2448,34 @@
|
|||
"Invite People": "ユーザーを招待",
|
||||
"Edit devices": "デバイスを編集",
|
||||
"%(count)s messages deleted.|one": "%(count)s 件のメッセージが削除されました。",
|
||||
"%(count)s messages deleted.|other": "%(count)s 件のメッセージが削除されました。"
|
||||
"%(count)s messages deleted.|other": "%(count)s 件のメッセージが削除されました。",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "<a>スペース Beta</a> を有効にすると %(spaceName)s を表示できます",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "1 対 1 の通話で P2P の使用を許可 (有効にするとあなたの IP アドレスが通話相手に漏洩する可能性があります)",
|
||||
"You have no ignored users.": "無視しているユーザーはいません。",
|
||||
"Join the beta": "Beta に参加",
|
||||
"Leave the beta": "Beta を終了",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Beta は、ウェブ、デスクトップ、Android で利用可能です。Beta をお試しいただきありがとうございます。",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "アクセストークンを用いるとあなたのアカウントの全てにアクセスできます。外部に公開しないでください。",
|
||||
"Access Token": "アクセストークン",
|
||||
"Filter all spaces": "全スペースを検索",
|
||||
"Save Changes": "変更を保存",
|
||||
"Edit settings relating to your space.": "スペースの設定を変更します。",
|
||||
"Space settings": "スペースの設定",
|
||||
"Spaces are a beta feature.": "スペースは Beta 機能です。",
|
||||
"Spaces is a beta feature": "スペースは Beta 機能です",
|
||||
"Spaces are a new way to group rooms and people.": "スペースは、部屋や人をグループ化する新しい方法です。",
|
||||
"Spaces": "スペース",
|
||||
"Welcome to <name/>": "ようこそ <name/>",
|
||||
"Invite to just this room": "この部屋に招待",
|
||||
"Invite to %(spaceName)s": "%(spaceName)s に招待",
|
||||
"Quick actions": "クイックアクション",
|
||||
"A private space for you and your teammates": "",
|
||||
"Me and my teammates": "自分とチームメイト",
|
||||
"Just me": "自分専用",
|
||||
"Make sure the right people have access to %(name)s": "必要な人が %(name)s にアクセスできるようにします",
|
||||
"Who are you working with?": "誰が使いますか?",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "タップして詳細を表示",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "スペースは、部屋や人をグループ化する新しい方法です。既存のスペースに参加するには、招待が必要です。",
|
||||
"Check your devices": "デバイスを確認"
|
||||
}
|
||||
|
|
|
@ -1581,5 +1581,6 @@
|
|||
"Failed to set topic": "Neizdevās iestatīt tematu",
|
||||
"Upload files": "Failu augšupielāde",
|
||||
"These files are <b>too large</b> to upload. The file size limit is %(limit)s.": "Šie faili <b>pārsniedz</b> augšupielādes izmēra limitu %(limit)s.",
|
||||
"Upload files (%(current)s of %(total)s)": "Failu augšupielāde (%(current)s no %(total)s)"
|
||||
"Upload files (%(current)s of %(total)s)": "Failu augšupielāde (%(current)s no %(total)s)",
|
||||
"Check your devices": "Pārskatiet savas ierīces"
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"Admin": "Beheerder",
|
||||
"Advanced": "Geavanceerd",
|
||||
"Always show message timestamps": "Altijd tijdstempels van berichten tonen",
|
||||
"Authentication": "Authenticatie",
|
||||
"Authentication": "Login bevestigen",
|
||||
"%(items)s and %(lastItem)s": "%(items)s en %(lastItem)s",
|
||||
"and %(count)s others...|other": "en %(count)s anderen…",
|
||||
"and %(count)s others...|one": "en één andere…",
|
||||
|
@ -59,7 +59,7 @@
|
|||
"Close": "Sluiten",
|
||||
"Create new room": "Nieuw gesprek aanmaken",
|
||||
"Custom Server Options": "Aangepaste serverinstellingen",
|
||||
"Dismiss": "Afwijzen",
|
||||
"Dismiss": "Sluiten",
|
||||
"Error": "Fout",
|
||||
"Failed to forget room %(errCode)s": "Vergeten van gesprek is mislukt %(errCode)s",
|
||||
"Favourite": "Favoriet",
|
||||
|
@ -177,7 +177,7 @@
|
|||
"Hangup": "Ophangen",
|
||||
"Historical": "Historisch",
|
||||
"Home": "Thuis",
|
||||
"Homeserver is": "Thuisserver is",
|
||||
"Homeserver is": "Homeserver is",
|
||||
"Identity Server is": "Identiteitsserver is",
|
||||
"I have verified my email address": "Ik heb mijn e-mailadres geverifieerd",
|
||||
"Import": "Inlezen",
|
||||
|
@ -193,7 +193,7 @@
|
|||
"Invited": "Uitgenodigd",
|
||||
"Invites": "Uitnodigingen",
|
||||
"Invites user with given id to current room": "Nodigt de gebruiker met de gegeven ID uit in het huidige gesprek",
|
||||
"Sign in with": "Aanmelden met",
|
||||
"Sign in with": "Inloggen met",
|
||||
"Join as <voiceText>voice</voiceText> or <videoText>video</videoText>.": "Deelnemen met <voiceText>spraak</voiceText> of <videoText>video</videoText>.",
|
||||
"Join Room": "Gesprek toetreden",
|
||||
"%(targetName)s joined the room.": "%(targetName)s is tot het gesprek toegetreden.",
|
||||
|
@ -240,7 +240,7 @@
|
|||
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s heeft %(targetDisplayName)s in het gesprek uitgenodigd.",
|
||||
"Server error": "Serverfout",
|
||||
"Server may be unavailable, overloaded, or search timed out :(": "De server is misschien onbereikbaar of overbelast, of het zoeken duurde te lang :(",
|
||||
"Server may be unavailable, overloaded, or you hit a bug.": "De server is misschien onbereikbaar of overbelast, of je bent een fout tegengekomen.",
|
||||
"Server may be unavailable, overloaded, or you hit a bug.": "De server is misschien onbereikbaar of overbelast, of je bent een bug tegengekomen.",
|
||||
"Server unavailable, overloaded, or something else went wrong.": "De server is onbereikbaar of overbelast, of er is iets anders foutgegaan.",
|
||||
"Session ID": "Sessie-ID",
|
||||
"%(senderName)s kicked %(targetName)s.": "%(senderName)s heeft %(targetName)s het gesprek uitgestuurd.",
|
||||
|
@ -250,8 +250,8 @@
|
|||
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s heeft %(displayName)s als weergavenaam aangenomen.",
|
||||
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Tijd in 12-uursformaat tonen (bv. 2:30pm)",
|
||||
"Signed Out": "Afgemeld",
|
||||
"Sign in": "Aanmelden",
|
||||
"Sign out": "Afmelden",
|
||||
"Sign in": "Inloggen",
|
||||
"Sign out": "Uitloggen",
|
||||
"%(count)s of your messages have not been sent.|other": "Enkele van uw berichten zijn niet verstuurd.",
|
||||
"Someone": "Iemand",
|
||||
"The phone number entered looks invalid": "Het ingevoerde telefoonnummer ziet er ongeldig uit",
|
||||
|
@ -266,7 +266,7 @@
|
|||
"This room": "Dit gesprek",
|
||||
"This room is not accessible by remote Matrix servers": "Dit gesprek is niet toegankelijk vanaf externe Matrix-servers",
|
||||
"To use it, just wait for autocomplete results to load and tab through them.": "Om het te gebruiken, wacht u tot de autoaanvullen resultaten geladen zijn en tabt u erdoorheen.",
|
||||
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "U heeft gepoogd een gegeven punt in de tijdslijn van dit gesprek te laden, maar u bent niet bevoegd het desbetreffende bericht te zien.",
|
||||
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "U probeert een punt in de tijdlijn van dit gesprek te laden, maar u heeft niet voldoende rechten om het bericht te lezen.",
|
||||
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Geprobeerd een gegeven punt in de tijdslijn van dit gesprek te laden, maar kon dit niet vinden.",
|
||||
"Unable to add email address": "Kan e-mailadres niet toevoegen",
|
||||
"Unable to remove contact information": "Kan contactinformatie niet verwijderen",
|
||||
|
@ -329,7 +329,7 @@
|
|||
"Please select the destination room for this message": "Selecteer het bestemmingsgesprek voor dit bericht",
|
||||
"New Password": "Nieuw wachtwoord",
|
||||
"Start automatically after system login": "Automatisch starten na systeemlogin",
|
||||
"Analytics": "Statistische gegevens",
|
||||
"Analytics": "Gebruiksgegevens",
|
||||
"Options": "Opties",
|
||||
"%(brand)s collects anonymous analytics to allow us to improve the application.": "%(brand)s verzamelt anonieme analysegegevens die het mogelijk maken de toepassing te verbeteren.",
|
||||
"Passphrases must match": "Wachtwoorden moeten overeenkomen",
|
||||
|
@ -628,10 +628,10 @@
|
|||
"Room Notification": "Groepsgespreksmelding",
|
||||
"The information being sent to us to help make %(brand)s better includes:": "De informatie die naar ons wordt verstuurd om %(brand)s te verbeteren bevat:",
|
||||
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Waar deze pagina identificeerbare informatie bevat, zoals een gespreks-, gebruikers- of groeps-ID, zullen deze gegevens verwijderd worden voordat ze naar de server gestuurd worden.",
|
||||
"The platform you're on": "Het platform dat je gebruikt",
|
||||
"The platform you're on": "Het platform dat u gebruikt",
|
||||
"The version of %(brand)s": "De versie van %(brand)s",
|
||||
"Your language of choice": "De door jou gekozen taal",
|
||||
"Which officially provided instance you are using, if any": "Welke officieel aangeboden instantie je eventueel gebruikt",
|
||||
"Which officially provided instance you are using, if any": "Welke officieel aangeboden instantie u eventueel gebruikt",
|
||||
"Whether or not you're using the Richtext mode of the Rich Text Editor": "Of u de tekstverwerker al dan niet in de modus voor opgemaakte tekst gebruikt",
|
||||
"Your homeserver's URL": "De URL van je homeserver",
|
||||
"<a>In reply to</a> <pill>": "<a>Als antwoord op</a> <pill>",
|
||||
|
@ -658,8 +658,8 @@
|
|||
"Who can join this community?": "Wie kan er tot deze gemeenschap toetreden?",
|
||||
"Everyone": "Iedereen",
|
||||
"Leave this community": "Deze gemeenschap verlaten",
|
||||
"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.": "Voor het oplossen van, via GitHub, gemelde problemen helpen foutopsporingslogboeken ons enorm. Deze bevatten wel gebruiksgegevens (waaronder uw gebruikersnaam, de ID’s of bijnamen van de gesprekken en groepen die u heeft bezocht, en de namen van andere gebruikers), maar geen berichten.",
|
||||
"Submit debug logs": "Foutopsporingslogboeken indienen",
|
||||
"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.": "Voor het oplossen van, via GitHub, gemelde bugs helpen foutenlogboeken ons enorm. Deze bevatten wel uw gebruiksgegevens, maar geen berichten. Het bevat onder meer uw gebruikersnaam, de ID’s of bijnamen van de gesprekken en groepen die u heeft bezocht en de namen van andere gebruikers.",
|
||||
"Submit debug logs": "Foutenlogboek versturen",
|
||||
"Opens the Developer Tools dialog": "Opent het dialoogvenster met ontwikkelaarsgereedschap",
|
||||
"Fetching third party location failed": "Het ophalen van de locatie van de derde partij is mislukt",
|
||||
"I understand the risks and wish to continue": "Ik begrijp de risico’s en wil graag verdergaan",
|
||||
|
@ -727,11 +727,11 @@
|
|||
"All messages (noisy)": "Alle berichten (luid)",
|
||||
"Enable them now": "Deze nu inschakelen",
|
||||
"Toolbox": "Gereedschap",
|
||||
"Collecting logs": "Logboeken worden verzameld",
|
||||
"Collecting logs": "Logs worden verzameld",
|
||||
"You must specify an event type!": "U dient een gebeurtenistype op te geven!",
|
||||
"(HTTP status %(httpStatus)s)": "(HTTP-status %(httpStatus)s)",
|
||||
"Invite to this room": "Uitnodigen voor dit gesprek",
|
||||
"Send logs": "Logboeken versturen",
|
||||
"Send logs": "Logs versturen",
|
||||
"All messages": "Alle berichten",
|
||||
"Call invitation": "Oproep-uitnodiging",
|
||||
"Downloading update...": "Update wordt gedownload…",
|
||||
|
@ -778,17 +778,17 @@
|
|||
"Thank you!": "Bedankt!",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Met uw huidige browser kan de toepassing er volledig onjuist uitzien. Tevens is het mogelijk dat niet alle functies naar behoren werken. U kunt doorgaan als u het toch wilt proberen, maar bij problemen bent u volledig op uzelf aangewezen!",
|
||||
"Checking for an update...": "Bezig met controleren op updates…",
|
||||
"Logs sent": "Logboeken verstuurd",
|
||||
"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.": "Foutopsporingslogboeken bevatten gebruiksgegevens over de toepassing, inclusief uw gebruikersnaam, de ID’s of bijnamen van de gesprekken die u heeft bezocht, evenals de gebruikersnamen van andere gebruikers. Ze bevatten geen berichten.",
|
||||
"Failed to send logs: ": "Versturen van logboeken mislukt: ",
|
||||
"Preparing to send logs": "Logboeken worden voorbereid voor versturen",
|
||||
"Logs sent": "Logs verstuurd",
|
||||
"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.": "Foutenlogboeken bevatten gebruiksgegevens van de app inclusief uw gebruikersnaam, de ID’s of bijnamen van de gesprekken die u heeft bezocht, en de gebruikersnamen van andere gebruikers. Ze bevatten geen berichten.",
|
||||
"Failed to send logs: ": "Versturen van logs mislukt: ",
|
||||
"Preparing to send logs": "Logs voorbereiden voor versturen",
|
||||
"e.g. %(exampleValue)s": "bv. %(exampleValue)s",
|
||||
"Every page you use in the app": "Iedere bladzijde die je in de toepassing gebruikt",
|
||||
"Every page you use in the app": "Iedere bladzijde die u in de app gebruikt",
|
||||
"e.g. <CurrentPageURL>": "bv. <CurrentPageURL>",
|
||||
"Your device resolution": "De resolutie van je apparaat",
|
||||
"Missing roomId.": "roomId ontbreekt.",
|
||||
"Always show encryption icons": "Versleutelingspictogrammen altijd tonen",
|
||||
"Send analytics data": "Statistische gegevens versturen",
|
||||
"Send analytics data": "Gebruiksgegevens delen",
|
||||
"Enable widget screenshots on supported widgets": "Widget-schermafbeeldingen inschakelen op ondersteunde widgets",
|
||||
"Muted Users": "Gedempte gebruikers",
|
||||
"Popout widget": "Widget in nieuw venster openen",
|
||||
|
@ -798,11 +798,11 @@
|
|||
"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.": "De zichtbaarheid van berichten in Matrix is zoals bij e-mails. Het vergeten van uw berichten betekent dat berichten die u heeft verstuurd niet meer gedeeld worden met nieuwe of ongeregistreerde gebruikers, maar geregistreerde gebruikers die al toegang hebben tot deze berichten zullen alsnog toegang hebben tot hun eigen kopie ervan.",
|
||||
"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)": "Vergeet bij het sluiten van mijn account alle door mij verstuurde berichten (<b>Let op:</b> hierdoor zullen personen een onvolledig beeld krijgen van gesprekken)",
|
||||
"To continue, please enter your password:": "Voer uw wachtwoord in om verder te gaan:",
|
||||
"Clear Storage and Sign Out": "Opslag wissen en afmelden",
|
||||
"Send Logs": "Logboek versturen",
|
||||
"Clear Storage and Sign Out": "Opslag wissen en uitloggen",
|
||||
"Send Logs": "Logs versturen",
|
||||
"Refresh": "Herladen",
|
||||
"We encountered an error trying to restore your previous session.": "Het herstel van uw vorige sessie is mislukt.",
|
||||
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Het legen van de opslag van uw browser zal het probleem misschien verhelpen, maar zal u ook afmelden en uw gehele versleutelde gespreksgeschiedenis onleesbaar maken.",
|
||||
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Het legen van de opslag van uw browser zal het probleem misschien verhelpen, maar zal u ook uitloggen en uw gehele versleutelde gespreksgeschiedenis onleesbaar maken.",
|
||||
"Collapse Reply Thread": "Reactieketting dichtvouwen",
|
||||
"Can't leave Server Notices room": "Kan servermeldingsgesprek niet verlaten",
|
||||
"This room is used for important messages from the Homeserver, so you cannot leave it.": "Dit gesprek is bedoeld voor belangrijke berichten van de homeserver, dus u kunt het niet verlaten.",
|
||||
|
@ -842,7 +842,7 @@
|
|||
"Bulk options": "Bulkopties",
|
||||
"This homeserver has hit its Monthly Active User limit.": "Deze homeserver heeft zijn limiet voor maandelijks actieve gebruikers bereikt.",
|
||||
"This homeserver has exceeded one of its resource limits.": "Deze homeserver heeft één van zijn systeembronlimieten overschreden.",
|
||||
"Whether or not you're logged in (we don't record your username)": "Of je al dan niet ingelogd bent (we slaan je gebruikersnaam niet op)",
|
||||
"Whether or not you're logged in (we don't record your username)": "Of u al dan niet ingelogd bent (we slaan je gebruikersnaam niet op)",
|
||||
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Het bestand ‘%(fileName)s’ is groter dan de uploadlimiet van de homeserver",
|
||||
"Unable to load! Check your network connectivity and try again.": "Laden mislukt! Controleer je netwerktoegang en probeer het nogmaals.",
|
||||
"Failed to invite users to the room:": "Kon de volgende gebruikers hier niet uitnodigen:",
|
||||
|
@ -1023,20 +1023,20 @@
|
|||
"Profile picture": "Profielfoto",
|
||||
"<a>Upgrade</a> to your own domain": "<a>Upgrade</a> naar uw eigen domein",
|
||||
"Display Name": "Weergavenaam",
|
||||
"Set a new account password...": "Stel een nieuw accountwachtwoord in…",
|
||||
"Set a new account password...": "Stel een nieuw wachtwoord in…",
|
||||
"Email addresses": "E-mailadressen",
|
||||
"Phone numbers": "Telefoonnummers",
|
||||
"Language and region": "Taal en regio",
|
||||
"Theme": "Thema",
|
||||
"Account management": "Accountbeheer",
|
||||
"Deactivating your account is a permanent action - be careful!": "Pas op! Het sluiten van uw account is onherroepelijk!",
|
||||
"Deactivating your account is a permanent action - be careful!": "Pas op! Het sluiten van uw account kan niet teruggedraaid worden!",
|
||||
"General": "Algemeen",
|
||||
"Legal": "Wettelijk",
|
||||
"Legal": "Juridisch",
|
||||
"Credits": "Met dank aan",
|
||||
"For help with using %(brand)s, click <a>here</a>.": "Klik <a>hier</a> voor hulp bij het gebruiken van %(brand)s.",
|
||||
"For help with using %(brand)s, click <a>here</a> or start a chat with our bot using the button below.": "Klik <a>hier</a> voor hulp bij het gebruiken van %(brand)s, of begin een gesprek met onze robot met de knop hieronder.",
|
||||
"Help & About": "Hulp & Info",
|
||||
"Bug reporting": "Foutmeldingen",
|
||||
"Help & About": "Hulp & info",
|
||||
"Bug reporting": "Bug meldingen",
|
||||
"FAQ": "FAQ",
|
||||
"Versions": "Versies",
|
||||
"Preferences": "Instellingen",
|
||||
|
@ -1046,10 +1046,10 @@
|
|||
"Autocomplete delay (ms)": "Vertraging voor autoaanvullen (ms)",
|
||||
"Accept all %(invitedRooms)s invites": "Alle %(invitedRooms)s de uitnodigingen aannemen",
|
||||
"Key backup": "Sleutelback-up",
|
||||
"Security & Privacy": "Veiligheid & Privacy",
|
||||
"Security & Privacy": "Veiligheid & privacy",
|
||||
"Missing media permissions, click the button below to request.": "Mediatoestemmingen ontbreken, klik op de knop hieronder om deze aan te vragen.",
|
||||
"Request media permissions": "Mediatoestemmingen verzoeken",
|
||||
"Voice & Video": "Spraak & Video",
|
||||
"Voice & Video": "Spraak & video",
|
||||
"Room information": "Gespreksinformatie",
|
||||
"Internal room ID:": "Interne gespreks-ID:",
|
||||
"Room version": "Gespreksversie",
|
||||
|
@ -1108,7 +1108,7 @@
|
|||
"Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Kan geen profielen voor de Matrix-ID’s hieronder vinden - wilt u ze toch uitnodigen?",
|
||||
"Invite anyway and never warn me again": "Alsnog uitnodigen en mij nooit meer waarschuwen",
|
||||
"Invite anyway": "Alsnog uitnodigen",
|
||||
"Before submitting logs, you must <a>create a GitHub issue</a> to describe your problem.": "Voor u logboeken indient, dient u uw probleem te <a>melden op GitHub</a>.",
|
||||
"Before submitting logs, you must <a>create a GitHub issue</a> to describe your problem.": "Voordat u logs indient, dient u uw probleem te melden <a>in een GitHub issue</a>.",
|
||||
"Unable to load commit detail: %(msg)s": "Kan commitdetail niet laden: %(msg)s",
|
||||
"To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this": "Om uw gespreksgeschiedenis niet te verliezen vóór het uitloggen dient u uw veiligheidssleutel te exporteren. Dat moet vanuit de nieuwere versie van %(brand)s",
|
||||
"Incompatible Database": "Incompatibele database",
|
||||
|
@ -1125,7 +1125,7 @@
|
|||
"I don't want my encrypted messages": "Ik wil mijn versleutelde berichten niet",
|
||||
"Manually export keys": "Sleutels handmatig wegschrijven",
|
||||
"You'll lose access to your encrypted messages": "U zult de toegang tot uw versleutelde berichten verliezen",
|
||||
"Are you sure you want to sign out?": "Weet u zeker dat u zich wilt afmelden?",
|
||||
"Are you sure you want to sign out?": "Weet u zeker dat u wilt uitloggen?",
|
||||
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Als u fouten zou tegenkomen of voorstellen zou hebben, laat het ons dan weten op GitHub.",
|
||||
"To help avoid duplicate issues, please <existingIssuesLink>view existing issues</existingIssuesLink> first (and add a +1) or <newIssueLink>create a new issue</newIssueLink> if you can't find it.": "Voorkom dubbele meldingen: doorzoek eerst de <existingIssuesLink>bestaande meldingen</existingIssuesLink> (en voeg desgewenst een +1 toe). Maak enkel <newIssueLink>een nieuwe melding</newIssueLink> aan indien u niets kunt vinden.",
|
||||
"Report bugs & give feedback": "Fouten melden & feedback geven",
|
||||
|
@ -1193,7 +1193,7 @@
|
|||
"Could not load user profile": "Kon gebruikersprofiel niet laden",
|
||||
"Your Matrix account on %(serverName)s": "Uw Matrix-account op %(serverName)s",
|
||||
"A verification email will be sent to your inbox to confirm setting your new password.": "Er is een verificatie-e-mail naar u gestuurd om het instellen van uw nieuwe wachtwoord te bevestigen.",
|
||||
"Sign in instead": "Aanmelden",
|
||||
"Sign in instead": "In plaats daarvan inloggen",
|
||||
"Your password has been reset.": "Uw wachtwoord is opnieuw ingesteld.",
|
||||
"Set a new password": "Stel een nieuw wachtwoord in",
|
||||
"Invalid homeserver discovery response": "Ongeldig homeserver-vindbaarheids-antwoord",
|
||||
|
@ -1202,13 +1202,13 @@
|
|||
"This homeserver does not support login using email address.": "Deze homeserver biedt geen ondersteuning voor inloggen met e-mailadres.",
|
||||
"Please <a>contact your service administrator</a> to continue using this service.": "Gelieve <a>contact op te nemen met uw dienstbeheerder</a> om deze dienst te blijven gebruiken.",
|
||||
"Failed to perform homeserver discovery": "Ontdekken van homeserver is mislukt",
|
||||
"Sign in with single sign-on": "Aanmelden met eenmalige aanmelding",
|
||||
"Sign in with single sign-on": "Inloggen met eenmalig inloggen",
|
||||
"Create account": "Account aanmaken",
|
||||
"Registration has been disabled on this homeserver.": "Registratie is uitgeschakeld op deze homeserver.",
|
||||
"Unable to query for supported registration methods.": "Kan ondersteunde registratiemethoden niet opvragen.",
|
||||
"Create your account": "Maak uw account aan",
|
||||
"Keep going...": "Doe verder…",
|
||||
"For maximum security, this should be different from your account password.": "Voor maximale veiligheid zou dit moeten verschillen van uw accountwachtwoord.",
|
||||
"For maximum security, this should be different from your account password.": "Voor maximale veiligheid moet dit verschillen van uw accountwachtwoord.",
|
||||
"That matches!": "Dat komt overeen!",
|
||||
"That doesn't match.": "Dat komt niet overeen.",
|
||||
"Go back to set it again.": "Ga terug om het opnieuw in te stellen.",
|
||||
|
@ -1228,11 +1228,11 @@
|
|||
"Don't ask again": "Niet opnieuw vragen",
|
||||
"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.",
|
||||
"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.",
|
||||
"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 wachtwoord en stel bij instellingen een nieuwe herstelmethode in.",
|
||||
"Go to Settings": "Ga naar instellingen",
|
||||
"Set up Secure Messages": "Beveiligde berichten instellen",
|
||||
"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 in het instellingenmenu een nieuwe herstelmethode in.",
|
||||
"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 wachtwoord en stel bij instellingen 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.",
|
||||
"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",
|
||||
|
@ -1264,8 +1264,8 @@
|
|||
"GitHub issue": "GitHub-melding",
|
||||
"Notes": "Opmerkingen",
|
||||
"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.": "Gelieve alle verdere informatie die zou kunnen helpen het probleem te analyseren (wat u aan het doen was, relevante gespreks-ID’s, gebruikers-ID’s, enz.) bij te voegen.",
|
||||
"Sign out and remove encryption keys?": "Afmelden en versleutelingssleutels verwijderen?",
|
||||
"To help us prevent this in future, please <a>send us logs</a>.": "Gelieve <a>ons logboeken te sturen</a> om dit in de toekomst te helpen voorkomen.",
|
||||
"Sign out and remove encryption keys?": "Uitloggen en versleutelingssleutels verwijderen?",
|
||||
"To help us prevent this in future, please <a>send us logs</a>.": "<a>Stuur ons uw logs</a> om dit in de toekomst te helpen voorkomen.",
|
||||
"Missing session data": "Sessiegegevens ontbreken",
|
||||
"Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Sommige sessiegegevens, waaronder sleutels voor versleutelde berichten, ontbreken. Herstel de sleutels uit uw back-up door u af- en weer aan te melden.",
|
||||
"Your browser likely removed this data when running low on disk space.": "Uw browser heeft deze gegevens wellicht verwijderd toen de beschikbare opslagruimte vol was.",
|
||||
|
@ -1297,7 +1297,7 @@
|
|||
"Rejecting invite …": "Uitnodiging wordt geweigerd…",
|
||||
"Join the conversation with an account": "Neem deel aan het gesprek met een account",
|
||||
"Sign Up": "Registreren",
|
||||
"Sign In": "Aanmelden",
|
||||
"Sign In": "Inloggen",
|
||||
"You were kicked from %(roomName)s by %(memberName)s": "U bent uit %(roomName)s gezet door %(memberName)s",
|
||||
"Reason: %(reason)s": "Reden: %(reason)s",
|
||||
"Forget this room": "Dit gesprek vergeten",
|
||||
|
@ -1315,7 +1315,7 @@
|
|||
"%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s kan niet vooraf bekeken worden. Wilt u eraan deelnemen?",
|
||||
"This room doesn't exist. Are you sure you're at the right place?": "Dit gesprek bestaat niet. Weet u zeker dat u zich op de juiste plaats bevindt?",
|
||||
"Try again later, or ask a room admin to check if you have access.": "Probeer het later opnieuw, of vraag een gespreksbeheerder om te controleren of u wel toegang heeft.",
|
||||
"%(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>.": "De foutcode %(errcode)s is weergegeven bij het toetreden van het gesprek. Als u meent dat u dit bericht foutief te zien krijgt, gelieve dan <issueLink>een foutmelding in te dienen</issueLink>.",
|
||||
"%(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>.": "De foutcode %(errcode)s is weergegeven bij het toetreden van het gesprek. Als u meent dat u dit bericht foutief te zien krijgt, gelieve dan <issueLink>een bugmelding indienen</issueLink>.",
|
||||
"This room has already been upgraded.": "Dit gesprek is reeds geüpgraded.",
|
||||
"<reactors/><reactedWith>reacted with %(shortName)s</reactedWith>": "<reactors/><reactedWith>heeft gereageerd met %(shortName)s</reactedWith>",
|
||||
"edited": "bewerkt",
|
||||
|
@ -1386,8 +1386,8 @@
|
|||
"Resend edit": "Bewerking opnieuw versturen",
|
||||
"Resend %(unsentCount)s reaction(s)": "%(unsentCount)s reactie(s) opnieuw versturen",
|
||||
"Resend removal": "Verwijdering opnieuw versturen",
|
||||
"Failed to re-authenticate due to a homeserver problem": "Opnieuw aanmelden is mislukt wegens een probleem met de homeserver",
|
||||
"Failed to re-authenticate": "Opnieuw aanmelden is mislukt",
|
||||
"Failed to re-authenticate due to a homeserver problem": "Opnieuw inloggen is mislukt wegens een probleem met de homeserver",
|
||||
"Failed to re-authenticate": "Opnieuw inloggen is mislukt",
|
||||
"Enter your password to sign in and regain access to your account.": "Voer uw wachtwoord in om u aan te melden en toegang tot uw account te herkrijgen.",
|
||||
"Forgotten your password?": "Wachtwoord vergeten?",
|
||||
"You're signed out": "U bent afgemeld",
|
||||
|
@ -1401,7 +1401,7 @@
|
|||
"Service": "Dienst",
|
||||
"Summary": "Samenvatting",
|
||||
"Sign in and regain access to your account.": "Meld u aan en herkrijg toegang tot uw account.",
|
||||
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "U kunt zich niet aanmelden met uw account. Neem voor meer informatie contact op met de beheerder van uw homeserver.",
|
||||
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "U kunt niet inloggen met uw account. Neem voor meer informatie contact op met de beheerder van uw homeserver.",
|
||||
"This account has been deactivated.": "Deze account is gesloten.",
|
||||
"Messages": "Berichten",
|
||||
"Actions": "Acties",
|
||||
|
@ -1478,11 +1478,11 @@
|
|||
"No recent messages by %(user)s found": "Geen recente berichten door %(user)s gevonden",
|
||||
"Try scrolling up in the timeline to see if there are any earlier ones.": "Probeer omhoog te scrollen in de tijdslijn om te kijken of er eerdere zijn.",
|
||||
"Remove recent messages by %(user)s": "Recente berichten door %(user)s verwijderen",
|
||||
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|other": "U staat op het punt %(count)s berichten door %(user)s te verwijderen. Dit is onherroepelijk. Wilt u doorgaan?",
|
||||
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|other": "U staat op het punt %(count)s berichten van %(user)s te verwijderen. Dit kan niet teruggedraaid worden. Wilt u doorgaan?",
|
||||
"For a large amount of messages, this might take some time. Please don't refresh your client in the meantime.": "Bij een groot aantal berichten kan dit even duren. Herlaad uw cliënt niet gedurende deze tijd.",
|
||||
"Remove %(count)s messages|other": "%(count)s berichten verwijderen",
|
||||
"Deactivate user?": "Gebruiker deactiveren?",
|
||||
"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?": "Deze gebruiker deactiveren zal deze gebruiker uitloggen en verhinderen dat de gebruiker weer inlogt. Bovendien zal de gebruiker alle gesprekken waaraan de gebruiker deelneemt verlaten. Deze actie is onherroepelijk. Weet u zeker dat u deze gebruiker wilt deactiveren?",
|
||||
"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?": "Deze gebruiker deactiveren zal deze gebruiker uitloggen en verhinderen dat de gebruiker weer inlogt. Bovendien zal de gebruiker alle gesprekken waaraan de gebruiker deelneemt verlaten. Deze actie is niet terug te draaien. Weet u zeker dat u deze gebruiker wilt deactiveren?",
|
||||
"Deactivate user": "Gebruiker deactiveren",
|
||||
"Remove recent messages": "Recente berichten verwijderen",
|
||||
"Bold": "Vet",
|
||||
|
@ -1523,7 +1523,7 @@
|
|||
"%(count)s unread messages.|other": "%(count)s ongelezen berichten.",
|
||||
"Unread mentions.": "Ongelezen vermeldingen.",
|
||||
"Show image": "Afbeelding tonen",
|
||||
"Please <newIssueLink>create a new issue</newIssueLink> on GitHub so that we can investigate this bug.": "<newIssueLink>Maak een nieuw rapport aan</newIssueLink> op GitHub opdat we dit probleem kunnen onderzoeken.",
|
||||
"Please <newIssueLink>create a new issue</newIssueLink> on GitHub so that we can investigate this bug.": "<newIssueLink>Maak een nieuwe issue aan</newIssueLink> op GitHub zodat we deze bug kunnen onderzoeken.",
|
||||
"e.g. my-room": "bv. mijn-gesprek",
|
||||
"Close dialog": "Dialoog sluiten",
|
||||
"Please enter a name for the room": "Geef een naam voor het gesprek op",
|
||||
|
@ -1549,7 +1549,7 @@
|
|||
"Click the link in the email you received to verify and then click continue again.": "Open de koppeling in de ontvangen verificatie-e-mail, en klik dan op ‘Doorgaan’.",
|
||||
"%(creator)s created and configured the room.": "Gesprek gestart en ingesteld door %(creator)s.",
|
||||
"Setting up keys": "Sleutelconfiguratie",
|
||||
"Verify this session": "Deze sessie verifiëren",
|
||||
"Verify this session": "Verifieer deze sessie",
|
||||
"Encryption upgrade available": "Versleutelingsupgrade beschikbaar",
|
||||
"You can use <code>/help</code> to list available commands. Did you mean to send this as a message?": "Typ <code>/help</code> om alle opdrachten te zien. Was het uw bedoeling dit als bericht te sturen?",
|
||||
"Help": "Hulp",
|
||||
|
@ -1621,7 +1621,7 @@
|
|||
"Upgrade": "Upgraden",
|
||||
"Verify": "Verifiëren",
|
||||
"Later": "Later",
|
||||
"Review": "Controle",
|
||||
"Review": "Controleer",
|
||||
"Decline (%(counter)s)": "Afwijzen (%(counter)s)",
|
||||
"This bridge was provisioned by <user />.": "Dank aan <user /> voor de brug.",
|
||||
"This bridge is managed by <user />.": "Brug onderhouden door <user />.",
|
||||
|
@ -1636,14 +1636,14 @@
|
|||
"Unable to load session list": "Kan sessielijst niet laden",
|
||||
"Delete %(count)s sessions|other": "%(count)s sessies verwijderen",
|
||||
"Delete %(count)s sessions|one": "%(count)s sessie verwijderen",
|
||||
"Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Of je %(brand)s op een apparaat gebruikt waarop een aanraakscherm de voornaamste invoermethode is",
|
||||
"Whether you're using %(brand)s as an installed Progressive Web App": "Of je %(brand)s gebruikt als een geïnstalleerde Progressive-Web-App",
|
||||
"Whether you're using %(brand)s on a device where touch is the primary input mechanism": "Of u %(brand)s op een apparaat gebruikt waarop een aanraakscherm de voornaamste invoermethode is",
|
||||
"Whether you're using %(brand)s as an installed Progressive Web App": "Of u %(brand)s gebruikt als een geïnstalleerde Progressieve Web-App",
|
||||
"Your user agent": "Jouw gebruikersagent",
|
||||
"If you cancel now, you won't complete verifying the other user.": "Als u nu annuleert zult u de andere gebruiker niet verifiëren.",
|
||||
"If you cancel now, you won't complete verifying your other session.": "Als u nu annuleert zult u uw andere sessie niet verifiëren.",
|
||||
"Cancel entering passphrase?": "Wachtwoord annuleren?",
|
||||
"Show typing notifications": "Typmeldingen weergeven",
|
||||
"Verify this session by completing one of the following:": "Verifieer deze sessie door een van het volgende te doen:",
|
||||
"Verify this session by completing one of the following:": "Verifieer deze sessie door een van het volgende handelingen te doen:",
|
||||
"Scan this unique code": "Scan deze unieke code",
|
||||
"or": "of",
|
||||
"Compare unique emoji": "Vergelijk unieke emoji",
|
||||
|
@ -1689,7 +1689,7 @@
|
|||
"wait and try again later": "wachten en het later weer proberen",
|
||||
"Use an Integration Manager <b>(%(serverName)s)</b> to manage bots, widgets, and sticker packs.": "Gebruik een integratiebeheerder <b>(%(serverName)s)</b> om robots, widgets en stickerpakketten te beheren.",
|
||||
"Use an Integration Manager to manage bots, widgets, and sticker packs.": "Gebruik een integratiebeheerder om robots, widgets en stickerpakketten te beheren.",
|
||||
"Manage integrations": "Beheer integraties",
|
||||
"Manage integrations": "Integratiebeheerder",
|
||||
"Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Integratiebeheerders ontvangen configuratie-informatie en kunnen widgets aanpassen, gespreksuitnodigingen versturen en machtsniveau’s namens u aanpassen.",
|
||||
"Ban list rules - %(roomName)s": "Banlijstregels - %(roomName)s",
|
||||
"Server rules": "Serverregels",
|
||||
|
@ -1746,7 +1746,7 @@
|
|||
"Clear notifications": "Meldingen wissen",
|
||||
"You should <b>remove your personal data</b> from identity server <idserver /> before disconnecting. Unfortunately, identity server <idserver /> is currently offline or cannot be reached.": "U moet uw <b>persoonlijke informatie</b> van de identiteitsserver <idserver /> <b>verwijderen</b> voordat u zich ontkoppelt. Helaas kan de identiteitsserver <idserver /> op dit moment niet worden bereikt. Mogelijk is hij offline.",
|
||||
"Your homeserver does not support cross-signing.": "Uw homeserver biedt geen ondersteuning voor kruiselings ondertekenen.",
|
||||
"Homeserver feature support:": "Homeserver ondersteund deze functies:",
|
||||
"Homeserver feature support:": "Homeserver functie ondersteuning:",
|
||||
"exists": "aanwezig",
|
||||
"Sign In or Create Account": "Meld u aan of maak een account aan",
|
||||
"Use your account or create a new one to continue.": "Gebruik uw bestaande account of maak een nieuwe aan om verder te gaan.",
|
||||
|
@ -1872,10 +1872,10 @@
|
|||
"More options": "Meer opties",
|
||||
"Language Dropdown": "Taalselectie",
|
||||
"Destroy cross-signing keys?": "Sleutels voor kruiselings ondertekenen verwijderen?",
|
||||
"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.": "Het verwijderen van sleutels voor kruiselings ondertekenen is onherroepelijk. Iedereen waarmee u geverifieerd heeft zal beveiligingswaarschuwingen te zien krijgen. U wilt dit hoogstwaarschijnlijk niet doen, tenzij u alle apparaten heeft verloren waarmee u kruiselings kon ondertekenen.",
|
||||
"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.": "Het verwijderen van sleutels voor kruiselings ondertekenen is niet terug te draaien. Iedereen waarmee u geverifieerd heeft zal beveiligingswaarschuwingen te zien krijgen. U wilt dit hoogstwaarschijnlijk niet doen, tenzij u alle apparaten heeft verloren waarmee u kruiselings kon ondertekenen.",
|
||||
"Clear cross-signing keys": "Sleutels voor kruiselings ondertekenen wissen",
|
||||
"Clear all data in this session?": "Alle gegevens in deze sessie verwijderen?",
|
||||
"Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Het verwijderen van alle gegevens in deze sessie is onherroepelijk. Versleutelde berichten zullen verloren gaan, tenzij u een back-up van de sleutels heeft.",
|
||||
"Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Het verwijderen van alle gegevens in deze sessie is niet terug te draaien. Versleutelde berichten zullen verloren gaan, tenzij u een back-up van de sleutels heeft.",
|
||||
"Verify session": "Sessie verifiëren",
|
||||
"Session name": "Sessienaam",
|
||||
"Session key": "Sessiesleutel",
|
||||
|
@ -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.",
|
||||
"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",
|
||||
"Enable 'Manage Integrations' in Settings to do this.": "Schakel in het Algemene Instellingenmenu ‘Beheer integraties’ in om dit te doen.",
|
||||
"Enable 'Manage Integrations' in Settings to do this.": "Schakel de ‘Integratiebeheerder’ in in uw Instellingen om dit te doen.",
|
||||
"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.",
|
||||
"Failed to invite the following users to chat: %(csvUsers)s": "Het uitnodigen van volgende gebruikers voor gesprek is mislukt: %(csvUsers)s",
|
||||
|
@ -1909,7 +1909,7 @@
|
|||
"Automatically invite users": "Gebruikers automatisch uitnodigen",
|
||||
"Upgrade private room": "Privégesprek upgraden",
|
||||
"Upgrade public room": "Openbaar gesprek upgraden",
|
||||
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Het bijwerken van een gesprek is een gevorderde actie en wordt meestal aanbevolen wanneer een gesprek onstabiel is door fouten, ontbrekende functies of problemen met de beveiliging.",
|
||||
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Het bijwerken van een gesprek is een gevorderde actie en wordt meestal aanbevolen wanneer een gesprek onstabiel is door bugs, ontbrekende functies of problemen met de beveiliging.",
|
||||
"This usually only affects how the room is processed on the server. If you're having problems with your %(brand)s, please <a>report a bug</a>.": "Dit heeft meestal enkel een invloed op de manier waarop het gesprek door de server verwerkt wordt. Als u problemen met uw %(brand)s ondervindt, <a>dien dan een foutmelding in</a>.",
|
||||
"You'll upgrade this room from <oldVersion /> to <newVersion />.": "U upgrade dit gesprek van <oldVersion /> naar <newVersion />.",
|
||||
"This will allow you to return to your account after signing out, and sign in on other sessions.": "Daardoor kunt u na afmelding terugkeren tot uw account, en u bij andere sessies aanmelden.",
|
||||
|
@ -1927,7 +1927,7 @@
|
|||
"Remove for me": "Verwijderen voor mezelf",
|
||||
"User Status": "Gebruikersstatus",
|
||||
"Country Dropdown": "Landselectie",
|
||||
"Confirm your identity by entering your account password below.": "Bevestig uw identiteit door hieronder uw accountwachtwoord in te voeren.",
|
||||
"Confirm your identity by entering your account password below.": "Bevestig uw identiteit door hieronder uw wachtwoord in te voeren.",
|
||||
"No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Er is geen identiteitsserver geconfigureerd, dus u kunt geen e-mailadres toevoegen om in de toekomst een nieuw wachtwoord in te stellen.",
|
||||
"Jump to first unread room.": "Ga naar het eerste ongelezen gesprek.",
|
||||
"Jump to first invite.": "Ga naar de eerste uitnodiging.",
|
||||
|
@ -1939,13 +1939,13 @@
|
|||
"Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Door uw wachtwoord te wijzigen stelt u alle eind-tot-eind-versleutelingssleutels op al uw sessies opnieuw in, waardoor uw versleutelde gespreksgeschiedenis onleesbaar wordt. Stel uw sleutelback-up in of sla uw gesprekssleutels van een andere sessie op voor u een nieuw wachtwoord instelt.",
|
||||
"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.": "U bent uitgelogd bij al uw sessies en zult geen pushberichten meer ontvangen. Meld u op elk apparaat opnieuw aan om meldingen opnieuw in te schakelen.",
|
||||
"Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Ontvang toegang tot uw account en herstel de tijdens deze sessie opgeslagen versleutelingssleutels, zonder deze sleutels zijn sommige van uw versleutelde berichten in uw sessies onleesbaar.",
|
||||
"Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Let op: uw persoonlijke gegevens (waaronder versleutelingssleutels) zijn nog steeds opgeslagen in deze sessie. Wis ze wanneer u klaar bent met deze sessie, of wanneer u zich wilt aanmelden met een andere account.",
|
||||
"Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Let op: uw persoonlijke gegevens (waaronder versleutelingssleutels) zijn nog steeds opgeslagen in deze sessie. Wis ze wanneer u klaar bent met deze sessie, of wanneer u wilt inloggen met een andere account.",
|
||||
"Command Autocomplete": "Opdrachten autoaanvullen",
|
||||
"DuckDuckGo Results": "DuckDuckGo-resultaten",
|
||||
"Enter your account password to confirm the upgrade:": "Voer uw accountwachtwoord in om het upgraden te bevestigen:",
|
||||
"Enter your account password to confirm the upgrade:": "Voer uw wachtwoord in om het upgraden te bevestigen:",
|
||||
"Restore your key backup to upgrade your encryption": "Herstel uw sleutelback-up om uw versleuteling te upgraden",
|
||||
"Restore": "Herstellen",
|
||||
"You'll need to authenticate with the server to confirm the upgrade.": "U zult zich moeten aanmelden bij de server om het upgraden te bevestigen.",
|
||||
"You'll need to authenticate with the server to confirm the upgrade.": "U zult moeten inloggen bij de server om het upgraden te bevestigen.",
|
||||
"Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Upgrade deze sessie om er andere sessies mee te verifiëren, waardoor deze ook de toegang verkrijgen tot uw versleutelde berichten en deze voor andere gebruikers als vertrouwd gemarkeerd worden.",
|
||||
"Set up with a recovery key": "Instellen met een herstelsleutel",
|
||||
"Keep a copy of it somewhere secure, like a password manager or even a safe.": "Bewaar een kopie op een veilige plaats, zoals in een wachtwoordbeheerder of een kluis.",
|
||||
|
@ -1970,7 +1970,7 @@
|
|||
"To report a Matrix-related security issue, please read the Matrix.org <a>Security Disclosure Policy</a>.": "Bekijk eerst het <a>beveiligingsopenbaarmakingsbeleid</a> van Matrix.org als u een probleem met de beveiliging van Matrix wilt melden.",
|
||||
"Not currently indexing messages for any room.": "Er worden momenteel voor geen enkel gesprek berichten geïndexeerd.",
|
||||
"%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s van %(totalRooms)s",
|
||||
"Where you’re logged in": "Waar u ingelogd bent",
|
||||
"Where you’re logged in": "Waar u bent ingelogd",
|
||||
"Manage the names of and sign out of your sessions below or <a>verify them in your User Profile</a>.": "Beheer hieronder de namen van uw sessies en meld ze af. <a>Of verifieer ze in uw gebruikersprofiel</a>.",
|
||||
"Use Single Sign On to continue": "Ga verder met eenmalige aanmelding",
|
||||
"Confirm adding this email address by using Single Sign On to prove your identity.": "Bevestig je identiteit met je eenmalige aanmelding om dit e-mailadres toe te voegen.",
|
||||
|
@ -1989,7 +1989,7 @@
|
|||
"Command failed": "Opdracht mislukt",
|
||||
"Could not find user in room": "Kon die deelnemer aan het gesprek niet vinden",
|
||||
"Please supply a widget URL or embed code": "Gelieve een widgetURL of in te bedden code te geven",
|
||||
"Send a bug report with logs": "Rapporteer een fout, met foutopsporingslogboek bijgesloten",
|
||||
"Send a bug report with logs": "Stuur een bugrapport met logs",
|
||||
"%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s heeft het gesprek %(oldRoomName)s hernoemd tot %(newRoomName)s.",
|
||||
"%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s heeft dit gesprek de nevenadressen %(addresses)s toegekend.",
|
||||
"%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s heeft dit gesprek het nevenadres %(addresses)s toegekend.",
|
||||
|
@ -2315,7 +2315,7 @@
|
|||
"Your homeserver rejected your log in attempt. This could be due to things just taking too long. Please try again. If this continues, please contact your homeserver administrator.": "Uw homeserver wees uw inlogpoging af. Dit kan zijn doordat het te lang heeft geduurd. Probeer het opnieuw. Als dit probleem zich blijft voordoen, neem contact op met de beheerder van uw homeserver.",
|
||||
"Your homeserver was unreachable and was not able to log you in. Please try again. If this continues, please contact your homeserver administrator.": "Uw homeserver was onbereikbaar en kon u niet inloggen, probeer het opnieuw. Wanneer dit probleem zich blijft voordoen, neem contact op met de beheerder van uw homeserver.",
|
||||
"Try again": "Probeer opnieuw",
|
||||
"We asked the browser to remember which homeserver you use to let you sign in, but unfortunately your browser has forgotten it. Go to the sign in page and try again.": "De browser is verzocht uw homeserver te onthouden die u gebruikt om zich aan te melden, maar is deze vergeten. Ga naar de aanmeldpagina en probeer het opnieuw.",
|
||||
"We asked the browser to remember which homeserver you use to let you sign in, but unfortunately your browser has forgotten it. Go to the sign in page and try again.": "De browser is verzocht uw homeserver te onthouden die u gebruikt om in te loggen, maar helaas heeft de browser deze vergeten. Ga naar de inlog-pagina en probeer het opnieuw.",
|
||||
"We couldn't log you in": "We konden u niet inloggen",
|
||||
"Room Info": "Gespreksinfo",
|
||||
"Matrix.org is the biggest public homeserver in the world, so it’s a good place for many.": "Matrix.org is de grootste openbare homeserver van de wereld, dus het is een goede plek voor vele.",
|
||||
|
@ -2416,8 +2416,8 @@
|
|||
"sends snowfall": "Stuur sneeuwvlokken",
|
||||
"sends confetti": "verstuurt confetti",
|
||||
"sends fireworks": "Stuur vuurwerk",
|
||||
"Downloading logs": "Logboeken downloaden",
|
||||
"Uploading logs": "Logboeken versturen",
|
||||
"Downloading logs": "Logs downloaden",
|
||||
"Uploading logs": "Logs uploaden",
|
||||
"Use Ctrl + Enter to send a message": "Gebruik Ctrl + Enter om een bericht te sturen",
|
||||
"Use Command + Enter to send a message": "Gebruik Command (⌘) + Enter om een bericht te sturen",
|
||||
"Use Ctrl + F to search": "Ctrl + F om te zoeken gebruiken",
|
||||
|
@ -2425,7 +2425,7 @@
|
|||
"Use a more compact ‘Modern’ layout": "Compacte 'Modern'-layout inschakelen",
|
||||
"Use custom size": "Aangepaste lettergrootte gebruiken",
|
||||
"Font size": "Lettergrootte",
|
||||
"Enable advanced debugging for the room list": "Geavanceerde foutopsporing voor de gesprekkenlijst inschakelen",
|
||||
"Enable advanced debugging for the room list": "Geavanceerde bugopsporing voor de gesprekkenlijst inschakelen",
|
||||
"Render LaTeX maths in messages": "Weergeef LaTeX-wiskundenotatie in berichten",
|
||||
"Change notification settings": "Meldingsinstellingen wijzigen",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
|
@ -2449,7 +2449,7 @@
|
|||
"%(senderName)s has updated the widget layout": "%(senderName)s heeft de widget-indeling bijgewerkt",
|
||||
"%(senderName)s declined the call.": "%(senderName)s heeft de oproep afgewezen.",
|
||||
"(an error occurred)": "(een fout is opgetreden)",
|
||||
"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.": "U heeft eerder een nieuwere versie van %(brand)s in deze sessie gebruikt. Om deze versie opnieuw met eind-tot-eind-versleuteling te gebruiken, zult u zich moeten afmelden en opnieuw aanmelden.",
|
||||
"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.": "U heeft eerder een nieuwere versie van %(brand)s in deze sessie gebruikt. Om deze versie opnieuw met eind-tot-eind-versleuteling te gebruiken, zult u moeten uitloggen en opnieuw inloggen.",
|
||||
"Block anyone not part of %(serverName)s from ever joining this room.": "Weiger iedereen die geen deel uitmaakt van %(serverName)s aan dit gesprek deel te nemen.",
|
||||
"Create a room in %(communityName)s": "Een gesprek aanmaken in %(communityName)s",
|
||||
"Enable end-to-end encryption": "Eind-tot-eind-versleuteling inschakelen",
|
||||
|
@ -2467,7 +2467,7 @@
|
|||
"Show": "Toon",
|
||||
"People you know on %(brand)s": "Personen die u kent van %(brand)s",
|
||||
"Add another email": "Nog een e-mailadres toevoegen",
|
||||
"Download logs": "Download logboeken",
|
||||
"Download logs": "Logs downloaden",
|
||||
"Add a new server...": "Een nieuwe server toevoegen…",
|
||||
"Server name": "Servernaam",
|
||||
"Add a new server": "Een nieuwe server toevoegen",
|
||||
|
@ -2479,8 +2479,8 @@
|
|||
"Enter a server name": "Geef een servernaam",
|
||||
"Continue with %(provider)s": "Doorgaan met %(provider)s",
|
||||
"Homeserver": "Homeserver",
|
||||
"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.": "U kunt de aangepaste serverinstellingen gebruiken om u aan te melden bij andere Matrix-servers, door een andere homeserver-URL in te voeren. Dit laat u toe Element te gebruiken met een bestaande Matrix-account bij een andere homeserver.",
|
||||
"Server Options": "Serverinstellingen",
|
||||
"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.": "U kunt de server opties wijzigen om in te loggen bij andere Matrix-servers, wijzig hiervoor de homeserver-URL. Hiermee kunt u Element gebruiken met een al bestaand Matrix-account van een andere homeserver.",
|
||||
"Server Options": "Server opties",
|
||||
"This address is already in use": "Dit adres is al in gebruik",
|
||||
"This address is available to use": "Dit adres kan worden gebruikt",
|
||||
"Please provide a room address": "Geef een gespreksadres",
|
||||
|
@ -2539,7 +2539,7 @@
|
|||
"Invite by email": "Via e-mail uitnodigen",
|
||||
"Click the button below to confirm your identity.": "Druk op de knop hieronder om uw identiteit te bevestigen.",
|
||||
"Confirm to continue": "Bevestig om door te gaan",
|
||||
"Report a bug": "Een fout rapporteren",
|
||||
"Report a bug": "Een bug rapporteren",
|
||||
"Comment": "Opmerking",
|
||||
"Add comment": "Opmerking toevoegen",
|
||||
"Tell us below how you feel about %(brand)s so far.": "Vertel ons hoe %(brand)s u tot dusver bevalt.",
|
||||
|
@ -2640,7 +2640,7 @@
|
|||
"Use this when referencing your community to others. The community ID cannot be changed.": "Gebruik dit om anderen naar uw gemeenschap te verwijzen. De gemeenschaps-ID kan later niet meer veranderd worden.",
|
||||
"Please go into as much detail as you like, so we can track down the problem.": "Gebruik a.u.b. zoveel mogelijk details, zodat wij uw probleem kunnen vinden.",
|
||||
"There are two ways you can provide feedback and help us improve %(brand)s.": "U kunt op twee manieren feedback geven en ons helpen %(brand)s te verbeteren.",
|
||||
"Please view <existingIssuesLink>existing bugs on Github</existingIssuesLink> first. No match? <newIssueLink>Start a new one</newIssueLink>.": "Bekijk eerst de <existingIssuesLink>bestaande problemen op Github</existingIssuesLink>. <newIssueLink>Maak een nieuwe aan</newIssueLink> wanneer u uw probleem niet heeft gevonden.",
|
||||
"Please view <existingIssuesLink>existing bugs on Github</existingIssuesLink> first. No match? <newIssueLink>Start a new one</newIssueLink>.": "Bekijk eerst de <existingIssuesLink>bestaande bugs op GitHub</existingIssuesLink>. <newIssueLink>Maak een nieuwe aan</newIssueLink> wanneer u uw bugs niet heeft gevonden.",
|
||||
"Invite someone using their name, email address, username (like <userId/>) or <a>share this room</a>.": "Nodig iemand uit door gebruik te maken van hun naam, e-mailadres, gebruikersnaam (zoals <userId/>) of <a>deel dit gesprek</a>.",
|
||||
"Invite someone using their name, username (like <userId/>) or <a>share this room</a>.": "Nodig iemand uit door gebruik te maken van hun naam, gebruikersnaam (zoals <userId/>) of <a>deel dit gesprek</a>.",
|
||||
"Send feedback": "Feedback versturen",
|
||||
|
@ -2738,13 +2738,13 @@
|
|||
"Use Security Key or Phrase": "Gebruik veiligheidssleutel of -wachtwoord",
|
||||
"Decide where your account is hosted": "Kies waar uw account wordt gehost",
|
||||
"Host account on": "Host uw account op",
|
||||
"Already have an account? <a>Sign in here</a>": "Heeft u al een account? <a>Aanmelden</a>",
|
||||
"Already have an account? <a>Sign in here</a>": "Heeft u al een account? <a>Inloggen</a>",
|
||||
"%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s of %(usernamePassword)s",
|
||||
"Continue with %(ssoButtons)s": "Ga verder met %(ssoButtons)s",
|
||||
"That username already exists, please try another.": "Die gebruikersnaam bestaat al, probeer een andere.",
|
||||
"New? <a>Create account</a>": "Nieuw? <a>Maak een account aan</a>",
|
||||
"If you've joined lots of rooms, this might take a while": "Als u zich bij veel gesprekken heeft aangesloten, kan dit een tijdje duren",
|
||||
"Signing In...": "Aanmelden...",
|
||||
"Signing In...": "Inloggen...",
|
||||
"Syncing...": "Synchroniseren...",
|
||||
"There was a problem communicating with the homeserver, please try again later.": "Er was een communicatieprobleem met de homeserver, probeer het later opnieuw.",
|
||||
"Community and user menu": "Gemeenschaps- en gebruikersmenu",
|
||||
|
@ -2754,7 +2754,7 @@
|
|||
"User settings": "Gebruikersinstellingen",
|
||||
"Security & privacy": "Veiligheid & privacy",
|
||||
"New here? <a>Create an account</a>": "Nieuw hier? <a>Maak een account</a>",
|
||||
"Got an account? <a>Sign in</a>": "Heeft u een account? <a>Aanmelden</a>",
|
||||
"Got an account? <a>Sign in</a>": "Heeft u een account? <a>Inloggen</a>",
|
||||
"Failed to find the general chat for this community": "De algemene chat voor deze gemeenschap werd niet gevonden",
|
||||
"Filter rooms and people": "Gespreken en personen filteren",
|
||||
"Explore rooms in %(communityName)s": "Ontdek de gesprekken van %(communityName)s",
|
||||
|
@ -2774,8 +2774,8 @@
|
|||
"Create community": "Gemeenschap aanmaken",
|
||||
"Attach files from chat or just drag and drop them anywhere in a room.": "Voeg bestanden toe vanuit het gesprek of sleep ze in een gesprek.",
|
||||
"No files visible in this room": "Geen bestanden zichtbaar in dit gesprek",
|
||||
"Sign in with SSO": "Aanmelden met SSO",
|
||||
"Use email to optionally be discoverable by existing contacts.": "Gebruik e-mail om optioneel ontdekt te worden door bestaande contacten.",
|
||||
"Sign in with SSO": "Inloggen met SSO",
|
||||
"Use email to optionally be discoverable by existing contacts.": "Gebruik e-mail ook om optioneel ontdekt te worden door bestaande contacten.",
|
||||
"Use email or phone to optionally be discoverable by existing contacts.": "Gebruik e-mail of telefoon om optioneel ontdekt te kunnen worden door bestaande contacten.",
|
||||
"Add an email to be able to reset your password.": "Voeg een e-mail toe om uw wachtwoord te kunnen resetten.",
|
||||
"Forgot password?": "Wachtwoord vergeten?",
|
||||
|
@ -2852,7 +2852,7 @@
|
|||
"Continuing temporarily allows the %(hostSignupBrand)s setup process to access your account to fetch verified email addresses. This data is not stored.": "Door tijdelijk door te gaan, krijgt het installatieproces van %(hostSignupBrand)s toegang tot uw account om geverifieerde e-mailadressen op te halen. Deze gegevens worden niet opgeslagen.",
|
||||
"Failed to connect to your homeserver. Please close this dialog and try again.": "Kan geen verbinding maken met uw homeserver. Sluit dit dialoogvenster en probeer het opnieuw.",
|
||||
"Are you sure you wish to abort creation of the host? The process cannot be continued.": "Weet u zeker dat u het aanmaken van de host wilt afbreken? Het proces kan niet worden voortgezet.",
|
||||
"PRO TIP: If you start a bug, please submit <debugLogsLink>debug logs</debugLogsLink> to help us track down the problem.": "PRO TIP: Als u een bug start, stuur ons dan <debugLogsLink>debug logs</debugLogsLink> om ons te helpen het probleem op te sporen.",
|
||||
"PRO TIP: If you start a bug, please submit <debugLogsLink>debug logs</debugLogsLink> to help us track down the problem.": "PRO TIP: Als u een nieuwe bug maakt, stuur ons dan uw <debugLogsLink>foutenlogboek</debugLogsLink> om ons te helpen het probleem op te sporen.",
|
||||
"There was an error updating your community. The server is unable to process your request.": "Er is een fout opgetreden bij het updaten van uw gemeenschap. De server is niet in staat om uw verzoek te verwerken.",
|
||||
"There was an error finding this widget.": "Er is een fout opgetreden bij het vinden van deze widget.",
|
||||
"Server did not return valid authentication information.": "Server heeft geen geldige verificatiegegevens teruggestuurd.",
|
||||
|
@ -2889,7 +2889,7 @@
|
|||
"Submit logs": "Logs versturen",
|
||||
"Messages in this room are end-to-end encrypted. When people join, you can verify them in their profile, just tap on their avatar.": "Berichten in dit gesprek zijn eind-tot-eind-versleuteld. Als personen deelnemen, kan u ze verifiëren in hun profiel, tik hiervoor op hun avatar.",
|
||||
"In encrypted rooms, verify all users to ensure it’s secure.": "Controleer alle gebruikers in versleutelde gesprekken om er zeker van te zijn dat het veilig is.",
|
||||
"Verify all users in a room to ensure it's secure.": "Controleer alle gebruikers in een gesprek om er zeker van te zijn dat hij veilig is.",
|
||||
"Verify all users in a room to ensure it's secure.": "Controleer alle gebruikers in een gesprek om er zeker van te zijn dat het veilig is.",
|
||||
"%(count)s people|one": "%(count)s persoon",
|
||||
"Add widgets, bridges & bots": "Widgets, bruggen & bots toevoegen",
|
||||
"Edit widgets, bridges & bots": "Widgets, bruggen & bots bewerken",
|
||||
|
@ -2921,10 +2921,10 @@
|
|||
"%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use <desktopLink>%(brand)s Desktop</desktopLink> for encrypted messages to appear in search results.": "%(brand)s kan versleutelde berichten niet veilig lokaal opslaan in een webbrowser. Gebruik <desktopLink>%(brand)s Desktop</desktopLink> om versleutelde berichten in zoekresultaten te laten verschijnen.",
|
||||
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|one": "Veilig lokaal opslaan van versleutelde berichten zodat ze in de zoekresultaten verschijnen, gebruik %(size)s voor het opslaan van berichten uit %(rooms)s gesprek.",
|
||||
"Securely cache encrypted messages locally for them to appear in search results, using %(size)s to store messages from %(rooms)s rooms.|other": "Veilig lokaal opslaan van versleutelde berichten zodat ze in de zoekresultaten verschijnen, gebruik %(size)s voor het opslaan van berichten uit %(rooms)s gesprekken.",
|
||||
"Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.": "Elke sessie die door een gebruiker wordt gebruikt, afzonderlijk verifiëren om deze als vertrouwd aan te merken, waarbij geen vertrouwen wordt gesteld in kruiselings ondertekende apparaten.",
|
||||
"User signing private key:": "Gebruiker ondertekening privésleutel:",
|
||||
"Master private key:": "Hoofd privésleutel:",
|
||||
"Self signing private key:": "Zelfondertekenende privésleutel:",
|
||||
"Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.": "Verifieer elke sessie die door een gebruiker wordt gebruikt afzonderlijk. Dit markeert hem als vertrouwd zonder te vertrouwen op kruislings ondertekende apparaten.",
|
||||
"User signing private key:": "Gebruikerondertekening-privésleutel:",
|
||||
"Master private key:": "Hoofdprivésleutel:",
|
||||
"Self signing private key:": "Zelfondertekening-privésleutel:",
|
||||
"Cross-signing is not set up.": "Kruiselings ondertekenen is niet ingesteld.",
|
||||
"Cross-signing is ready for use.": "Kruiselings ondertekenen is klaar voor gebruik.",
|
||||
"Your server isn't responding to some <a>requests</a>.": "Uw server reageert niet op sommige <a>verzoeken</a>.",
|
||||
|
@ -2941,13 +2941,13 @@
|
|||
"Minimize dialog": "Dialoog minimaliseren",
|
||||
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Als u nu annuleert, kunt u versleutelde berichten en gegevens verliezen als u geen toegang meer heeft tot uw login.",
|
||||
"Confirm your identity by verifying this login from one of your other sessions, granting it access to encrypted messages.": "Bevestig uw identiteit door deze login te verifiëren vanuit een van uw andere sessies, waardoor u toegang krijgt tot uw versleutelde berichten.",
|
||||
"Verify this login": "Controleer deze login",
|
||||
"Verify this login": "Deze inlog verifiëren",
|
||||
"To continue, use Single Sign On to prove your identity.": "Om verder te gaan, gebruik uw eenmalige aanmelding om uw identiteit te bewijzen.",
|
||||
"Prepends ( ͡° ͜ʖ ͡°) to a plain-text message": "Plakt ( ͡° ͜ʖ ͡°) vóór een bericht zonder opmaak",
|
||||
"Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message": "Plakt ┬──┬ ノ( ゜-゜ノ) vóór een bericht zonder opmaak",
|
||||
"Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message": "Plakt (╯°□°)╯︵ ┻━┻ vóór een bericht zonder opmaak",
|
||||
"Liberate your communication": "Bevrijd uw communicatie",
|
||||
"Create a Group Chat": "Maak een groepsgesprek aan",
|
||||
"Create a Group Chat": "Maak een groepsgesprek",
|
||||
"Send a Direct Message": "Start een direct gesprek",
|
||||
"Welcome to %(appName)s": "Welkom bij %(appName)s",
|
||||
"<a>Add a topic</a> to help people know what it is about.": "<a>Stel een gespreksonderwerp in</a> zodat de personen weten waar het over gaat.",
|
||||
|
@ -3024,7 +3024,7 @@
|
|||
"Start audio stream": "Audio-stream starten",
|
||||
"Failed to start livestream": "Starten van livestream is mislukt",
|
||||
"Unable to start audio streaming.": "Kan audio-streaming niet starten.",
|
||||
"Save Changes": "Wijzigingen Opslaan",
|
||||
"Save Changes": "Wijzigingen opslaan",
|
||||
"Saving...": "Opslaan...",
|
||||
"View dev tools": "Bekijk dev tools",
|
||||
"Leave Space": "Space verlaten",
|
||||
|
@ -3136,7 +3136,7 @@
|
|||
"A new login is accessing your account: %(name)s (%(deviceID)s) at %(ip)s": "Een nieuwe login heeft toegang tot uw account: %(name)s (%(deviceID)s) op %(ip)s",
|
||||
"You have unverified logins": "U heeft ongeverifieerde logins",
|
||||
"Without verifying, you won’t have access to all your messages and may appear as untrusted to others.": "Zonder verifiëren heeft u geen toegang tot al uw berichten en kan u als onvertrouwd aangemerkt staan bij anderen.",
|
||||
"Verify your identity to access encrypted messages and prove your identity to others.": "Verifeer uw identiteit om toegang te krijgen tot uw versleutelde berichten en uw identiteit te bewijzen voor anderen.",
|
||||
"Verify your identity to access encrypted messages and prove your identity to others.": "Verifeer uw identiteit om toegang te krijgen tot uw versleutelde berichten en om uw identiteit te bewijzen voor anderen.",
|
||||
"Use another login": "Gebruik andere login",
|
||||
"Please choose a strong password": "Kies een sterk wachtwoord",
|
||||
"You can add more later too, including already existing ones.": "U kunt er later nog meer toevoegen, inclusief al bestaande gesprekken.",
|
||||
|
@ -3170,7 +3170,7 @@
|
|||
"Share decryption keys for room history when inviting users": "Deel ontsleutelsleutels voor de gespreksgeschiedenis wanneer u personen uitnodigd",
|
||||
"Send and receive voice messages (in development)": "Verstuur en ontvang audioberichten (in ontwikkeling)",
|
||||
"%(deviceId)s from %(ip)s": "%(deviceId)s van %(ip)s",
|
||||
"Review to ensure your account is safe": "Controleer ze voor de zekerheid dat uw account veilig is",
|
||||
"Review to ensure your account is safe": "Controleer ze zodat uw account veilig is",
|
||||
"Sends the given message as a spoiler": "Verstuurt het bericht als een spoiler",
|
||||
"You are the only person here. If you leave, no one will be able to join in the future, including you.": "U bent de enige persoon hier. Als u weggaat, zal niemand in de toekomst kunnen toetreden, u ook niet.",
|
||||
"If you reset everything, you will restart with no trusted sessions, no trusted users, and might not be able to see past messages.": "Als u alles reset, zult u opnieuw opstarten zonder vertrouwde sessies, zonder vertrouwde gebruikers, en zult u misschien geen vroegere berichten meer kunnen zien.",
|
||||
|
@ -3205,5 +3205,53 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s resultaten in alle spaces",
|
||||
"You have no ignored users.": "U heeft geen gebruiker genegeerd.",
|
||||
"Play": "Afspelen",
|
||||
"Pause": "Pauze"
|
||||
"Pause": "Pauze",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Dit is een experimentele functie.</b> Voorlopig moeten nieuwe personen die een uitnodiging krijgen de <link/> gebruiken om daadwerkelijk deel te nemen.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Om aan %(spaceName)s deel te nemen moet u de <a>Spaces beta</a> inschakelen",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Om %(spaceName)s te bekijken moet u de <a>Spaces beta</a> inschakelen",
|
||||
"Select a room below first": "Start met selecteren van een gesprek hieronder",
|
||||
"Communities are changing to Spaces": "Gemeenschappen worden vervangen door Spaces",
|
||||
"Join the beta": "Aan beta deelnemen",
|
||||
"Leave the beta": "Beta verlaten",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Klik voor meer info",
|
||||
"Spaces is a beta feature": "Spaces zijn in beta",
|
||||
"Want to add a new room instead?": "Wilt u anders een nieuw gesprek toevoegen?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Gesprek toevoegen...",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Gesprekken toevoegen... (%(progress)s van %(count)s)",
|
||||
"Not all selected were added": "Niet alle geselecteerden zijn toegevoegd",
|
||||
"You can add existing spaces to a space.": "U kunt bestaande spaces toevoegen aan een space.",
|
||||
"Feeling experimental?": "Zin in een experiment?",
|
||||
"You are not allowed to view this server's rooms list": "U heeft geen toegang tot deze server zijn gesprekkenlijst",
|
||||
"Error processing voice message": "Fout bij verwerking spraakbericht",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "We hebben geen microfoon gevonden op uw apparaat. Controleer uw instellingen en probeer het opnieuw.",
|
||||
"No microphone found": "Geen microfoon gevonden",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "We hebben geen toegang tot uw microfoon. Controleer uw browserinstellingen en probeer het opnieuw.",
|
||||
"Unable to access your microphone": "Geen toegang tot uw microfoon",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Zin in een experiment? Labs is de beste manier om dingen vroeg te krijgen, nieuwe functies uit te testen en ze te helpen vormen voordat ze daadwerkelijk worden gelanceerd. <a>Lees meer</a>.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Uw toegangstoken geeft u toegang to uw account. Deel hem niet met anderen.",
|
||||
"Access Token": "Toegangstoken",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Spaces zijn de nieuwe manier om gesprekken en personen te groeperen. Om aan een bestaande space deel te nemen heeft u een uitnodiging nodig.",
|
||||
"Please enter a name for the space": "Vul een naam in voor deze space",
|
||||
"Connecting": "Verbinden",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Peer-to-peer voor 1op1 oproepen toestaan (als u dit inschakelt kunnen andere personen mogelijk uw ipadres zien)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Beta beschikbaar voor web, desktop en Android. Sommige functies zijn nog niet beschikbaar op uw homeserver.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "U kunt de beta elk moment verlaten via instellingen of door op de beta badge hierboven te klikken.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s zal herladen met Spaces ingeschakeld. Gemeenschappen en labels worden verborgen.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Beta beschikbaar voor web, desktop en Android. Bedankt dat u de beta wilt proberen.",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s zal herladen met Spaces uitgeschakeld. Gemeenschappen en labels zullen weer zichtbaar worden.",
|
||||
"Spaces are a new way to group rooms and people.": "Spaces zijn de nieuwe manier om gesprekken en personen te groeperen.",
|
||||
"Message search initialisation failed": "Zoeken in berichten opstarten is mislukt",
|
||||
"Spaces are a beta feature.": "Spaces zijn een beta functie.",
|
||||
"Search names and descriptions": "Namen en beschrijvingen zoeken",
|
||||
"You may contact me if you have any follow up questions": "U mag contact met mij opnemen als u nog vervolg vragen heeft",
|
||||
"To leave the beta, visit your settings.": "Om de beta te verlaten, ga naar uw instellingen.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Uw platform en gebruikersnaam zullen worden opgeslagen om onze te helpen uw feedback zo goed mogelijk te gebruiken.",
|
||||
"%(featureName)s beta feedback": "%(featureName)s beta feedback",
|
||||
"Thank you for your feedback, we really appreciate it.": "Bedankt voor uw feedback, we waarderen het enorm.",
|
||||
"Beta feedback": "Beta feedback",
|
||||
"Add reaction": "Reactie toevoegen",
|
||||
"Send and receive voice messages": "Stuur en ontvang spraakberichten",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Uw feedback maakt spaces beter. Hoe meer details u kan geven, des te beter.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Als u de pagina nu verlaat zal %(brand)s herladen met Spaces uitgeschakeld. Gemeenschappen en labels zullen weer zichtbaar worden."
|
||||
}
|
||||
|
|
|
@ -3305,5 +3305,56 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s përfundime në krejt hapësirat",
|
||||
"You have no ignored users.": "S’keni përdorues të shpërfillur.",
|
||||
"Play": "Luaje",
|
||||
"Pause": "Ndalesë"
|
||||
"Pause": "Ndalesë",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Kjo është një veçori eksperimentale.</b> Hëpërhë, përdoruesve të rinj që marrin një ftesë, do t’u duhet ta hapin ftesën në <link/>, që të marrin pjesë.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "Për të hyrë në %(spaceName)s, aktivizoni <a>beta-n për Hapësira</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "Për të parë %(spaceName)s, aktivizoni <a>beta-n për Hapësira</a>",
|
||||
"Spaces are a beta feature.": "Hapësirat janë një veçori në version beta.",
|
||||
"Search names and descriptions": "Kërko te emra dhe përshkrime",
|
||||
"Select a room below first": "Së pari, përzgjidhni më poshtë një dhomë",
|
||||
"Communities are changing to Spaces": "Bashkësitë po ndryshojnë në Hapësira",
|
||||
"Join the beta": "Merrni pjesë te beta",
|
||||
"Leave the beta": "Braktiseni beta-n",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Për më tepër hollësi, prekeni",
|
||||
"Spaces is a beta feature": "Hapësirat janë një veçori në version beta",
|
||||
"You may contact me if you have any follow up questions": "Mund të lidheni me mua, nëse keni pyetje të mëtejshme",
|
||||
"To leave the beta, visit your settings.": "Që të braktisni beta-n, vizitoni rregullimet tuaja.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Platforma dhe emri juaj i përdoruesit do të mbahen shënim, për të na ndihmuar t’i përdorim përshtypjet tuaja sa më shumë që të mundemi.",
|
||||
"%(featureName)s beta feedback": "Përshtypje për beta %(featureName)s",
|
||||
"Thank you for your feedback, we really appreciate it.": "Faleminderit për përshtypjet tuaja, vërtet e çmojmë.",
|
||||
"Beta feedback": "Përshtypje për versionin Beta",
|
||||
"Want to add a new room instead?": "Doni të shtohet një dhomë e re, në vend të kësaj?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Po shtohet dhomë…",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Po shtohen dhoma… (%(progress)s nga %(count)s)",
|
||||
"Not all selected were added": "S’u shtuan të gjithë të përzgjedhurit",
|
||||
"You can add existing spaces to a space.": "Mund të shtoni hapësira ekzistuese te një hapësirë.",
|
||||
"Feeling experimental?": "Ndiheni eksperimentues?",
|
||||
"You are not allowed to view this server's rooms list": "S’keni leje të shihni listën e dhomave të këtij shërbyesi",
|
||||
"Zoom in": "Zmadhoje",
|
||||
"Zoom out": "Zvogëloje",
|
||||
"Add reaction": "Shtoni reagim",
|
||||
"Error processing voice message": "Gabim në përpunimin e mesazhit zanor",
|
||||
"Accept on your other login…": "Pranojeni te hyrja tjetër e juaja…",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "S’gjetëm mikrofon në pajisjen tuaj. Ju lutemi, kontrolloni rregullimet tuaja dhe riprovoni.",
|
||||
"No microphone found": "S’u gjet mikrofon",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "S’qemë në gjendje të përdorim mikrofonin tuaj. Ju lutemi, kontrolloni rregullimet e shfletuesit tuaj dhe riprovoni.",
|
||||
"Unable to access your microphone": "S’arrihet të përdoret mikrofoni juaj",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Ndiheni eksperimentues? Laboratorët janë rruga më e mirë për t’u marrë herët me gjërat, për të provuar veçori të reja dhe për të ndihmuar t’u jepet formë atyre, përpara se të hidhen faktikisht në qarkullim. <a>Mësoni më tepër</a>.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Tokeni-i juaj i hyrjeve jep hyrje të plotë në llogarinë tuaj. Mos ia jepni kujt.",
|
||||
"Access Token": "Token Hyrjesh",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Hapësirat janë rrugë e re për të grupuar dhoma dhe njerëz. Për t’u bërë pjesë e një hapësire ekzistuese, do t’ju duhet një ftesë.",
|
||||
"Please enter a name for the space": "Ju lutemi, jepni një emër për hapësirën",
|
||||
"Connecting": "Po lidhet",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Lejo Tek-për-Tek për thirrje 1:1 (nëse e aktivizoni këtë, pala tjetër mund të jetë në gjendje të shohë adresën tuaj IP)",
|
||||
"New spinner design": "Rrotullues i ri",
|
||||
"Send and receive voice messages": "Dërgoni dhe merrni mesazhe zanorë",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Përshtypjet tuaja do t’i bëjnë hapësirat më të mira. Sa më shumë hollësi që të jepni, aq më mirë.",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Beta e gatshme për web, desktop dhe Android. Disa veçori mund të mos jenë të përdorshme në shërbyesin tuaj Home.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Beta-n mund ta braktisni në çfarëdo kohe, që nga rregullimet, ose duke prekur një stemë beta, si ajo më sipër.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s do të ringarkohet me Hapësirat të aktivizuara. Bashkësitë dhe etiketat vetjake do të jenë të fshehura.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Beta e gatshme për web, desktop dhe Android. Faleminderit që provoni beta-n.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Nëse ikni, %(brand)s-i do të ringarkohet me Hapësira të çaktivizuara. Bashkësitë dhe etiketat vetjake do të jenë sërish të dukshme.",
|
||||
"Spaces are a new way to group rooms and people.": "Hapësirat janë një rrugë e re për të grupuar dhoma dhe njerëz.",
|
||||
"Message search initialisation failed": "Dështoi gatitje kërkimi mesazhesh"
|
||||
}
|
||||
|
|
|
@ -3250,5 +3250,52 @@
|
|||
"%(count)s results in all spaces|other": "%(count)s resultat i alla utrymmen",
|
||||
"You have no ignored users.": "Du har inga ignorerade användare.",
|
||||
"Play": "Spela",
|
||||
"Pause": "Pausa"
|
||||
"Pause": "Pausa",
|
||||
"Message search initialisation failed": "Initialisering av meddelandesökning misslyckades",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "För att se %(spaceName)s, aktivera <a>utrymmesbetan</a>",
|
||||
"Spaces are a beta feature.": "Utrymmen är en betafunktion.",
|
||||
"Search names and descriptions": "Sök namn och beskrivningar",
|
||||
"Select a room below first": "Välj ett rum nedan först",
|
||||
"Communities are changing to Spaces": "Gemenskaper byts ut mot utrymmen",
|
||||
"Join the beta": "Gå med i betan",
|
||||
"Leave the beta": "Lämna betan",
|
||||
"Beta": "Beta",
|
||||
"Tap for more info": "Klicka för mer info",
|
||||
"Spaces is a beta feature": "Utrymmen är en betafunktion",
|
||||
"You may contact me if you have any follow up questions": "Ni kan kontakta mig om ni har vidare frågor",
|
||||
"To leave the beta, visit your settings.": "För att lämna betan, besök dina inställningar.",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "Din plattform och ditt användarnamn kommer att noteras för att hjälpa oss att använda din återkoppling så mycket vi kan.",
|
||||
"%(featureName)s beta feedback": "%(featureName)s betaåterkoppling",
|
||||
"Thank you for your feedback, we really appreciate it.": "Tack för din återkoppling, vi uppskattar det verkligen.",
|
||||
"Beta feedback": "Betaåterkoppling",
|
||||
"Want to add a new room instead?": "Vill du lägga till ett nytt rum istället?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "Lägger till rum…",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "Lägger till rum… (%(progress)s av %(count)s)",
|
||||
"Not all selected were added": "Inte alla valda tillades",
|
||||
"You can add existing spaces to a space.": "Du kan lägga till existerande utrymmen till ett utrymme.",
|
||||
"Feeling experimental?": "Känner du dig äventyrlig?",
|
||||
"You are not allowed to view this server's rooms list": "Du tillåts inte att se den här serverns rumslista",
|
||||
"Add reaction": "Lägg till reaktion",
|
||||
"Error processing voice message": "Fel vid hantering av röstmeddelande",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "Vi kunde inte hitta en mikrofon på din enhet. Vänligen kolla dina inställningar och försök igen.",
|
||||
"No microphone found": "Ingen mikrofon hittad",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "Vi kunde inte komma åt din mikrofon. Vänligen kolla dina webbläsarinställningar och försök igen.",
|
||||
"Unable to access your microphone": "Kan inte komma åt din mikrofon",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "Känner du dig äventyrlig? Experiment är det bästa sättet att få saker tidigt, testa nya funktioner och hjälpa till att forma dem innan de egentligen släpps <a>Läs mer</a>.",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "Din åtkomsttoken ger full åtkomst till ditt konto. Dela den inte med någon.",
|
||||
"Access Token": "Åtkomsttoken",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Utrymmen är ett nytt sätt att gruppera rum och personer. För att gå med i existerande utrymme så behöver du en inbjudan.",
|
||||
"Please enter a name for the space": "Vänligen ange ett namn för utrymmet",
|
||||
"Connecting": "Ansluter",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "Tillåt peer-to-peer för 1:1-samtal (om du aktiverar det hör så kan den andra parten kanske se din IP-adress)",
|
||||
"Send and receive voice messages": "Skicka och ta emot röstmeddelanden",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "Din återkoppling kommer att hjälpa till att göra utrymmen bättre. Ju fler detaljer du kan ge desto bättre.",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "Beta tillgänglig för webben, skrivbord och Android. Vissa funktioner kan vara otillgängliga på din hemserver.",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "Du kan lämna betan när som helst från inställningarna eller genom att trycka en betabricka, som den ovan.",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s kommer att ladda om med utrymmen aktiverade. Gemenskaper och anpassade taggar kommer att döljas.",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "Beta tillgänglig för webben, skrivbord och Android. Tack för att du provar betan.",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "Om du lämnar så kommer %(brand)s att ladda om med utrymmen inaktiverade. Gemenskaper och anpassade taggar kommer att synas igen.",
|
||||
"Spaces are a new way to group rooms and people.": "Utrymmen är nya sätt att gruppera rum och personer.",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>Det här är en experimentell funktion.</b> För tillfället så behöver nya inbjudna användare öppna inbjudan på <link/> för att faktiskt gå med.",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "För att gå med i %(spaceName)s, aktivera <a>utrymmesbetan</a>"
|
||||
}
|
||||
|
|
|
@ -3322,5 +3322,53 @@
|
|||
"%(count)s results in all spaces|other": "所有空間中有 %(count)s 個結果",
|
||||
"You have no ignored users.": "您沒有忽略的使用者。",
|
||||
"Play": "播放",
|
||||
"Pause": "暫停"
|
||||
"Pause": "暫停",
|
||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>這是實驗性功能。</b>目前,收到邀請的新使用者必須在 <link/> 上開啟邀請才能真的加入。",
|
||||
"To join %(spaceName)s, turn on the <a>Spaces beta</a>": "要加入 %(spaceName)s,請開啟<a>空間測試版</a>",
|
||||
"To view %(spaceName)s, turn on the <a>Spaces beta</a>": "要檢視 %(spaceName)s,開啟<a>空間測試版</a>",
|
||||
"Select a room below first": "首先選取一個聊天室",
|
||||
"Communities are changing to Spaces": "社群正在變更為空間",
|
||||
"Join the beta": "加入測試版",
|
||||
"Leave the beta": "離開測試版",
|
||||
"Beta": "測試",
|
||||
"Tap for more info": "點擊以取得更多資訊",
|
||||
"Spaces is a beta feature": "空間為測試功能",
|
||||
"Want to add a new room instead?": "想要新增新聊天室嗎?",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|one": "正在新增聊天室……",
|
||||
"Adding rooms... (%(progress)s out of %(count)s)|other": "正在新增聊天室……(%(count)s 中的第 %(progress)s 個)",
|
||||
"Not all selected were added": "並非所有選定的都被新增了",
|
||||
"You can add existing spaces to a space.": "您可以新增既有的空間至空間中。",
|
||||
"Feeling experimental?": "想要來點實驗嗎?",
|
||||
"You are not allowed to view this server's rooms list": "您不被允許檢視此伺服器的聊天室清單",
|
||||
"Error processing voice message": "處理語音訊息時發生錯誤",
|
||||
"We didn't find a microphone on your device. Please check your settings and try again.": "我們在您的裝置上找不到麥克風。請檢查您的設定並再試一次。",
|
||||
"No microphone found": "找不到麥克風",
|
||||
"We were unable to access your microphone. Please check your browser settings and try again.": "我們無法存取您的麥克風。請檢查您的瀏覽器設定並再試一次。",
|
||||
"Unable to access your microphone": "無法存取您的麥克風",
|
||||
"Feeling experimental? Labs are the best way to get things early, test out new features and help shape them before they actually launch. <a>Learn more</a>.": "想要來點實驗嗎?實驗室是儘早取得成果,測試新功能並在實際發佈前協助塑造它們的最佳方式。<a>取得更多資訊</a>。",
|
||||
"Your access token gives full access to your account. Do not share it with anyone.": "您的存取權杖可給您帳號完整的存取權限。不要將其與任何人分享。",
|
||||
"Access Token": "存取權杖",
|
||||
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "空間是將聊天室與人們分組的一種新方式。要加入既有的空間,您需要邀請。",
|
||||
"Please enter a name for the space": "請輸入空間名稱",
|
||||
"Connecting": "正在連線",
|
||||
"Allow Peer-to-Peer for 1:1 calls (if you enable this, the other party might be able to see your IP address)": "允許在 1:1 通話中使用點對點通訊(若您啟用此功能,對方就能看到您的 IP 位置)",
|
||||
"Beta available for web, desktop and Android. Some features may be unavailable on your homeserver.": "供網頁、桌面與 Android 使用的測試版。部份功能可能在您的家伺服器上不可用。",
|
||||
"You can leave the beta any time from settings or tapping on a beta badge, like the one above.": "您可以隨時從設定中退出測試版,或是點擊測試版徽章,例如上面那個。",
|
||||
"%(brand)s will reload with Spaces enabled. Communities and custom tags will be hidden.": "%(brand)s 將在啟用空間的情況下重新載入。社群與自訂標籤將會隱藏。",
|
||||
"Beta available for web, desktop and Android. Thank you for trying the beta.": "測試版可用於網路、桌面與 Android。感謝您試用測試版。",
|
||||
"%(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "%(brand)s 將在停用空間的情況下重新載入。社群與自訂標籤將再次可見。",
|
||||
"Spaces are a new way to group rooms and people.": "空間是將聊天室與人們分組的一種新方式。",
|
||||
"Message search initialisation failed": "訊息搜尋初始化失敗",
|
||||
"Spaces are a beta feature.": "空間為測試版功能。",
|
||||
"Search names and descriptions": "搜尋名稱與描述",
|
||||
"You may contact me if you have any follow up questions": "如果您還有任何後續問題,可以聯絡我",
|
||||
"To leave the beta, visit your settings.": "要離開測試版,請造訪您的設定。",
|
||||
"Your platform and username will be noted to help us use your feedback as much as we can.": "我們將會記錄您的平台與使用者名稱,以協助我們盡可能使用您的回饋。",
|
||||
"%(featureName)s beta feedback": "%(featureName)s 測試版回饋",
|
||||
"Thank you for your feedback, we really appreciate it.": "感謝您的回饋,我們衷心感謝。",
|
||||
"Beta feedback": "測試版回饋",
|
||||
"Add reaction": "新增反應",
|
||||
"Send and receive voice messages": "傳送與接收語音訊息",
|
||||
"Your feedback will help make spaces better. The more detail you can go into, the better.": "您的回饋意見將會讓空間變得更好。您可以輸入愈多細節愈好。",
|
||||
"If you leave, %(brand)s will reload with Spaces disabled. Communities and custom tags will be visible again.": "若您離開,%(brand)s 將在停用空間的情況下重新載入。社群與自訂標籤將再次可見。"
|
||||
}
|
||||
|
|
57
src/performance/entry-names.ts
Normal file
57
src/performance/entry-names.ts
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
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.
|
||||
*/
|
||||
|
||||
export enum PerformanceEntryNames {
|
||||
|
||||
/**
|
||||
* Application wide
|
||||
*/
|
||||
|
||||
APP_STARTUP = "mx_AppStartup",
|
||||
PAGE_CHANGE = "mx_PageChange",
|
||||
|
||||
/**
|
||||
* Events
|
||||
*/
|
||||
|
||||
RESEND_EVENT = "mx_ResendEvent",
|
||||
SEND_E2EE_EVENT = "mx_SendE2EEEvent",
|
||||
SEND_ATTACHMENT = "mx_SendAttachment",
|
||||
|
||||
/**
|
||||
* Rooms
|
||||
*/
|
||||
|
||||
SWITCH_ROOM = "mx_SwithRoom",
|
||||
JUMP_TO_ROOM = "mx_JumpToRoom",
|
||||
JOIN_ROOM = "mx_JoinRoom",
|
||||
CREATE_DM = "mx_CreateDM",
|
||||
PEEK_ROOM = "mx_PeekRoom",
|
||||
|
||||
/**
|
||||
* User
|
||||
*/
|
||||
|
||||
VERIFY_E2EE_USER = "mx_VerifyE2EEUser",
|
||||
LOGIN = "mx_Login",
|
||||
REGISTER = "mx_Register",
|
||||
|
||||
/**
|
||||
* VoIP
|
||||
*/
|
||||
|
||||
SETUP_VOIP_CALL = "mx_SetupVoIPCall",
|
||||
}
|
178
src/performance/index.ts
Normal file
178
src/performance/index.ts
Normal file
|
@ -0,0 +1,178 @@
|
|||
/*
|
||||
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 { PerformanceEntryNames } from "./entry-names";
|
||||
|
||||
interface GetEntriesOptions {
|
||||
name?: string,
|
||||
type?: string,
|
||||
}
|
||||
|
||||
type PerformanceCallbackFunction = (entry: PerformanceEntry[]) => void;
|
||||
|
||||
interface PerformanceDataListener {
|
||||
entryNames?: string[],
|
||||
callback: PerformanceCallbackFunction
|
||||
}
|
||||
|
||||
export default class PerformanceMonitor {
|
||||
static _instance: PerformanceMonitor;
|
||||
|
||||
private START_PREFIX = "start:"
|
||||
private STOP_PREFIX = "stop:"
|
||||
|
||||
private listeners: PerformanceDataListener[] = []
|
||||
private entries: PerformanceEntry[] = []
|
||||
|
||||
public static get instance(): PerformanceMonitor {
|
||||
if (!PerformanceMonitor._instance) {
|
||||
PerformanceMonitor._instance = new PerformanceMonitor();
|
||||
}
|
||||
return PerformanceMonitor._instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts a performance recording
|
||||
* @param name Name of the recording
|
||||
* @param id Specify an identifier appended to the measurement name
|
||||
* @returns {void}
|
||||
*/
|
||||
start(name: string, id?: string): void {
|
||||
if (!this.supportsPerformanceApi()) {
|
||||
return;
|
||||
}
|
||||
const key = this.buildKey(name, id);
|
||||
|
||||
if (performance.getEntriesByName(this.START_PREFIX + key).length > 0) {
|
||||
console.warn(`Recording already started for: ${name}`);
|
||||
return;
|
||||
}
|
||||
|
||||
performance.mark(this.START_PREFIX + key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Stops a performance recording and stores delta duration
|
||||
* with the start marker
|
||||
* @param name Name of the recording
|
||||
* @param id Specify an identifier appended to the measurement name
|
||||
* @returns {void}
|
||||
*/
|
||||
stop(name: string, id?: string): PerformanceEntry {
|
||||
if (!this.supportsPerformanceApi()) {
|
||||
return;
|
||||
}
|
||||
const key = this.buildKey(name, id);
|
||||
if (performance.getEntriesByName(this.START_PREFIX + key).length === 0) {
|
||||
console.warn(`No recording started for: ${name}`);
|
||||
return;
|
||||
}
|
||||
|
||||
performance.mark(this.STOP_PREFIX + key);
|
||||
performance.measure(
|
||||
key,
|
||||
this.START_PREFIX + key,
|
||||
this.STOP_PREFIX + key,
|
||||
);
|
||||
|
||||
this.clear(name, id);
|
||||
|
||||
const measurement = performance.getEntriesByName(key).pop();
|
||||
|
||||
// Keeping a reference to all PerformanceEntry created
|
||||
// by this abstraction for historical events collection
|
||||
// when adding a data callback
|
||||
this.entries.push(measurement);
|
||||
|
||||
this.listeners.forEach(listener => {
|
||||
if (this.shouldEmit(listener, measurement)) {
|
||||
listener.callback([measurement])
|
||||
}
|
||||
});
|
||||
|
||||
return measurement;
|
||||
}
|
||||
|
||||
clear(name: string, id?: string): void {
|
||||
if (!this.supportsPerformanceApi()) {
|
||||
return;
|
||||
}
|
||||
const key = this.buildKey(name, id);
|
||||
performance.clearMarks(this.START_PREFIX + key);
|
||||
performance.clearMarks(this.STOP_PREFIX + key);
|
||||
}
|
||||
|
||||
getEntries({ name, type }: GetEntriesOptions = {}): PerformanceEntry[] {
|
||||
return this.entries.filter(entry => {
|
||||
const satisfiesName = !name || entry.name === name;
|
||||
const satisfiedType = !type || entry.entryType === type;
|
||||
return satisfiesName && satisfiedType;
|
||||
});
|
||||
}
|
||||
|
||||
addPerformanceDataCallback(listener: PerformanceDataListener, buffer = false) {
|
||||
this.listeners.push(listener);
|
||||
if (buffer) {
|
||||
const toEmit = this.entries.filter(entry => this.shouldEmit(listener, entry));
|
||||
if (toEmit.length > 0) {
|
||||
listener.callback(toEmit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
removePerformanceDataCallback(callback?: PerformanceCallbackFunction) {
|
||||
if (!callback) {
|
||||
this.listeners = [];
|
||||
} else {
|
||||
this.listeners.splice(
|
||||
this.listeners.findIndex(listener => listener.callback === callback),
|
||||
1,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tor browser does not support the Performance API
|
||||
* @returns {boolean} true if the Performance API is supported
|
||||
*/
|
||||
private supportsPerformanceApi(): boolean {
|
||||
return performance !== undefined && performance.mark !== undefined;
|
||||
}
|
||||
|
||||
private shouldEmit(listener: PerformanceDataListener, entry: PerformanceEntry): boolean {
|
||||
return !listener.entryNames || listener.entryNames.includes(entry.name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal utility to ensure consistent name for the recording
|
||||
* @param name Name of the recording
|
||||
* @param id Specify an identifier appended to the measurement name
|
||||
* @returns {string} a compound of the name and identifier if present
|
||||
*/
|
||||
private buildKey(name: string, id?: string): string {
|
||||
return `${name}${id ? `:${id}` : ''}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Convenience exports
|
||||
export {
|
||||
PerformanceEntryNames,
|
||||
}
|
||||
|
||||
// Exposing those to the window object to bridge them from tests
|
||||
window.mxPerformanceMonitor = PerformanceMonitor.instance;
|
||||
window.mxPerformanceEntryNames = PerformanceEntryNames;
|
|
@ -361,7 +361,8 @@ export class SpaceStoreClass extends AsyncStoreWithClient<IState> {
|
|||
const space = this.matrixClient?.getRoom(spaceId);
|
||||
|
||||
// Add relevant DMs
|
||||
space?.getJoinedMembers().forEach(member => {
|
||||
space?.getMembers().forEach(member => {
|
||||
if (member.membership !== "join" && member.membership !== "invite") return;
|
||||
DMRoomMap.shared().getDMRoomsForUserId(member.userId).forEach(roomId => {
|
||||
roomIds.add(roomId);
|
||||
});
|
||||
|
|
|
@ -94,10 +94,10 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
|
|||
* @param inTagId The tag ID in which the room resides
|
||||
* @returns The preview, or null if none present.
|
||||
*/
|
||||
public getPreviewForRoom(room: Room, inTagId: TagID): string {
|
||||
public async getPreviewForRoom(room: Room, inTagId: TagID): Promise<string> {
|
||||
if (!room) return null; // invalid room, just return nothing
|
||||
|
||||
if (!this.previews.has(room.roomId)) this.generatePreview(room, inTagId);
|
||||
if (!this.previews.has(room.roomId)) await this.generatePreview(room, inTagId);
|
||||
|
||||
const previews = this.previews.get(room.roomId);
|
||||
if (!previews) return null;
|
||||
|
@ -108,7 +108,7 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
|
|||
return previews.get(inTagId);
|
||||
}
|
||||
|
||||
private generatePreview(room: Room, tagId?: TagID) {
|
||||
private async generatePreview(room: Room, tagId?: TagID) {
|
||||
const events = room.timeline;
|
||||
if (!events) return; // should only happen in tests
|
||||
|
||||
|
@ -130,6 +130,9 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
|
|||
}
|
||||
|
||||
const event = events[i];
|
||||
|
||||
await this.matrixClient.decryptEventIfNeeded(event);
|
||||
|
||||
const previewDef = PREVIEWS[event.getType()];
|
||||
if (!previewDef) continue;
|
||||
if (previewDef.isState && isNullOrUndefined(event.getStateKey())) continue;
|
||||
|
@ -174,7 +177,7 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
|
|||
if (payload.action === 'MatrixActions.Room.timeline' || payload.action === 'MatrixActions.Event.decrypted') {
|
||||
const event = payload.event; // TODO: Type out the dispatcher
|
||||
if (!this.previews.has(event.getRoomId())) return; // not important
|
||||
this.generatePreview(this.matrixClient.getRoom(event.getRoomId()), TAG_ANY);
|
||||
await this.generatePreview(this.matrixClient.getRoom(event.getRoomId()), TAG_ANY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,6 @@ import { OrderingAlgorithm } from "./list-ordering/OrderingAlgorithm";
|
|||
import { getListAlgorithmInstance } from "./list-ordering";
|
||||
import SettingsStore from "../../../settings/SettingsStore";
|
||||
import { VisibilityProvider } from "../filters/VisibilityProvider";
|
||||
import { MultiLock } from "../../../utils/MultiLock";
|
||||
|
||||
/**
|
||||
* Fired when the Algorithm has determined a list has been updated.
|
||||
|
@ -78,7 +77,6 @@ export class Algorithm extends EventEmitter {
|
|||
} = {};
|
||||
private allowedByFilter: Map<IFilterCondition, Room[]> = new Map<IFilterCondition, Room[]>();
|
||||
private allowedRoomsByFilters: Set<Room> = new Set<Room>();
|
||||
private handlerLock = new MultiLock();
|
||||
|
||||
/**
|
||||
* Set to true to suspend emissions of algorithm updates.
|
||||
|
@ -681,204 +679,191 @@ export class Algorithm extends EventEmitter {
|
|||
public async handleRoomUpdate(room: Room, cause: RoomUpdateCause): Promise<boolean> {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Acquiring lock for ${room.roomId} with cause ${cause}`);
|
||||
console.log(`Handle room update for ${room.roomId} called with cause ${cause}`);
|
||||
}
|
||||
const release = await this.handlerLock.acquire(room.roomId);
|
||||
try {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Handle room update for ${room.roomId} called with cause ${cause}`);
|
||||
if (!this.algorithms) throw new Error("Not ready: no algorithms to determine tags from");
|
||||
|
||||
// Note: check the isSticky against the room ID just in case the reference is wrong
|
||||
const isSticky = this._stickyRoom && this._stickyRoom.room && this._stickyRoom.room.roomId === room.roomId;
|
||||
if (cause === RoomUpdateCause.NewRoom) {
|
||||
const isForLastSticky = this._lastStickyRoom && this._lastStickyRoom.room === room;
|
||||
const roomTags = this.roomIdsToTags[room.roomId];
|
||||
const hasTags = roomTags && roomTags.length > 0;
|
||||
|
||||
// Don't change the cause if the last sticky room is being re-added. If we fail to
|
||||
// pass the cause through as NewRoom, we'll fail to lie to the algorithm and thus
|
||||
// lose the room.
|
||||
if (hasTags && !isForLastSticky) {
|
||||
console.warn(`${room.roomId} is reportedly new but is already known - assuming TagChange instead`);
|
||||
cause = RoomUpdateCause.PossibleTagChange;
|
||||
}
|
||||
if (!this.algorithms) throw new Error("Not ready: no algorithms to determine tags from");
|
||||
|
||||
// Note: check the isSticky against the room ID just in case the reference is wrong
|
||||
const isSticky = this._stickyRoom && this._stickyRoom.room && this._stickyRoom.room.roomId === room.roomId;
|
||||
if (cause === RoomUpdateCause.NewRoom) {
|
||||
const isForLastSticky = this._lastStickyRoom && this._lastStickyRoom.room === room;
|
||||
const roomTags = this.roomIdsToTags[room.roomId];
|
||||
const hasTags = roomTags && roomTags.length > 0;
|
||||
|
||||
// Don't change the cause if the last sticky room is being re-added. If we fail to
|
||||
// pass the cause through as NewRoom, we'll fail to lie to the algorithm and thus
|
||||
// lose the room.
|
||||
if (hasTags && !isForLastSticky) {
|
||||
console.warn(`${room.roomId} is reportedly new but is already known - assuming TagChange instead`);
|
||||
cause = RoomUpdateCause.PossibleTagChange;
|
||||
}
|
||||
|
||||
// Check to see if the room is known first
|
||||
let knownRoomRef = this.rooms.includes(room);
|
||||
if (hasTags && !knownRoomRef) {
|
||||
console.warn(`${room.roomId} might be a reference change - attempting to update reference`);
|
||||
this.rooms = this.rooms.map(r => r.roomId === room.roomId ? room : r);
|
||||
knownRoomRef = this.rooms.includes(room);
|
||||
if (!knownRoomRef) {
|
||||
console.warn(`${room.roomId} is still not referenced. It may be sticky.`);
|
||||
}
|
||||
}
|
||||
|
||||
// If we have tags for a room and don't have the room referenced, something went horribly
|
||||
// wrong - the reference should have been updated above.
|
||||
if (hasTags && !knownRoomRef && !isSticky) {
|
||||
throw new Error(`${room.roomId} is missing from room array but is known`);
|
||||
}
|
||||
|
||||
// Like above, update the reference to the sticky room if we need to
|
||||
if (hasTags && isSticky) {
|
||||
// Go directly in and set the sticky room's new reference, being careful not
|
||||
// to trigger a sticky room update ourselves.
|
||||
this._stickyRoom.room = room;
|
||||
}
|
||||
|
||||
// If after all that we're still a NewRoom update, add the room if applicable.
|
||||
// We don't do this for the sticky room (because it causes duplication issues)
|
||||
// or if we know about the reference (as it should be replaced).
|
||||
if (cause === RoomUpdateCause.NewRoom && !isSticky && !knownRoomRef) {
|
||||
this.rooms.push(room);
|
||||
// Check to see if the room is known first
|
||||
let knownRoomRef = this.rooms.includes(room);
|
||||
if (hasTags && !knownRoomRef) {
|
||||
console.warn(`${room.roomId} might be a reference change - attempting to update reference`);
|
||||
this.rooms = this.rooms.map(r => r.roomId === room.roomId ? room : r);
|
||||
knownRoomRef = this.rooms.includes(room);
|
||||
if (!knownRoomRef) {
|
||||
console.warn(`${room.roomId} is still not referenced. It may be sticky.`);
|
||||
}
|
||||
}
|
||||
|
||||
let didTagChange = false;
|
||||
if (cause === RoomUpdateCause.PossibleTagChange) {
|
||||
const oldTags = this.roomIdsToTags[room.roomId] || [];
|
||||
const newTags = this.getTagsForRoom(room);
|
||||
const diff = arrayDiff(oldTags, newTags);
|
||||
if (diff.removed.length > 0 || diff.added.length > 0) {
|
||||
for (const rmTag of diff.removed) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Removing ${room.roomId} from ${rmTag}`);
|
||||
}
|
||||
const algorithm: OrderingAlgorithm = this.algorithms[rmTag];
|
||||
if (!algorithm) throw new Error(`No algorithm for ${rmTag}`);
|
||||
await algorithm.handleRoomUpdate(room, RoomUpdateCause.RoomRemoved);
|
||||
this._cachedRooms[rmTag] = algorithm.orderedRooms;
|
||||
this.recalculateFilteredRoomsForTag(rmTag); // update filter to re-sort the list
|
||||
this.recalculateStickyRoom(rmTag); // update sticky room to make sure it moves if needed
|
||||
}
|
||||
for (const addTag of diff.added) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Adding ${room.roomId} to ${addTag}`);
|
||||
}
|
||||
const algorithm: OrderingAlgorithm = this.algorithms[addTag];
|
||||
if (!algorithm) throw new Error(`No algorithm for ${addTag}`);
|
||||
await algorithm.handleRoomUpdate(room, RoomUpdateCause.NewRoom);
|
||||
this._cachedRooms[addTag] = algorithm.orderedRooms;
|
||||
}
|
||||
// If we have tags for a room and don't have the room referenced, something went horribly
|
||||
// wrong - the reference should have been updated above.
|
||||
if (hasTags && !knownRoomRef && !isSticky) {
|
||||
throw new Error(`${room.roomId} is missing from room array but is known - trying to find duplicate`);
|
||||
}
|
||||
|
||||
// Update the tag map so we don't regen it in a moment
|
||||
this.roomIdsToTags[room.roomId] = newTags;
|
||||
// Like above, update the reference to the sticky room if we need to
|
||||
if (hasTags && isSticky) {
|
||||
// Go directly in and set the sticky room's new reference, being careful not
|
||||
// to trigger a sticky room update ourselves.
|
||||
this._stickyRoom.room = room;
|
||||
}
|
||||
|
||||
// If after all that we're still a NewRoom update, add the room if applicable.
|
||||
// We don't do this for the sticky room (because it causes duplication issues)
|
||||
// or if we know about the reference (as it should be replaced).
|
||||
if (cause === RoomUpdateCause.NewRoom && !isSticky && !knownRoomRef) {
|
||||
this.rooms.push(room);
|
||||
}
|
||||
}
|
||||
|
||||
let didTagChange = false;
|
||||
if (cause === RoomUpdateCause.PossibleTagChange) {
|
||||
const oldTags = this.roomIdsToTags[room.roomId] || [];
|
||||
const newTags = this.getTagsForRoom(room);
|
||||
const diff = arrayDiff(oldTags, newTags);
|
||||
if (diff.removed.length > 0 || diff.added.length > 0) {
|
||||
for (const rmTag of diff.removed) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Changing update cause for ${room.roomId} to Timeline to sort rooms`);
|
||||
console.log(`Removing ${room.roomId} from ${rmTag}`);
|
||||
}
|
||||
cause = RoomUpdateCause.Timeline;
|
||||
didTagChange = true;
|
||||
const algorithm: OrderingAlgorithm = this.algorithms[rmTag];
|
||||
if (!algorithm) throw new Error(`No algorithm for ${rmTag}`);
|
||||
await algorithm.handleRoomUpdate(room, RoomUpdateCause.RoomRemoved);
|
||||
this._cachedRooms[rmTag] = algorithm.orderedRooms;
|
||||
this.recalculateFilteredRoomsForTag(rmTag); // update filter to re-sort the list
|
||||
this.recalculateStickyRoom(rmTag); // update sticky room to make sure it moves if needed
|
||||
}
|
||||
for (const addTag of diff.added) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Adding ${room.roomId} to ${addTag}`);
|
||||
}
|
||||
const algorithm: OrderingAlgorithm = this.algorithms[addTag];
|
||||
if (!algorithm) throw new Error(`No algorithm for ${addTag}`);
|
||||
await algorithm.handleRoomUpdate(room, RoomUpdateCause.NewRoom);
|
||||
this._cachedRooms[addTag] = algorithm.orderedRooms;
|
||||
}
|
||||
|
||||
// Update the tag map so we don't regen it in a moment
|
||||
this.roomIdsToTags[room.roomId] = newTags;
|
||||
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Changing update cause for ${room.roomId} to Timeline to sort rooms`);
|
||||
}
|
||||
cause = RoomUpdateCause.Timeline;
|
||||
didTagChange = true;
|
||||
} else {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Received no-op update for ${room.roomId} - changing to Timeline update`);
|
||||
}
|
||||
cause = RoomUpdateCause.Timeline;
|
||||
}
|
||||
|
||||
if (didTagChange && isSticky) {
|
||||
// Manually update the tag for the sticky room without triggering a sticky room
|
||||
// update. The update will be handled implicitly by the sticky room handling and
|
||||
// requires no changes on our part, if we're in the middle of a sticky room change.
|
||||
if (this._lastStickyRoom) {
|
||||
this._stickyRoom = {
|
||||
room,
|
||||
tag: this.roomIdsToTags[room.roomId][0],
|
||||
position: 0, // right at the top as it changed tags
|
||||
};
|
||||
} else {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`Received no-op update for ${room.roomId} - changing to Timeline update`);
|
||||
}
|
||||
cause = RoomUpdateCause.Timeline;
|
||||
}
|
||||
|
||||
if (didTagChange && isSticky) {
|
||||
// Manually update the tag for the sticky room without triggering a sticky room
|
||||
// update. The update will be handled implicitly by the sticky room handling and
|
||||
// requires no changes on our part, if we're in the middle of a sticky room change.
|
||||
if (this._lastStickyRoom) {
|
||||
this._stickyRoom = {
|
||||
room,
|
||||
tag: this.roomIdsToTags[room.roomId][0],
|
||||
position: 0, // right at the top as it changed tags
|
||||
};
|
||||
} else {
|
||||
// We have to clear the lock as the sticky room change will trigger updates.
|
||||
await this.setStickyRoom(room);
|
||||
}
|
||||
// We have to clear the lock as the sticky room change will trigger updates.
|
||||
await this.setStickyRoom(room);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If the update is for a room change which might be the sticky room, prevent it. We
|
||||
// need to make sure that the causes (NewRoom and RoomRemoved) are still triggered though
|
||||
// as the sticky room relies on this.
|
||||
if (cause !== RoomUpdateCause.NewRoom && cause !== RoomUpdateCause.RoomRemoved) {
|
||||
if (this.stickyRoom === room) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.warn(
|
||||
`[RoomListDebug] Received ${cause} update for sticky room ${room.roomId} - ignoring`,
|
||||
);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.roomIdsToTags[room.roomId]) {
|
||||
if (CAUSES_REQUIRING_ROOM.includes(cause)) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.warn(`Skipping tag update for ${room.roomId} because we don't know about the room`);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// If the update is for a room change which might be the sticky room, prevent it. We
|
||||
// need to make sure that the causes (NewRoom and RoomRemoved) are still triggered though
|
||||
// as the sticky room relies on this.
|
||||
if (cause !== RoomUpdateCause.NewRoom && cause !== RoomUpdateCause.RoomRemoved) {
|
||||
if (this.stickyRoom === room) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`[RoomListDebug] Updating tags for room ${room.roomId} (${room.name})`);
|
||||
console.warn(`[RoomListDebug] Received ${cause} update for sticky room ${room.roomId} - ignoring`);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Get the tags for the room and populate the cache
|
||||
const roomTags = this.getTagsForRoom(room).filter(t => !isNullOrUndefined(this.cachedRooms[t]));
|
||||
|
||||
// "This should never happen" condition - we specify DefaultTagID.Untagged in getTagsForRoom(),
|
||||
// which means we should *always* have a tag to go off of.
|
||||
if (!roomTags.length) throw new Error(`Tags cannot be determined for ${room.roomId}`);
|
||||
|
||||
this.roomIdsToTags[room.roomId] = roomTags;
|
||||
|
||||
if (!this.roomIdsToTags[room.roomId]) {
|
||||
if (CAUSES_REQUIRING_ROOM.includes(cause)) {
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`[RoomListDebug] Updated tags for ${room.roomId}:`, roomTags);
|
||||
console.warn(`Skipping tag update for ${room.roomId} because we don't know about the room`);
|
||||
}
|
||||
}
|
||||
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`[RoomListDebug] Reached algorithmic handling for ${room.roomId} and cause ${cause}`);
|
||||
}
|
||||
|
||||
const tags = this.roomIdsToTags[room.roomId];
|
||||
if (!tags) {
|
||||
console.warn(`No tags known for "${room.name}" (${room.roomId})`);
|
||||
return false;
|
||||
}
|
||||
|
||||
let changed = didTagChange;
|
||||
for (const tag of tags) {
|
||||
const algorithm: OrderingAlgorithm = this.algorithms[tag];
|
||||
if (!algorithm) throw new Error(`No algorithm for ${tag}`);
|
||||
|
||||
await algorithm.handleRoomUpdate(room, cause);
|
||||
this._cachedRooms[tag] = algorithm.orderedRooms;
|
||||
|
||||
// Flag that we've done something
|
||||
this.recalculateFilteredRoomsForTag(tag); // update filter to re-sort the list
|
||||
this.recalculateStickyRoom(tag); // update sticky room to make sure it appears if needed
|
||||
changed = true;
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`[RoomListDebug] Updating tags for room ${room.roomId} (${room.name})`);
|
||||
}
|
||||
|
||||
// Get the tags for the room and populate the cache
|
||||
const roomTags = this.getTagsForRoom(room).filter(t => !isNullOrUndefined(this.cachedRooms[t]));
|
||||
|
||||
// "This should never happen" condition - we specify DefaultTagID.Untagged in getTagsForRoom(),
|
||||
// which means we should *always* have a tag to go off of.
|
||||
if (!roomTags.length) throw new Error(`Tags cannot be determined for ${room.roomId}`);
|
||||
|
||||
this.roomIdsToTags[room.roomId] = roomTags;
|
||||
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(
|
||||
`[RoomListDebug] Finished handling ${room.roomId} with cause ${cause} (changed=${changed})`,
|
||||
);
|
||||
console.log(`[RoomListDebug] Updated tags for ${room.roomId}:`, roomTags);
|
||||
}
|
||||
return changed;
|
||||
} finally {
|
||||
release();
|
||||
}
|
||||
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`[RoomListDebug] Reached algorithmic handling for ${room.roomId} and cause ${cause}`);
|
||||
}
|
||||
|
||||
const tags = this.roomIdsToTags[room.roomId];
|
||||
if (!tags) {
|
||||
console.warn(`No tags known for "${room.name}" (${room.roomId})`);
|
||||
return false;
|
||||
}
|
||||
|
||||
let changed = didTagChange;
|
||||
for (const tag of tags) {
|
||||
const algorithm: OrderingAlgorithm = this.algorithms[tag];
|
||||
if (!algorithm) throw new Error(`No algorithm for ${tag}`);
|
||||
|
||||
await algorithm.handleRoomUpdate(room, cause);
|
||||
this._cachedRooms[tag] = algorithm.orderedRooms;
|
||||
|
||||
// Flag that we've done something
|
||||
this.recalculateFilteredRoomsForTag(tag); // update filter to re-sort the list
|
||||
this.recalculateStickyRoom(tag); // update sticky room to make sure it appears if needed
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (SettingsStore.getValue("advancedRoomListLogging")) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/element-web/issues/14602
|
||||
console.log(`[RoomListDebug] Finished handling ${room.roomId} with cause ${cause} (changed=${changed})`);
|
||||
}
|
||||
return changed;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
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 { EnhancedMap } from "./maps";
|
||||
import AwaitLock from "await-lock";
|
||||
|
||||
export type DoneFn = () => void;
|
||||
|
||||
export class MultiLock {
|
||||
private locks = new EnhancedMap<string, AwaitLock>();
|
||||
|
||||
public async acquire(key: string): Promise<DoneFn> {
|
||||
const lock = this.locks.getOrCreate(key, new AwaitLock());
|
||||
await lock.acquireAsync();
|
||||
return () => lock.release();
|
||||
}
|
||||
}
|
1
test/end-to-end-tests/.gitignore
vendored
1
test/end-to-end-tests/.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
node_modules
|
||||
*.png
|
||||
element/env
|
||||
performance-entries.json
|
||||
|
|
|
@ -208,7 +208,7 @@ module.exports = class ElementSession {
|
|||
this.log.done();
|
||||
}
|
||||
|
||||
close() {
|
||||
async close() {
|
||||
return this.browser.close();
|
||||
}
|
||||
|
||||
|
|
|
@ -79,8 +79,26 @@ async function runTests() {
|
|||
await new Promise((resolve) => setTimeout(resolve, 5 * 60 * 1000));
|
||||
}
|
||||
|
||||
await Promise.all(sessions.map((session) => session.close()));
|
||||
const performanceEntries = {};
|
||||
|
||||
await Promise.all(sessions.map(async (session) => {
|
||||
// Collecting all performance monitoring data before closing the session
|
||||
const measurements = await session.page.evaluate(() => {
|
||||
let measurements = [];
|
||||
window.mxPerformanceMonitor.addPerformanceDataCallback({
|
||||
entryNames: [
|
||||
window.mxPerformanceEntryNames.REGISTER,
|
||||
],
|
||||
callback: (events) => {
|
||||
measurements = JSON.stringify(events);
|
||||
},
|
||||
}, true);
|
||||
return measurements;
|
||||
});
|
||||
performanceEntries[session.username] = JSON.parse(measurements);
|
||||
return session.close();
|
||||
}));
|
||||
fs.writeFileSync(`performance-entries.json`, JSON.stringify(performanceEntries));
|
||||
if (failure) {
|
||||
process.exit(-1);
|
||||
} else {
|
||||
|
|
|
@ -234,6 +234,7 @@ export function mkStubRoom(roomId = null) {
|
|||
}),
|
||||
getMembersWithMembership: jest.fn().mockReturnValue([]),
|
||||
getJoinedMembers: jest.fn().mockReturnValue([]),
|
||||
getMembers: jest.fn().mockReturnValue([]),
|
||||
getPendingEvents: () => [],
|
||||
getLiveTimeline: () => stubTimeline,
|
||||
getUnfilteredTimelineSet: () => null,
|
||||
|
|
Loading…
Reference in a new issue