mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 21:24:59 +08:00
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/2
This commit is contained in:
commit
10e547539d
@ -388,8 +388,11 @@ export default class MessagePanel extends React.Component {
|
||||
}
|
||||
|
||||
return (
|
||||
<li key={"readMarker_"+eventId} ref={this._readMarkerNode}
|
||||
className="mx_RoomView_myReadMarker_container">
|
||||
<li key={"readMarker_"+eventId}
|
||||
ref={this._readMarkerNode}
|
||||
className="mx_RoomView_myReadMarker_container"
|
||||
data-scroll-tokens={eventId}
|
||||
>
|
||||
{ hr }
|
||||
</li>
|
||||
);
|
||||
|
@ -32,7 +32,7 @@ import StyledCheckbox from "../elements/StyledCheckbox";
|
||||
import StyledRadioButton from "../elements/StyledRadioButton";
|
||||
import RoomListStore from "../../../stores/room-list/RoomListStore2";
|
||||
import { ListAlgorithm, SortAlgorithm } from "../../../stores/room-list/algorithms/models";
|
||||
import { TagID } from "../../../stores/room-list/models";
|
||||
import { DefaultTagID, TagID } from "../../../stores/room-list/models";
|
||||
|
||||
// TODO: Remove banner on launch: https://github.com/vector-im/riot-web/issues/14231
|
||||
// TODO: Rename on launch: https://github.com/vector-im/riot-web/issues/14231
|
||||
@ -196,6 +196,11 @@ export default class RoomSublist2 extends React.Component<IProps, IState> {
|
||||
}
|
||||
|
||||
private renderMenu(): React.ReactElement {
|
||||
// TODO: Get a proper invite context menu, or take invites out of the room list.
|
||||
if (this.props.tagId === DefaultTagID.Invite) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let contextMenu = null;
|
||||
if (this.state.menuDisplayed) {
|
||||
const elementRect = this.menuButtonRef.current.getBoundingClientRect();
|
||||
|
@ -298,6 +298,11 @@ export default class RoomTile2 extends React.Component<IProps, IState> {
|
||||
private renderGeneralMenu(): React.ReactElement {
|
||||
if (this.props.isMinimized) return null; // no menu when minimized
|
||||
|
||||
// TODO: Get a proper invite context menu, or take invites out of the room list.
|
||||
if (this.props.tag === DefaultTagID.Invite) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let contextMenu = null;
|
||||
if (this.state.generalMenuDisplayed) {
|
||||
const elementRect = this.generalMenuButtonRef.current.getBoundingClientRect();
|
||||
|
@ -23,6 +23,7 @@ import SettingsStore from "../../../../../settings/SettingsStore";
|
||||
import Field from "../../../elements/Field";
|
||||
import * as sdk from "../../../../..";
|
||||
import PlatformPeg from "../../../../../PlatformPeg";
|
||||
import {RoomListStoreTempProxy} from "../../../../../stores/room-list/RoomListStoreTempProxy";
|
||||
|
||||
export default class PreferencesUserSettingsTab extends React.Component {
|
||||
static ROOM_LIST_SETTINGS = [
|
||||
@ -31,6 +32,19 @@ export default class PreferencesUserSettingsTab extends React.Component {
|
||||
'breadcrumbs',
|
||||
];
|
||||
|
||||
// TODO: Remove temp structures: https://github.com/vector-im/riot-web/issues/14231
|
||||
static ROOM_LIST_2_SETTINGS = [
|
||||
'breadcrumbs',
|
||||
];
|
||||
|
||||
// TODO: Remove temp structures: https://github.com/vector-im/riot-web/issues/14231
|
||||
static eligibleRoomListSettings = () => {
|
||||
if (RoomListStoreTempProxy.isUsingNewStore()) {
|
||||
return PreferencesUserSettingsTab.ROOM_LIST_2_SETTINGS;
|
||||
}
|
||||
return PreferencesUserSettingsTab.ROOM_LIST_SETTINGS;
|
||||
};
|
||||
|
||||
static COMPOSER_SETTINGS = [
|
||||
'MessageComposerInput.autoReplaceEmoji',
|
||||
'MessageComposerInput.suggestEmoji',
|
||||
@ -175,7 +189,7 @@ export default class PreferencesUserSettingsTab extends React.Component {
|
||||
|
||||
<div className="mx_SettingsTab_section">
|
||||
<span className="mx_SettingsTab_subheading">{_t("Room list")}</span>
|
||||
{this._renderGroup(PreferencesUserSettingsTab.ROOM_LIST_SETTINGS)}
|
||||
{this._renderGroup(PreferencesUserSettingsTab.eligibleRoomListSettings())}
|
||||
</div>
|
||||
|
||||
<div className="mx_SettingsTab_section">
|
||||
|
@ -2325,7 +2325,7 @@
|
||||
"Verify this login": "Потвърди тази сесия",
|
||||
"Session verified": "Сесията беше потвърдена",
|
||||
"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.": "Промяната на паролата ще нулира всички ключове за шифроване от-край-до-край по всички ваши сесии, правейки шифрованата история на чата нечетима. Настройте резервно копие на ключовете или експортирайте ключовете на стаите от друга сесия преди да промените паролата си.",
|
||||
"Your server admin has disabled end-to-end encryption by default in private rooms & Direct Messages.": "Администраторът на сървъра е изключиш шифроване от край-до-край по подразбиране за лични стаи и за директни съобщения.",
|
||||
"Your server admin has disabled end-to-end encryption by default in private rooms & Direct Messages.": "Администраторът на сървъра е изключил шифроване от край-до-край по подразбиране за лични стаи и за директни съобщения.",
|
||||
"Emoji picker": "Избор на емоджи",
|
||||
"People": "Хора",
|
||||
"Show %(n)s more": "Покажи още %(n)s",
|
||||
@ -2446,5 +2446,27 @@
|
||||
"A-Z": "Азбучен ред",
|
||||
"Unread rooms": "Непрочетени стаи",
|
||||
"Show %(count)s more|other": "Покажи още %(count)s",
|
||||
"Show %(count)s more|one": "Покажи още %(count)s"
|
||||
"Show %(count)s more|one": "Покажи още %(count)s",
|
||||
"Light": "Светла",
|
||||
"Dark": "Тъмна",
|
||||
"Use the improved room list (will refresh to apply changes)": "Използвай подобрения списък със стаи (ще презареди за да се приложи промяната)",
|
||||
"Enable IRC layout option in the appearance tab": "Включи опцията за IRC изглед в раздел Изглед",
|
||||
"Use custom size": "Използвай собствен размер",
|
||||
"Use a system font": "Използвай системния шрифт",
|
||||
"System font name": "Име на системния шрифт",
|
||||
"Hey you. You're the best!": "Хей, ти. Върхът си!",
|
||||
"Message layout": "Изглед на съобщенията",
|
||||
"Compact": "Компактен",
|
||||
"Modern": "Модерен",
|
||||
"Customise your appearance": "Настройте изгледа",
|
||||
"Appearance Settings only affect this Riot session.": "Настройките на изгледа влияят само на тази Riot сесия.",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "Автентичността на това шифровано съобщение не може да бъде гарантирана на това устройство.",
|
||||
"Always show first": "Винаги показвай първо",
|
||||
"Show": "Покажи",
|
||||
"Message preview": "Преглед на съобщението",
|
||||
"List options": "Опции на списъка",
|
||||
"Leave Room": "Напусни стаята",
|
||||
"Room options": "Настройки на стаята",
|
||||
"Use Recovery Key or Passphrase": "Използвай ключ за възстановяване или парола",
|
||||
"Use Recovery Key": "Използвай ключ за възстановяване"
|
||||
}
|
||||
|
@ -2428,8 +2428,8 @@
|
||||
"Set a room address to easily share your room with other people.": "Vergebe eine Raum-Adresse, um diesen Raum auf einfache Weise mit anderen Personen teilen zu können.",
|
||||
"You've previously used a newer version of Riot with this session. To use this version again with end to end encryption, you will need to sign out and back in again.": "Du hast für diese Sitzung zuvor eine neuere Version von Riot verwendet. Um diese Version mit Ende-zu-Ende-Verschlüsselung wieder zu benutzen, musst du dich erst ab- und dann wieder anmelden.",
|
||||
"Delete the room address %(alias)s and remove %(name)s from the directory?": "Soll die Raum-Adresse %(alias)s gelöscht und %(name)s aus dem Raum-Verzeichnis entfernt werden?",
|
||||
"Switch to light mode": "Zum Light Mode wechseln",
|
||||
"Switch to dark mode": "Zum Dark Mode wechseln",
|
||||
"Switch to light mode": "Zum hellen Thema wechseln",
|
||||
"Switch to dark mode": "Zum dunklen Thema wechseln",
|
||||
"Switch theme": "Design ändern",
|
||||
"Security & privacy": "Sicherheit & Datenschutz",
|
||||
"All settings": "Alle Einstellungen",
|
||||
@ -2462,5 +2462,79 @@
|
||||
"Enter your Recovery Key to continue.": "Gib deinen Wiederherstellungsschlüssel ein um fortzufahren.",
|
||||
"Create a Recovery Key": "Erzeuge einen Wiederherstellungsschlüssel",
|
||||
"Upgrade your Recovery Key": "Aktualisiere deinen Wiederherstellungsschlüssel",
|
||||
"Store your Recovery Key": "Speichere deinen Wiederherstellungsschlüssel"
|
||||
"Store your Recovery Key": "Speichere deinen Wiederherstellungsschlüssel",
|
||||
"Light": "Hell",
|
||||
"Dark": "Dunkel",
|
||||
"Use the improved room list (will refresh to apply changes)": "Verwende die verbesserte Raumliste (lädt die Anwendung neu)",
|
||||
"Use custom size": "Verwende individuelle Größe",
|
||||
"Hey you. You're the best!": "Hey du. Du bist der Beste!",
|
||||
"Message layout": "Nachrichtenlayout",
|
||||
"Compact": "Kompakt",
|
||||
"Modern": "Modern",
|
||||
"Enable IRC layout option in the appearance tab": "Option für IRC Layout in den Erscheinungsbild-Einstellungen aktivieren",
|
||||
"Use a system font": "Verwende die System-Schriftart",
|
||||
"System font name": "System-Schriftart",
|
||||
"Customise your appearance": "Verändere das Erscheinungsbild",
|
||||
"Appearance Settings only affect this Riot session.": "Einstellungen zum Erscheinungsbild wirken sich nur auf diese Riot Sitzung aus.",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "Die Echtheit dieser verschlüsselten Nachricht kann auf diesem Gerät nicht garantiert werden.",
|
||||
"You joined the call": "Du bist dem Anruf beigetreten",
|
||||
"%(senderName)s joined the call": "%(senderName)s ist dem Anruf beigetreten",
|
||||
"Call in progress": "Laufendes Gespräch",
|
||||
"You left the call": "Du hast den Anruf verlassen",
|
||||
"%(senderName)s left the call": "%(senderName)s hat den Anruf verlassen",
|
||||
"Call ended": "Anruf beendet",
|
||||
"You started a call": "Du hast einen Anruf gestartet",
|
||||
"%(senderName)s started a call": "%(senderName)s hat einen Anruf gestartet",
|
||||
"Waiting for answer": "Warte auf Antwort",
|
||||
"%(senderName)s is calling": "%(senderName)s ruft an",
|
||||
"You created the room": "Du hast den Raum erstellt",
|
||||
"%(senderName)s created the room": "%(senderName)s hat den Raum erstellt",
|
||||
"You made the chat encrypted": "Du hast den Raum verschlüsselt",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s hat den Raum verschlüsselt",
|
||||
"You made history visible to new members": "Du hast die bisherige Kommunikation für neue Teilnehmern sichtbar gemacht",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s hat die bisherige Kommunikation für neue Teilnehmern sichtbar gemacht",
|
||||
"You made history visible to anyone": "Du hast die bisherige Kommunikation für alle sichtbar gemacht",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s hat die bisherige Kommunikation für alle sichtbar gemacht",
|
||||
"You made history visible to future members": "Du hast die bisherige Kommunikation für zukünftige Teilnehmer sichtbar gemacht",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s hat die bisherige Kommunikation für zukünftige Teilnehmer sichtbar gemacht",
|
||||
"You were invited": "Du wurdest eingeladen",
|
||||
"%(targetName)s was invited": "%(targetName)s wurde eingeladen",
|
||||
"You left": "Du hast den Raum verlassen",
|
||||
"%(targetName)s left": "%(targetName)s hat den Raum verlassen",
|
||||
"You were kicked (%(reason)s)": "Du wurdest herausgeworfen (%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "%(targetName)s wurde herausgeworfen (%(reason)s)",
|
||||
"You were kicked": "Du wurdest herausgeworfen",
|
||||
"%(targetName)s was kicked": "%(targetName)s wurde herausgeworfen",
|
||||
"You rejected the invite": "Du hast die Einladung abgelehnt",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s hat die Einladung abgelehnt",
|
||||
"You were uninvited": "Deine Einladung wurde zurückgezogen",
|
||||
"%(targetName)s was uninvited": "Die Einladung für %(targetName)s wurde zurückgezogen",
|
||||
"You were banned (%(reason)s)": "Du wurdest verbannt (%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s wurde verbannt (%(reason)s)",
|
||||
"You were banned": "Du wurdest verbannt",
|
||||
"%(targetName)s was banned": "%(targetName)s wurde verbannt",
|
||||
"You joined": "Du bist beigetreten",
|
||||
"%(targetName)s joined": "%(targetName)s ist beigetreten",
|
||||
"You changed your name": "Du hast deinen Namen geändert",
|
||||
"%(targetName)s changed their name": "%(targetName)s hat den Namen geändert",
|
||||
"You changed your avatar": "Du hast deinen Avatar geändert",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s hat den Avatar geändert",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "Du hast den Raumnamen geändert",
|
||||
"%(senderName)s changed the room name": "%(senderName)s hat den Raumnamen geändert",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "Du hast die Einladung für %(targetName)s zurückgezogen",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s hat die Einladung für %(targetName)s zurückgezogen",
|
||||
"You invited %(targetName)s": "Du hast %(targetName)s eingeladen",
|
||||
"%(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",
|
||||
"Use a more compact ‘Modern’ layout": "Verwende ein kompakteres 'modernes' Layout",
|
||||
"Message deleted on %(date)s": "Nachricht am %(date)s gelöscht",
|
||||
"Wrong file type": "Falscher Dateityp",
|
||||
"Wrong Recovery Key": "Falscher Wiederherstellungsschlüssel",
|
||||
"Invalid Recovery Key": "Ungültiger Wiederherstellungsschlüssel"
|
||||
}
|
||||
|
@ -1179,7 +1179,7 @@
|
||||
"Use a longer keyboard pattern with more turns": "Usa un patrón de tecleo largo con más vueltas",
|
||||
"Enable Community Filter Panel": "Habilitar el Panel de Filtro de Comunidad",
|
||||
"Verify this user by confirming the following emoji appear on their screen.": "Verifica este usuario confirmando que los siguientes emojis aparecen en su pantalla.",
|
||||
"Your Riot is misconfigured": "Tu Riot está mal configurado",
|
||||
"Your Riot is misconfigured": "Tu Riot tiene un error de configuración",
|
||||
"Whether or not you're logged in (we don't record your username)": "Hayas o no iniciado sesión (no guardamos tu nombre de usuario)",
|
||||
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Uses o no los 'breadcrumbs' (iconos sobre la lista de salas)",
|
||||
"A conference call could not be started because the integrations server is not available": "No se pudo iniciar la conferencia porque el servidor de integraciones no está disponible",
|
||||
@ -1556,7 +1556,7 @@
|
||||
"Sign In or Create Account": "Iniciar sesión o Crear una cuenta",
|
||||
"Use your account or create a new one to continue.": "Usa tu cuenta existente o crea una nueva para continuar.",
|
||||
"Create Account": "Crear cuenta",
|
||||
"Sign In": "Registrarse",
|
||||
"Sign In": "Iniciar sesión",
|
||||
"Sends a message as html, without interpreting it as markdown": "Envía un mensaje como html, sin interpretarlo en markdown",
|
||||
"Failed to set topic": "No se ha podido establecer el tema",
|
||||
"Command failed": "El comando falló",
|
||||
@ -2191,5 +2191,44 @@
|
||||
"This homeserver does not support login using email address.": "Este servidor doméstico no admite iniciar sesión con una dirección de correo electrónico.",
|
||||
"This account has been deactivated.": "Esta cuenta ha sido desactivada.",
|
||||
"Room name or address": "Nombre o dirección de la sala",
|
||||
"Address (optional)": "Dirección (opcional)"
|
||||
"Address (optional)": "Dirección (opcional)",
|
||||
"Help us improve Riot": "Ayúdanos a mejorar Riot",
|
||||
"Send <UsageDataLink>anonymous usage data</UsageDataLink> which helps us improve Riot. This will use a <PolicyLink>cookie</PolicyLink>.": "Enviar <UsageDataLink>información anónima de uso</UsageDataLink> nos ayudaría bastante a mejorar Riot. Esto cuenta como utilizar <PolicyLink>una cookie</PolicyLink>.",
|
||||
"I want to help": "Quiero ayudar",
|
||||
"Ok": "Ok",
|
||||
"Set password": "Establecer contraseña",
|
||||
"To return to your account in future you need to set a password": "Para poder regresar a tu cuenta en un futuro necesitas establecer una contraseña",
|
||||
"Restart": "Reiniciar",
|
||||
"Upgrade your Riot": "Actualiza tu Riot",
|
||||
"A new version of Riot is available!": "¡Una nueva versión de Riot se encuentra disponible!",
|
||||
"You joined the call": "Te has unido a la llamada",
|
||||
"%(senderName)s joined the call": "%(senderName)s se ha unido a la llamada",
|
||||
"Call in progress": "Llamada en progreso",
|
||||
"You left the call": "Has abandonado la llamada",
|
||||
"%(senderName)s left the call": "%(senderName)s dejo la llamada",
|
||||
"Call ended": "La llamada ha finalizado",
|
||||
"You started a call": "Has iniciado una llamada",
|
||||
"%(senderName)s started a call": "%(senderName)s inicio una llamada",
|
||||
"Waiting for answer": "Esperado por una respuesta",
|
||||
"%(senderName)s is calling": "%(senderName)s está llamando",
|
||||
"%(senderName)s created the room": "%(senderName)s creo la sala",
|
||||
"You were invited": "Has sido invitado",
|
||||
"%(targetName)s was invited": "%(targetName)s ha sido invitado",
|
||||
"%(targetName)s left": "%(targetName)s se ha ido",
|
||||
"You were kicked (%(reason)s)": "Has sido expulsado por %(reason)s",
|
||||
"You rejected the invite": "Has rechazado la invitación",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s rechazo la invitación",
|
||||
"You were banned (%(reason)s)": "Has sido baneado por %(reason)s",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s fue baneado por %(reason)s",
|
||||
"You were banned": "Has sido baneado",
|
||||
"%(targetName)s was banned": "%(targetName)s fue baneado",
|
||||
"You joined": "Te has unido",
|
||||
"%(targetName)s joined": "%(targetName)s se ha unido",
|
||||
"You changed your name": "Has cambiado tu nombre",
|
||||
"%(targetName)s changed their name": "%(targetName)s cambio su nombre",
|
||||
"You changed your avatar": "Ha cambiado su avatar",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s ha cambiado su avatar",
|
||||
"You changed the room name": "Has cambiado el nombre de la sala",
|
||||
"%(senderName)s changed the room name": "%(senderName)s cambio el nombre de la sala",
|
||||
"You invited %(targetName)s": "Has invitado a %(targetName)s"
|
||||
}
|
||||
|
@ -1592,5 +1592,257 @@
|
||||
"We encountered an error trying to restore your previous session.": "Meil tekkis eelmise sessiooni taastamisel viga.",
|
||||
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Kui sa varem oled kasutanud uuemat Riot'i versiooni, siis sinu pragune sessioon ei pruugi olla sellega ühilduv. Sulge see aken ja jätka selle uuema versiooni kasutamist.",
|
||||
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Brauseri andmeruumi tühjendamine võib selle vea lahendada, kui samas logid sa ka välja ning kogu krüptitud vestlusajalugu muutub loetamatuks.",
|
||||
"Verification Pending": "Verifikatsioon on ootel"
|
||||
"Verification Pending": "Verifikatsioon on ootel",
|
||||
"Back": "Tagasi",
|
||||
"Send Custom Event": "Saada kohandatud sündmus",
|
||||
"You must specify an event type!": "Sa pead määratlema sündmuse tüübi!",
|
||||
"Event sent!": "Sündmus on saadetud!",
|
||||
"Failed to send custom event.": "Kohandatud sündmuse saatmine ei õnnestunud.",
|
||||
"Event Type": "Sündmuse tüüp",
|
||||
"State Key": "Oleku võti",
|
||||
"Event Content": "Sündmuse sisu",
|
||||
"Send Account Data": "Saada kasutajakonto andmed",
|
||||
"View Servers in Room": "Näita jututoas kasutatavaid servereid",
|
||||
"Verification Requests": "Verifitseerimistaotlused",
|
||||
"Toolbox": "Töövahendid",
|
||||
"Developer Tools": "Arendusvahendid",
|
||||
"An error has occurred.": "Tekkis viga.",
|
||||
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Selle kasutaja usaldamiseks peaksid ta verifitseerima. Kui sa pruugid läbivalt krüptitud sõnumeid, siis kasutajate verifitseerimine tagab sulle täiendava meelerahu.",
|
||||
"Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Selle kasutaja verifitseerimisel märgitakse tema sessioon usaldusväärseks ning samuti märgitakse sinu sessioon tema jaoks usaldusväärseks.",
|
||||
"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.": "Selle seadme usaldamiseks peaksid ta verifitseerima. Kui sa pruugid läbivalt krüptitud sõnumeid, siis selle seadme usaldamine tagab sulle ja teistele kasutajatele täiendava meelerahu.",
|
||||
"Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Selle seadme verifitseerimisel märgitakse ta usaldusväärseks ning kõik kasutajad, kes sinuga on verifitseerimise läbi teinud, loevad ka selle seadme usaldusväärseks.",
|
||||
"Waiting for partner to confirm...": "Ootan teise osapoole kinnitust...",
|
||||
"Incoming Verification Request": "Saabuv verifitseerimispalve",
|
||||
"Integrations are disabled": "Lõimingud ei ole kasutusel",
|
||||
"Enable 'Manage Integrations' in Settings to do this.": "Selle tegevuse jaoks määra seadetes \"Halda lõiminguid\" kasutuselevõetuks.",
|
||||
"Integrations not allowed": "Lõimingute kasutamine ei ole lubatud",
|
||||
"Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Sinu Riot ei võimalda selle tegevuse jaoks kasutada Lõimingute haldurit. Palun küsi lisateavet administraatorilt.",
|
||||
"Failed to invite the following users to chat: %(csvUsers)s": "Järgnevate kasutajate vestlema kutsumine ei õnnestunud: %(csvUsers)s",
|
||||
"We couldn't create your DM. Please check the users you want to invite and try again.": "Otsevestluse loomine ei õnnestunud. Palun kontrolli, et kasutajanimed oleks õiged ja proovi uuesti.",
|
||||
"a new master key signature": "uus üldvõtme allkiri",
|
||||
"a new cross-signing key signature": "uus risttunnustamise võtme allkiri",
|
||||
"a device cross-signing signature": "seadme risttunnustamise allkiri",
|
||||
"a key signature": "võtme allkiri",
|
||||
"Riot encountered an error during upload of:": "Riot'is tekkis viga järgneva üleslaadimisel:",
|
||||
"Cancelled signature upload": "Allkirja üleslaadimine on tühistatud",
|
||||
"Unable to upload": "Üleslaadimine ei õnnestu",
|
||||
"Signature upload success": "Allkirja üleslaadimine õnnestus",
|
||||
"Signature upload failed": "Allkirja üleslaadimine ei õnnestunud",
|
||||
"Address (optional)": "Aadress (valikuline)",
|
||||
"Reject invitation": "Lükka kutse tagasi",
|
||||
"Are you sure you want to reject the invitation?": "Kas sa oled kindel, et soovid lükata kutse tagasi?",
|
||||
"Failed to set Direct Message status of room": "Jututoa otsevestluse oleku seadmine ei õnnestunud",
|
||||
"Failed to forget room %(errCode)s": "Jututoa unustamine ei õnnestunud %(errCode)s",
|
||||
"This homeserver would like to make sure you are not a robot.": "See server soovib kindlaks teha, et sa ei ole robot.",
|
||||
"Country Dropdown": "Riikide valik",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Sa võid kasutada serveri kohandatud valikuid selleks, et määrates teise aadressi logida sisse teise Matrix'i serverisse. See võimaldab sul kasutada seda rakendust teises koduserveris hallatava olemasoleva Matrix'i kontoga.",
|
||||
"Confirm your identity by entering your account password below.": "Tuvasta oma isik sisestades salasõna alljärgnevalt.",
|
||||
"Please review and accept all of the homeserver's policies": "Palun vaata üle kõik koduserveri kasutustingimused ja nõustu nendega",
|
||||
"Please review and accept the policies of this homeserver:": "Palun vaata üle selle koduserveri kasutustingimused ja nõustu nendega:",
|
||||
"An email has been sent to %(emailAddress)s": "Saatsime e-kirja %(emailAddress)s aadressile",
|
||||
"Please check your email to continue registration.": "Registreerimise jätkamiseks, palun vaata oma e-kirjad.",
|
||||
"A text message has been sent to %(msisdn)s": "Saatsime tekstisõnumi telefoninumbrile %(msisdn)s",
|
||||
"Please enter the code it contains:": "Palun sisesta seal kuvatud kood:",
|
||||
"Code": "Kood",
|
||||
"Submit": "Saada",
|
||||
"Start authentication": "Alusta autentimist",
|
||||
"Unable to validate homeserver/identity server": "Ei õnnestu valideerida koduserverit/isikutuvastusserverit",
|
||||
"Your Modular server": "Sinu Modular-server",
|
||||
"Enter the location of your Modular homeserver. It may use your own domain name or be a subdomain of <a>modular.im</a>.": "Sisesta oma Modular'i koduserveri aadress. See võib kasutada nii sinu oma domeeni, kui olla <a>modular.im</a> alamdomeen.",
|
||||
"Sign in with SSO": "Logi sisse kasutades SSO'd ehk ühekordset autentimist",
|
||||
"Failed to reject invitation": "Kutse tagasi lükkamine ei õnnestunud",
|
||||
"This room is not public. You will not be able to rejoin without an invite.": "See ei ole avalik jututuba. Ilma kutseta sa ei saa uuesti liituda.",
|
||||
"Failed to leave room": "Jututoast lahkumine ei õnnestunud",
|
||||
"Can't leave Server Notices room": "Serveriteadete jututoast ei saa lahkuda",
|
||||
"This room is used for important messages from the Homeserver, so you cannot leave it.": "Seda jututuba kasutatakse sinu koduserveri oluliste teadete jaoks ja seega sa ei saa sealt lahkuda.",
|
||||
"Signed Out": "Välja logitud",
|
||||
"A username can only contain lower case letters, numbers and '=_-./'": "Kasutajanimes võivad olla vaid väiketähed, numbrid ja need viis tähemärki =_-./",
|
||||
"Username not available": "Selline kasutajanimi ei ole saadaval",
|
||||
"Username invalid: %(errMessage)s": "Vigane kasutajanimi: %(errMessage)s",
|
||||
"An error occurred: %(error_string)s": "Tekkis viga: %(error_string)s",
|
||||
"Checking...": "Kontrollin...",
|
||||
"Username available": "Kasutajanimi on saadaval",
|
||||
"To get started, please pick a username!": "Alustamiseks palun vali kasutajanimi!",
|
||||
"This will be your account name on the <span></span> homeserver, or you can pick a <a>different server</a>.": "See saab olema sinu kasutajanimi <span></span> koduserveris, aga sa võid valida ka <a>mõne teise serveri</a>.",
|
||||
"If you already have a Matrix account you can <a>log in</a> instead.": "Kui sul juba on olemas Matrix'i konto, siis võid lihtsalt <a>sisse logida</a>.",
|
||||
"You have successfully set a password!": "Salasõna loomine õnnestus!",
|
||||
"You have successfully set a password and an email address!": "Salasõna loomine ja e-posti aadressi salvestamine õnnestus!",
|
||||
"You can now return to your account after signing out, and sign in on other devices.": "Nüüd sa saad peale väljalogimist pöörduda tagasi oma konto juurde või logida sisse muudest seadmetest.",
|
||||
"Remember, you can always set an email address in user settings if you change your mind.": "Jäta meelde, et sa saad alati hiljem määrata kasutajaseadetest oma e-posti aadressi.",
|
||||
"Use bots, bridges, widgets and sticker packs": "Kasuta roboteid, võrgusildu, vidinaid või kleepsupakke",
|
||||
"Upload all": "Lae kõik üles",
|
||||
"This file is <b>too large</b> to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "See fail on üleslaadimiseks <b>liiga suur</b>. Üleslaetavate failide mahupiir on %(limit)s, kuid selle faili suurus on %(sizeOfThisFile)s.",
|
||||
"Appearance": "Välimus",
|
||||
"Enter recovery passphrase": "Sisesta taastamise paroolifraas",
|
||||
"For security, this session has been signed out. Please sign in again.": "Turvalisusega seotud põhjustel on see sessioon välja logitud. Palun logi uuesti sisse.",
|
||||
"Review terms and conditions": "Vaata üle kasutustingimused",
|
||||
"Old cryptography data detected": "Tuvastasin andmed, mille puhul on kasutatud vanemat tüüpi krüptimist",
|
||||
"Self-verification request": "Päring enda verifitseerimiseks",
|
||||
"Switch to light mode": "Kasuta heledat teemat",
|
||||
"Switch to dark mode": "Kasuta tumedat teemat",
|
||||
"Switch theme": "Vaheta teemat",
|
||||
"Security & privacy": "Turvalisus ja privaatsus",
|
||||
"All settings": "Kõik seadistused",
|
||||
"Archived rooms": "Arhiveeritud jututoad",
|
||||
"Feedback": "Tagasiside",
|
||||
"Account settings": "Kasutajakonto seadistused",
|
||||
"Use Single Sign On to continue": "Jätkamiseks kasuta ühekordset sisselogimist",
|
||||
"Confirm adding this email address by using Single Sign On to prove your identity.": "Kinnita selle e-posti aadressi lisamine kasutades ühekordset sisselogimist oma isiku tuvastamiseks.",
|
||||
"Single Sign On": "SSO Ühekordne sisselogimine",
|
||||
"Confirm adding email": "Kinnita e-posti aadressi lisamine",
|
||||
"Click the button below to confirm adding this email address.": "Klõpsi järgnevat nuppu e-posti aadressi lisamise kinnitamiseks.",
|
||||
"Confirm adding this phone number by using Single Sign On to prove your identity.": "Kinnita selle telefoninumbri lisamine kasutades ühekordset sisselogimist oma isiku tuvastamiseks.",
|
||||
"Confirm adding phone number": "Kinnita telefoninumbri lisamine",
|
||||
"Click the button below to confirm adding this phone number.": "Klõpsi järgnevat nuppu telefoninumbri lisamise kinnitamiseks.",
|
||||
"Add Phone Number": "Lisa telefoninumber",
|
||||
"Default": "Tavakasutaja",
|
||||
"Restricted": "Piiratud õigustega kasutaja",
|
||||
"Moderator": "Moderaator",
|
||||
"Admin": "Peakasutaja",
|
||||
"Custom (%(level)s)": "Kohandatud õigused (%(level)s)",
|
||||
"Failed to invite": "Kutse saatmine ei õnnestunud",
|
||||
"Operation failed": "Toiming ei õnnestunud",
|
||||
"Failed to invite users to the room:": "Kasutajate kutsumine jututuppa ei õnnestunud:",
|
||||
"Failed to invite the following users to the %(roomName)s room:": "Järgnevate kasutajate kutsumine %(roomName)s jututuppa ei õnnestunud:",
|
||||
"You need to be logged in.": "Sa peaksid olema sisse loginud.",
|
||||
"You need to be able to invite users to do that.": "Selle tegevuse jaoks peaks sul olema õigus teistele kasutajatele kutse saatmiseks.",
|
||||
"Unable to create widget.": "Vidina loomine ei õnnestunud.",
|
||||
"Missing roomId.": "Jututoa tunnus ehk roomId on puudu.",
|
||||
"Failed to send request.": "Päringu saatmine ei õnnestunud.",
|
||||
"This room is not recognised.": "Seda jututuba ei õnnestu ära tunda.",
|
||||
"Power level must be positive integer.": "Õiguste tase peab olema positiivne täisarv.",
|
||||
"You are not in this room.": "Sa ei asu selles jututoas.",
|
||||
"You do not have permission to do that in this room.": "Sinul pole selle toimingu jaoks selles jututoas õigusi.",
|
||||
"Missing room_id in request": "Päringus puudub jututoa tunnus ehk room_id",
|
||||
"Room %(roomId)s not visible": "Jututuba %(roomId)s ei ole nähtav",
|
||||
"Missing user_id in request": "Päringus puudub kasutaja tunnus ehk user_id",
|
||||
"Messages": "Sõnumid",
|
||||
"Actions": "Tegevused",
|
||||
"Other": "Muud",
|
||||
"Usage": "Kasutus",
|
||||
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Lisa ¯\\_(ツ)_/¯ smaili vormindamata teksti algusesse",
|
||||
"Sends a message as plain text, without interpreting it as markdown": "Saadab sõnumi vormindamata tekstina ega tõlgenda seda markdown-vormindusena",
|
||||
"Sends a message as html, without interpreting it as markdown": "Saadab sõnumi html'ina ega tõlgenda seda markdown-vormindusena",
|
||||
"/ddg is not a command": "/ddg ei ole käsk",
|
||||
"You joined the call": "Sina liitusid kõnega",
|
||||
"%(senderName)s joined the call": "%(senderName)s liitus kõnega",
|
||||
"Call in progress": "Kõne on pooleli",
|
||||
"You left the call": "Sa lahkusid kõnest",
|
||||
"%(senderName)s left the call": "%(senderName)s lahkus kõnest",
|
||||
"Call ended": "Kõne lõppes",
|
||||
"You started a call": "Sa alustasid kõnet",
|
||||
"%(senderName)s started a call": "%(senderName)s alustas kõnet",
|
||||
"Waiting for answer": "Ootan kõnele vastamist",
|
||||
"%(senderName)s is calling": "%(senderName)s helistab",
|
||||
"You created the room": "Sa lõid jututoa",
|
||||
"%(senderName)s created the room": "%(senderName)s lõi jututoa",
|
||||
"You made the chat encrypted": "Sina võtsid vestlusel kasutuse krüptimise",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s võttis vestlusel kasutuse krüptimise",
|
||||
"You made history visible to new members": "Sina tegid jututoa ajaloo loetavaks uuetele liikmetele",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s tegi jututoa ajaloo loetavaks uuetele liikmetele",
|
||||
"You made history visible to anyone": "Sina tegi jututoa ajaloo loetavaks kõikidele",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s tegi jututoa ajaloo loetavaks kõikidele",
|
||||
"You made history visible to future members": "Sina tegid jututoa ajaloo loetavaks tulevastele liikmetele",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s tegi jututoa ajaloo loetavaks tulevastele liikmetele",
|
||||
"You were invited": "Sina said kutse",
|
||||
"%(targetName)s was invited": "%(targetName)s sai kutse",
|
||||
"You left": "Sina lahkusid",
|
||||
"%(targetName)s left": "%(targetName)s lahkus",
|
||||
"You were kicked (%(reason)s)": "Sind müksati jututoast välja (%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "%(targetName)s müksati jututoast välja (%(reason)s)",
|
||||
"You were kicked": "Sind müksati jututoast välja",
|
||||
"%(targetName)s was kicked": "%(targetName)s müksati jututoast välja",
|
||||
"You rejected the invite": "Sa lükkasid kutse tagasi",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s lükkas kutse tagasi",
|
||||
"You were uninvited": "Sinult võeti kutse tagasi",
|
||||
"%(targetName)s was uninvited": "%(targetName)s'lt võeti kutse tagasi",
|
||||
"You joined": "Sina liitusid",
|
||||
"%(targetName)s joined": "%(targetName)s liitus",
|
||||
"You changed your name": "Sa muutsid oma nime",
|
||||
"%(targetName)s changed their name": "%(targetName)s muutis oma nime",
|
||||
"You changed your avatar": "Sa muutsid oma tunnuspilti",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s muutis oma tunnuspilti",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "Sina muutsid jututoa nime",
|
||||
"%(senderName)s changed the room name": "%(senderName)s muutis jututoa nime",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "Sina võtsid tagasi kutse kasutajalt %(targetName)s",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s võttis kutse tagasi kasutajalt %(targetName)s",
|
||||
"You invited %(targetName)s": "Sina kutsusid kasutajat %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s kutsus kasutajat %(targetName)s",
|
||||
"You changed the room topic": "Sina muutsid jututoa teemat",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s muutis jututoa teemat",
|
||||
"Use the improved room list (will refresh to apply changes)": "Kasuta parandaatud jututubade loendit (muudatuse jõustamine eeldab andmete uuesti laadimist)",
|
||||
"Enable IRC layout option in the appearance tab": "Näita välimuse seadistustes IRC-tüüpi paigutuse valikut",
|
||||
"Use custom size": "Kasuta kohandatud suurust",
|
||||
"Use a more compact ‘Modern’ layout": "Kasuta veel kompaktsemat \"moodsat\" paigutust",
|
||||
"Cross-signing public keys:": "Avalikud võtmed risttunnustamise jaoks:",
|
||||
"in memory": "on mälus",
|
||||
"not found": "pole leitavad",
|
||||
"Delete %(count)s sessions|other": "Kustuta %(count)s sessiooni",
|
||||
"Delete %(count)s sessions|one": "Kustuta %(count)s sessioon",
|
||||
"ID": "Kasutaja ID",
|
||||
"Public Name": "Avalik nimi",
|
||||
"Last seen": "Viimati nähtud",
|
||||
"Manage": "Halda",
|
||||
"Enable": "Võta kasutusele",
|
||||
"Error saving email notification preferences": "E-posti teel saadetavate teavituste eelistuste salvestamisel tekkis viga",
|
||||
"An error occurred whilst saving your email notification preferences.": "E-posti teel saadetavate teavituste eelistuste salvestamisel tekkis viga.",
|
||||
"Keywords": "Märksõnad",
|
||||
"Enter keywords separated by a comma:": "Sisesta märksõnad ja kasuta eraldajaks koma:",
|
||||
"Failed to change settings": "Seadistuste muutmine ei õnnestunud",
|
||||
"Can't update user notification settings": "Kasutaja teavistuste eelistusi ei õnnestunud uuendada",
|
||||
"Failed to update keywords": "Märksõnade uuendamine ei õnnestunud",
|
||||
"Messages containing <span>keywords</span>": "Sõnumid, mis sisaldavad <span>märksõnu</span>",
|
||||
"Notify me for anything else": "Teavita mind kõigest muust",
|
||||
"Enable notifications for this account": "Võta sellel kasutajakontol kasutusele teavitused",
|
||||
"Clear notifications": "Eemalda kõik teavitused",
|
||||
"All notifications are currently disabled for all targets.": "Kõik teavituste liigid on välja lülitatud.",
|
||||
"Add an email address to configure email notifications": "E-posti teel saadetavate teavituste seadistamiseks lisa e-posti aadress",
|
||||
"Enable email notifications": "Võta kasutusele e-posti teel saadetavad teavitused",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Alljärgnevate märksõnadega seotud teavitused järgivad reegleid, misa siin ei saa kuvada:",
|
||||
"Disinvite this user from community?": "Kas võtame sellelt kasutajalt tagasi kutse kogukonnaga liitumiseks?",
|
||||
"Failed to withdraw invitation": "Kutse tühistamine ei õnnestunud",
|
||||
"<strong>%(role)s</strong> in %(roomName)s": "<strong>%(role)s</strong> jututoas %(roomName)s",
|
||||
"Failed to change power level": "Õiguste muutmine ei õnnestunud",
|
||||
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Sa ei saa seda muudatust hiljem tagasi pöörata, sest annad teisele kasutajale samad õigused, mis sinul on.",
|
||||
"Deactivate user?": "Kas blokeerime kasutaja?",
|
||||
"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?": "Kasutaja blokeerimisel logitakse ta automaatselt välja ning ei lubata enam sisse logida. Lisaks lahkub ta kõikidest jututubadest, mille liige ta parasjagu on. Seda tegevust ei saa tagasi pöörata. Kas sa oled ikka kindel, et soovid selle kasutaja blokeerida?",
|
||||
"Deactivate user": "Blokeeri kasutaja",
|
||||
"Failed to deactivate user": "Kasutaja blokeerimine ei õnnestunud",
|
||||
"This client does not support end-to-end encryption.": "See klient ei toeta läbivat krüptimist.",
|
||||
"Security": "Turvalisus",
|
||||
"Using this widget may share data <helpIcon /> with %(widgetDomain)s & your Integration Manager.": "Selle vidina kasutamisel võidakse jagada andmeid <helpIcon /> saitidega %(widgetDomain)s ning sinu vidinahalduriga.",
|
||||
"Using this widget may share data <helpIcon /> with %(widgetDomain)s.": "Selle vidina kasutamisel võidakse jagada andmeid <helpIcon /> saitidega %(widgetDomain)s.",
|
||||
"Widgets do not use message encryption.": "Erinevalt sõnumitest vidinad ei kasuta krüptimist.",
|
||||
"Widget added by": "Vidina lisaja",
|
||||
"This widget may use cookies.": "See vidin võib kasutada küpsiseid.",
|
||||
"Delete Widget": "Kustuta vidin",
|
||||
"Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Vidina kustutamisel eemaldatakse ta kõikide selle jututoa kasutajate jaoks. Kas sa kindlasti soovid seda vidinat eemaldada?",
|
||||
"Delete widget": "Kustuta vidin",
|
||||
"Minimize apps": "Vähenda rakendused",
|
||||
"Maximize apps": "Suurenda rakendused",
|
||||
"Popout widget": "Ava rakendus eraldi aknas",
|
||||
"More options": "Täiendavad seadistused",
|
||||
"Language Dropdown": "Keelevalik",
|
||||
"Manage Integrations": "Halda lõiminguid",
|
||||
"%(nameList)s %(transitionList)s": "%(nameList)s %(transitionList)s",
|
||||
"%(severalUsers)sjoined %(count)s times|other": "%(severalUsers)s liitusid %(count)s korda",
|
||||
"%(severalUsers)sjoined %(count)s times|one": "%(severalUsers)s liitusid",
|
||||
"%(oneUser)sjoined %(count)s times|other": "%(oneUser)s liitus %(count)s korda",
|
||||
"%(oneUser)sjoined %(count)s times|one": "%(oneUser)s liitus",
|
||||
"%(severalUsers)sleft %(count)s times|other": "%(severalUsers)s lahkusid %(count)s korda",
|
||||
"%(severalUsers)sleft %(count)s times|one": "%(severalUsers)s lahkusid",
|
||||
"%(oneUser)sleft %(count)s times|other": "%(oneUser)s lahkus %(count)s korda",
|
||||
"%(oneUser)sleft %(count)s times|one": "%(oneUser)s lahkus",
|
||||
"%(severalUsers)sjoined and left %(count)s times|other": "%(severalUsers)s liitusid ja lahkusid %(count)s korda",
|
||||
"%(severalUsers)sjoined and left %(count)s times|one": "%(severalUsers)s liitusid ja lahkusid",
|
||||
"%(oneUser)sjoined and left %(count)s times|other": "%(oneUser)s liitus ja lahkus %(count)s korda",
|
||||
"%(oneUser)sjoined and left %(count)s times|one": "%(oneUser)s liitus ja lahkus",
|
||||
"%(severalUsers)sleft and rejoined %(count)s times|other": "%(severalUsers)s lahkusid ja liitusid uuesti %(count)s korda",
|
||||
"%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)s lahkusid ja liitusid uuesti",
|
||||
"%(oneUser)sleft and rejoined %(count)s times|other": "%(oneUser)s lahkus ja liitus uuesti %(count)s korda",
|
||||
"%(oneUser)sleft and rejoined %(count)s times|one": "%(oneUser)s lahkus ja liitus uuesti"
|
||||
}
|
||||
|
@ -2367,5 +2367,55 @@
|
||||
"Use Recovery Key or Passphrase": "Käytä palautusavainta tai salalausetta",
|
||||
"Use Recovery Key": "Käytä palautusavainta",
|
||||
"Create a Recovery Key": "Luo palautusavain",
|
||||
"Upgrade your Recovery Key": "Päivitä palautusavaimesi"
|
||||
"Upgrade your Recovery Key": "Päivitä palautusavaimesi",
|
||||
"You joined the call": "Liityit puheluun",
|
||||
"%(senderName)s joined the call": "%(senderName)s liittyi puheluun",
|
||||
"Call in progress": "Puhelu käynnissä",
|
||||
"You left the call": "Poistuit puhelusta",
|
||||
"%(senderName)s left the call": "%(senderName)s poistui puhelusta",
|
||||
"Call ended": "Puhelu päättyi",
|
||||
"You started a call": "Aloitit puhelun",
|
||||
"%(senderName)s started a call": "%(senderName)s aloitti puhelun",
|
||||
"Waiting for answer": "Odotetaan vastausta",
|
||||
"%(senderName)s is calling": "%(senderName)s soittaa",
|
||||
"You created the room": "Loit huoneen",
|
||||
"%(senderName)s created the room": "%(senderName)s loi huoneen",
|
||||
"You made the chat encrypted": "Otit salauksen käyttöön keskustelussa",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s otti salauksen käyttöön keskustelussa",
|
||||
"You made history visible to new members": "Teit historiasta näkyvän uusille jäsenille",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s teki historiasta näkyvän uusille jäsenille",
|
||||
"You made history visible to anyone": "Teit historiasta näkyvän kaikille",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s teki historiasta näkyvän kaikille",
|
||||
"You made history visible to future members": "Teit historiasta näkyvän tuleville jäsenille",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s teki historiasta näkyvän tuleville jäsenille",
|
||||
"You were invited": "Sinut kutsuttiin",
|
||||
"%(targetName)s was invited": "%(targetName)s kutsuttiin",
|
||||
"You left": "Poistuit",
|
||||
"%(targetName)s left": "%(targetName)s poistui",
|
||||
"You rejected the invite": "Hylkäsit kutsun",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s hylkäsi kutsun",
|
||||
"You were banned (%(reason)s)": "Sait porttikiellon (%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s sai porttikiellon (%(reason)s)",
|
||||
"You were banned": "Sait porttikiellon",
|
||||
"%(targetName)s was banned": "%(targetName)s sai porttikiellon",
|
||||
"You joined": "Liityit",
|
||||
"%(targetName)s joined": "%(targetName)s liittyi",
|
||||
"You changed your name": "Vaihdoit nimeäsi",
|
||||
"%(targetName)s changed their name": "%(targetName)s vaihtoi nimeään",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "Vaihdoit huoneen nimeä",
|
||||
"%(senderName)s changed the room name": "%(senderName)s vaihtoi huoneen nimeä",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You invited %(targetName)s": "Kutsuit käyttäjän %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s kutsui käyttäjän %(targetName)s",
|
||||
"You changed the room topic": "Vaihdoit huoneen aiheen",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s vaihtoi huoneen aiheen",
|
||||
"Use custom size": "Käytä mukautettua kokoa",
|
||||
"Use a more compact ‘Modern’ layout": "Käytä tiiviimpää 'modernia' asettelua",
|
||||
"Use a system font": "Käytä järjestelmän fonttia",
|
||||
"System font name": "Järjestelmän fontin nimi",
|
||||
"Message layout": "Viestiasettelu",
|
||||
"Compact": "Tiivis",
|
||||
"Modern": "Moderni"
|
||||
}
|
||||
|
@ -2528,5 +2528,91 @@
|
||||
"Upgrade your Recovery Key": "Mettre à jour votre clé de récupération",
|
||||
"Store your Recovery Key": "Stocker votre clé de récupération",
|
||||
"Use the improved room list (in development - will refresh to apply changes)": "Utiliser la liste de salons améliorée (en développement − actualisera pour appliquer les changements)",
|
||||
"Use the improved room list (will refresh to apply changes)": "Utiliser la liste de salons améliorée (actualisera pour appliquer les changements)"
|
||||
"Use the improved room list (will refresh to apply changes)": "Utiliser la liste de salons améliorée (actualisera pour appliquer les changements)",
|
||||
"Enable IRC layout option in the appearance tab": "Activer l’option de mise en page IRC dans l’onglet d’apparence",
|
||||
"Use custom size": "Utiliser une taille personnalisée",
|
||||
"Hey you. You're the best!": "Eh vous. Vous êtes les meilleurs !",
|
||||
"Message layout": "Mise en page des messages",
|
||||
"Compact": "Compacte",
|
||||
"Modern": "Moderne",
|
||||
"Use a system font": "Utiliser une police du système",
|
||||
"System font name": "Nom de la police du système",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "L’authenticité de ce message chiffré ne peut pas être garantie sur cet appareil.",
|
||||
"Use a more compact ‘Modern’ layout": "Utiliser une mise en page « moderne » plus compacte",
|
||||
"You joined the call": "Vous avez rejoint l’appel",
|
||||
"%(senderName)s joined the call": "%(senderName)s a rejoint l’appel",
|
||||
"Call in progress": "Appel en cours",
|
||||
"You left the call": "Vous avez quitté l’appel",
|
||||
"%(senderName)s left the call": "%(senderName)s a quitté l’appel",
|
||||
"Call ended": "Appel terminé",
|
||||
"You started a call": "Vous avez démarré un appel",
|
||||
"%(senderName)s started a call": "%(senderName)s a démarré un appel",
|
||||
"Waiting for answer": "En attente d’une réponse",
|
||||
"%(senderName)s is calling": "%(senderName)s appelle",
|
||||
"You created the room": "Vous avez créé le salon",
|
||||
"%(senderName)s created the room": "%(senderName)s a créé le salon",
|
||||
"You made the chat encrypted": "Vous avez activé le chiffrement de la discussion",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s a activé le chiffrement de la discussion",
|
||||
"You made history visible to new members": "Vous avez rendu l’historique visible aux nouveaux membres",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s a rendu l’historique visible aux nouveaux membres",
|
||||
"You made history visible to anyone": "Vous avez rendu l’historique visible à tout le monde",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s a rendu l’historique visible à tout le monde",
|
||||
"You made history visible to future members": "Vous avez rendu l’historique visible aux futurs membres",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s a rendu l’historique visible aux futurs membres",
|
||||
"You were invited": "Vous avez été invité",
|
||||
"%(targetName)s was invited": "%(targetName)s a été invité·e",
|
||||
"You left": "Vous êtes parti·e",
|
||||
"%(targetName)s left": "%(targetName)s est parti·e",
|
||||
"You were kicked (%(reason)s)": "Vous avez été expulsé·e (%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "%(targetName)s a été expulsé·e (%(reason)s)",
|
||||
"You were kicked": "Vous avez été expulsé·e",
|
||||
"%(targetName)s was kicked": "%(targetName)s a été expulsé·e",
|
||||
"You rejected the invite": "Vous avez rejeté l’invitation",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s a rejeté l’invitation",
|
||||
"You were uninvited": "Votre invitation a été révoquée",
|
||||
"%(targetName)s was uninvited": "L’invitation de %(targetName)s a été révoquée",
|
||||
"You were banned (%(reason)s)": "Vous avez été banni·e (%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s a été banni·e (%(reason)s)",
|
||||
"You were banned": "Vous avez été banni·e",
|
||||
"%(targetName)s was banned": "%(targetName)s a été banni·e",
|
||||
"You joined": "Vous avez rejoint le salon",
|
||||
"%(targetName)s joined": "%(targetName)s a rejoint le salon",
|
||||
"You changed your name": "Vous avez changé votre nom",
|
||||
"%(targetName)s changed their name": "%(targetName)s a changé son nom",
|
||||
"You changed your avatar": "Vous avez changé votre avatar",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s a changé son avatar",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s : %(message)s",
|
||||
"You changed the room name": "Vous avez changé le nom du salon",
|
||||
"%(senderName)s changed the room name": "%(senderName)s a changé le nom du salon",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s : %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s : %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "Vous avez révoqué l’invitation de %(targetName)s",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s a révoqué l’invitation de %(targetName)s",
|
||||
"You invited %(targetName)s": "Vous avez invité %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s a invité %(targetName)s",
|
||||
"You changed the room topic": "Vous avez changé le sujet du salon",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s a changé le sujet du salon",
|
||||
"New spinner design": "Nouveau design du spinner",
|
||||
"Message deleted on %(date)s": "Message supprimé le %(date)s",
|
||||
"Wrong file type": "Mauvais type de fichier",
|
||||
"Wrong Recovery Key": "Mauvaise clé de récupération",
|
||||
"Invalid Recovery Key": "Clé de récupération non valide",
|
||||
"Security Phrase": "Phrase de sécurité",
|
||||
"Enter your Security Phrase or <button>Use your Security Key</button> to continue.": "Saisissez votre phrase de sécurité ou <button>utilisez votre clé de sécurité</button> pour continuer.",
|
||||
"Security Key": "Clé de sécurité",
|
||||
"Use your Security Key to continue.": "Utilisez votre clé de sécurité pour continuer.",
|
||||
"Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.": "Protection afin d’éviter de perdre l’accès aux messages et données chiffrés en sauvegardant les clés de chiffrement sur votre serveur.",
|
||||
"Generate a Security Key": "Générer une clé de sécurité",
|
||||
"We’ll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "Nous génèrerons une clé de sécurité que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre.",
|
||||
"Enter a Security Phrase": "Saisir une phrase de sécurité",
|
||||
"Use a secret phrase only you know, and optionally save a Security Key to use for backup.": "Utilisez une phrase secrète que vous êtes seul·e à connaître et enregistrez éventuellement une clé de sécurité à utiliser pour la sauvegarde.",
|
||||
"Enter a security phrase only you know, as it’s used to safeguard your data. To be secure, you shouldn’t re-use your account password.": "Saisissez une phrase de sécurité que vous seul·e connaissez, car elle est utilisée pour protéger vos données. Pour plus de sécurité, vous ne devriez pas réutiliser le mot de passe de votre compte.",
|
||||
"Store your Security Key somewhere safe, like a password manager or a safe, as it’s used to safeguard your encrypted data.": "Stockez votre clé de sécurité dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre, car elle est utilisée pour protéger vos données chiffrées.",
|
||||
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Si vous annulez maintenant, vous pourriez perdre vos messages et données chiffrés si vous perdez l’accès à vos identifiants.",
|
||||
"You can also set up Secure Backup & manage your keys in Settings.": "Vous pouvez aussi configurer la sauvegarde sécurisée et gérer vos clés depuis les paramètres.",
|
||||
"Set up Secure backup": "Configurer la sauvegarde sécurisée",
|
||||
"Set a Security Phrase": "Définir une phrase de sécurité",
|
||||
"Confirm Security Phrase": "Confirmer la phrase de sécurité",
|
||||
"Save your Security Key": "Sauvegarder votre clé de sécurité"
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
{
|
||||
"This email address is already in use": "Xa se está a usar este correo",
|
||||
"This email address is already in use": "Xa se está a usar este email",
|
||||
"This phone number is already in use": "Xa se está a usar este teléfono",
|
||||
"Failed to verify email address: make sure you clicked the link in the email": "Fallo na verificación do enderezo de correo: asegúrese de ter picado na ligazón do correo",
|
||||
"The remote side failed to pick up": "O interlocutor non respondeu",
|
||||
"The remote side failed to pick up": "O correspondente non respondeu",
|
||||
"Unable to capture screen": "Non se puido capturar a pantalla",
|
||||
"Existing Call": "Rexistro de chamadas",
|
||||
"You are already in a call.": "Xa está nunha chamada.",
|
||||
"You are already in a call.": "Xa estás nunha chamada.",
|
||||
"VoIP is unsupported": "Sen soporte para VoIP",
|
||||
"You cannot place VoIP calls in this browser.": "Non pode establecer chamadas VoIP neste navegador.",
|
||||
"You cannot place a call with yourself.": "Non pode facer unha chamada a si mesmo.",
|
||||
"You cannot place VoIP calls in this browser.": "Non poden establecer chamadas VoIP neste navegador.",
|
||||
"You cannot place a call with yourself.": "Non podes facer unha chamada a ti mesma.",
|
||||
"Warning!": "Aviso!",
|
||||
"Call Failed": "Fallou a chamada",
|
||||
"Review Devices": "Revisar dispositivos",
|
||||
@ -51,9 +51,9 @@
|
||||
"Add rooms to the community": "Engadir salas á comunidade",
|
||||
"Room name or alias": "Nome da sala ou alcume",
|
||||
"Add to community": "Engadir á comunidade",
|
||||
"Failed to invite the following users to %(groupId)s:": "Fallo ao convidar os seguintes usuarios a %(groupId)s:",
|
||||
"Failed to invite users to community": "Houbo un fallo convidando usuarios á comunidade",
|
||||
"Failed to invite users to %(groupId)s": "Houbo un fallo convidando usuarios a %(groupId)s",
|
||||
"Failed to invite the following users to %(groupId)s:": "Fallo ao convidar ás seguintes usuarias a %(groupId)s:",
|
||||
"Failed to invite users to community": "Houbo un fallo convidando usuarias á comunidade",
|
||||
"Failed to invite users to %(groupId)s": "Houbo un fallo convidando usuarias a %(groupId)s",
|
||||
"Failed to add the following rooms to %(groupId)s:": "Fallo ao engadir as seguintes salas a %(groupId)s:",
|
||||
"Riot does not have permission to send you notifications - please check your browser settings": "Riot non ten permiso para enviarlle notificacións: comprobe os axustes do navegador",
|
||||
"Riot was not given permission to send notifications - please try again": "Riot non ten permiso para enviar notificacións: inténteo de novo",
|
||||
@ -67,7 +67,7 @@
|
||||
"Start a chat": "Iniciar unha conversa",
|
||||
"Operation failed": "Fallou a operación",
|
||||
"Failed to invite": "Fallou o convite",
|
||||
"Failed to invite the following users to the %(roomName)s room:": "Houbo un fallo convidando os seguintes usuarios á sala %(roomName)s:",
|
||||
"Failed to invite the following users to the %(roomName)s room:": "Houbo un fallo convidando as seguintes usuarias á sala %(roomName)s:",
|
||||
"You need to be logged in.": "Precisa estar conectada.",
|
||||
"You need to be able to invite users to do that.": "Precisa autorización para convidar a outros usuarias para poder facer iso.",
|
||||
"Unable to create widget.": "Non se puido crear o trebello.",
|
||||
@ -85,7 +85,7 @@
|
||||
"Unrecognised room alias:": "Alcumes de sala non recoñecidos:",
|
||||
"Ignored user": "Usuaria ignorada",
|
||||
"You are now ignoring %(userId)s": "Agora está a ignorar %(userId)s",
|
||||
"Unignored user": "Usuarios non ignorados",
|
||||
"Unignored user": "Usuarias non ignoradas",
|
||||
"You are no longer ignoring %(userId)s": "Xa non está a ignorar a %(userId)s",
|
||||
"Verified key": "Chave verificada",
|
||||
"Reason": "Razón",
|
||||
@ -147,7 +147,7 @@
|
||||
"Enable automatic language detection for syntax highlighting": "Activar a detección automática de idioma para o resalte da sintaxe",
|
||||
"Automatically replace plain text Emoji": "Substituír automaticamente Emoji en texto plano",
|
||||
"Enable inline URL previews by default": "Activar por defecto as vistas previas en liña de URL",
|
||||
"Enable URL previews for this room (only affects you)": "Activar avista previa de URL nesta sala (só lle afecta a vostede)",
|
||||
"Enable URL previews for this room (only affects you)": "Activar avista previa de URL nesta sala (só che afesta a ti)",
|
||||
"Enable URL previews by default for participants in this room": "Activar a vista previa de URL por defecto para as participantes nesta sala",
|
||||
"Room Colour": "Cor da sala",
|
||||
"Active call (%(roomName)s)": "Chamada activa (%(roomName)s)",
|
||||
@ -200,15 +200,15 @@
|
||||
"device id: ": "id dispositivo: ",
|
||||
"Disinvite": "Retirar convite",
|
||||
"Kick": "Expulsar",
|
||||
"Disinvite this user?": "Retirar convite a este usuario?",
|
||||
"Kick this user?": "Expulsar este usuario?",
|
||||
"Disinvite this user?": "Retirar convite a esta usuaria?",
|
||||
"Kick this user?": "Expulsar esta usuaria?",
|
||||
"Failed to kick": "Fallo ao expulsar",
|
||||
"Unban": "Non bloquear",
|
||||
"Ban": "Bloquear",
|
||||
"Unban this user?": "Non bloquear este usuario?",
|
||||
"Ban this user?": "Bloquear a este usuario?",
|
||||
"Failed to ban user": "Fallo ao bloquear usuario",
|
||||
"Failed to mute user": "Fallo ao acalar usuario",
|
||||
"Unban this user?": "¿Non bloquear esta usuaria?",
|
||||
"Ban this user?": "¿Bloquear a esta usuaria?",
|
||||
"Failed to ban user": "Fallo ao bloquear usuaria",
|
||||
"Failed to mute user": "Fallo ó silenciar usuaria",
|
||||
"Failed to toggle moderator status": "Fallo ao mudar a estado de moderador",
|
||||
"Failed to change power level": "Fallo ao cambiar o nivel de permisos",
|
||||
"Are you sure?": "Está segura?",
|
||||
@ -288,9 +288,9 @@
|
||||
"Banned by %(displayName)s": "Non aceptado por %(displayName)s",
|
||||
"unknown error code": "código de fallo descoñecido",
|
||||
"Failed to forget room %(errCode)s": "Fallo ao esquecer sala %(errCode)s",
|
||||
"Privileged Users": "Usuarios con privilexios",
|
||||
"No users have specific privileges in this room": "Non hai usuarios con privilexios específicos nesta sala",
|
||||
"Banned users": "Usuarios excluídos",
|
||||
"Privileged Users": "Usuarias con privilexios",
|
||||
"No users have specific privileges in this room": "Non hai usuarias con privilexios específicos nesta sala",
|
||||
"Banned users": "Usuarias excluídas",
|
||||
"This room is not accessible by remote Matrix servers": "Esta sala non é accesible por servidores Matrix remotos",
|
||||
"Leave room": "Deixar a sala",
|
||||
"Favourite": "Favorita",
|
||||
@ -378,9 +378,9 @@
|
||||
"You're not currently a member of any communities.": "Ate o momento non é membro de ningunha comunidade.",
|
||||
"Unknown Address": "Enderezo descoñecido",
|
||||
"Allow": "Permitir",
|
||||
"Delete Widget": "Eliminar trebello",
|
||||
"Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Quitando un trebello elimínao para todas os usuarios desta sala. Está seguro de querer eliminar este trebello?",
|
||||
"Delete widget": "Eliminar trebello",
|
||||
"Delete Widget": "Eliminar widget",
|
||||
"Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Quitando un trebello elimínalo para todas as usuarias desta sala. ¿tes certeza de querer eliminar este widget?",
|
||||
"Delete widget": "Eliminar widget",
|
||||
"Minimize apps": "Minimizar apps",
|
||||
"Edit": "Editar",
|
||||
"Create new room": "Crear unha nova sala",
|
||||
@ -459,7 +459,7 @@
|
||||
"Try using one of the following valid address types: %(validTypesList)s.": "Intentar utilizar algún dos seguintes tipos de enderezo válidos: %(validTypesList)s.",
|
||||
"You have entered an invalid address.": "Introduciu un enderezo non válido.",
|
||||
"Confirm Removal": "Confirme a retirada",
|
||||
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Está certa de que quere quitar (eliminar) este evento? Saiba que si elimina un nome de sala ou cambia o asunto, podería desfacer o cambio.",
|
||||
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Estás certa de que queres quitar (eliminar) este evento? Debes saber que se eliminas un nome de sala ou cambias o asunto, poderías desfacer o cambio.",
|
||||
"Community IDs may only contain characters a-z, 0-9, or '=_-./'": "Os ID de comunidade só poden conter caracteres a-z, 0-9, or '=_-./'",
|
||||
"Community IDs cannot be empty.": "O ID de comunidade non pode quedar baldeiro.",
|
||||
"Something went wrong whilst creating your community": "Algo fallou mentres se creaba a súa comunidade",
|
||||
@ -481,7 +481,7 @@
|
||||
"Ignore request": "Ignorar petición",
|
||||
"Encryption key request": "Petición de chave de cifrado",
|
||||
"Unable to restore session": "Non se puido restaurar a sesión",
|
||||
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Si anteriormente utilizou unha versión máis recente de Riot, a súa sesión podería non ser compatible con esta versión. Peche esta ventá e volva a versión máis recente.",
|
||||
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Se anteriormente utilizaches unha versión máis recente de Riot, a túa sesión podería non ser compatible con esta versión. Pecha esta ventá e volve á versión máis recente.",
|
||||
"Invalid Email Address": "Enderezo de correo non válido",
|
||||
"This doesn't appear to be a valid email address": "Este non semella ser un enderezo de correo válido",
|
||||
"Verification Pending": "Verificación pendente",
|
||||
@ -513,9 +513,9 @@
|
||||
"Add a Room": "Engadir unha sala",
|
||||
"Failed to remove the room from the summary of %(groupId)s": "Algo fallou ao quitar a sala do resumo de %(groupId)s",
|
||||
"The room '%(roomName)s' could not be removed from the summary.": "A sala '%(roomName)s' non se puido eliminar do resumo.",
|
||||
"Add users to the community summary": "Engadir usuarios ao resumo da comunidade",
|
||||
"Add users to the community summary": "Engadir usuarias ó resumo da comunidade",
|
||||
"Who would you like to add to this summary?": "A quen desexa engadir a este resumo?",
|
||||
"Failed to add the following users to the summary of %(groupId)s:": "Algo fallou ao engadir aos seguintes usuarios ao resumo de %(groupId)s:",
|
||||
"Failed to add the following users to the summary of %(groupId)s:": "Algo fallou ó engadir ás seguintes usuarias ó resumo de %(groupId)s:",
|
||||
"Add a User": "Engadir unha usuaria",
|
||||
"Failed to remove a user from the summary of %(groupId)s": "Algo fallou ao eliminar a usuaria do resumo de %(groupId)s",
|
||||
"The user '%(displayName)s' could not be removed from the summary.": "A usuaria '%(displayName)s' non se puido eliminar do resumo.",
|
||||
@ -530,9 +530,9 @@
|
||||
"These rooms are displayed to community members on the community page. Community members can join the rooms by clicking on them.": "Estas salas móstranse aos membros da comunidade na páxina da comunidade. Os participantes da comunidade poden unirse ás salas premendo nelas.",
|
||||
"Add rooms to this community": "Engadir salas a esta comunidade",
|
||||
"Featured Rooms:": "Salas destacadas:",
|
||||
"Featured Users:": "Usuarios destacados:",
|
||||
"Featured Users:": "Usuarias destacadas:",
|
||||
"%(inviter)s has invited you to join this community": "%(inviter)s convidoute a entrar nesta comunidade",
|
||||
"You are an administrator of this community": "Vostede administra esta comunidade",
|
||||
"You are an administrator of this community": "Administras esta comunidade",
|
||||
"You are a member of this community": "É membro desta comunidade",
|
||||
"Your community hasn't got a Long Description, a HTML page to show to community members.<br />Click here to open settings and give it one!": "A súa comunidade non ten unha descrición longa, ou unha páxina HTML que lle mostrar aos seus participantes.<br />Pulse aquí para abrir os axustes e publicar unha!",
|
||||
"Long Description (HTML)": "Descrición longa (HTML)",
|
||||
@ -592,7 +592,7 @@
|
||||
"Import E2E room keys": "Importar chaves E2E da sala",
|
||||
"Cryptography": "Criptografía",
|
||||
"Analytics": "Analytics",
|
||||
"Riot collects anonymous analytics to allow us to improve the application.": "Riot recolle información analítica anónima para permitirnos mellorar o aplicativo.",
|
||||
"Riot collects anonymous analytics to allow us to improve the application.": "Riot recolle información analítica anónima para permitirnos mellorar a aplicación.",
|
||||
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "A intimidade impórtanos, así que non recollemos información personal ou identificable nos datos dos nosos análises.",
|
||||
"Learn more about how we use analytics.": "Saber máis sobre como utilizamos analytics.",
|
||||
"Labs": "Labs",
|
||||
@ -651,7 +651,7 @@
|
||||
"Emoji": "Emoji",
|
||||
"Notify the whole room": "Notificar a toda a sala",
|
||||
"Room Notification": "Notificación da sala",
|
||||
"Users": "Usuarios",
|
||||
"Users": "Usuarias",
|
||||
"unknown device": "dispositivo descoñecido",
|
||||
"NOT verified": "Non validado",
|
||||
"verified": "validado",
|
||||
@ -676,12 +676,12 @@
|
||||
"Confirm passphrase": "Confirme a frase de paso",
|
||||
"Export": "Exportar",
|
||||
"Import room keys": "Importar chaves de sala",
|
||||
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Este proceso permítelle importar chaves de cifrado que vostede exportou de outro cliente Matrix. Así poderá descifrar calquera mensaxe que o outro cliente puidese cifrar.",
|
||||
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Este proceso permíteche importar chaves de cifrado que exportaches doutro cliente Matrix. Así poderás descifrar calquera mensaxe que o outro cliente puidese cifrar.",
|
||||
"The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "O ficheiro exportado estará protexido con unha frase de paso. Debe introducir aquí esa frase de paso para descifrar o ficheiro.",
|
||||
"File to import": "Ficheiro a importar",
|
||||
"Import": "Importar",
|
||||
"The information being sent to us to help make Riot.im better includes:": "A información enviada a Riot.im para axudarnos a mellorar inclúe:",
|
||||
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Se esta páxina inclúe información identificable como ID de grupo, usuario ou sala, estes datos son eliminados antes de ser enviados ao servidor.",
|
||||
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Se esta páxina inclúe información identificable como ID de grupo, usuaria ou sala, estes datos son eliminados antes de ser enviados ó servidor.",
|
||||
"The platform you're on": "A plataforma na que está",
|
||||
"The version of Riot.im": "A versión de Riot.im",
|
||||
"Your language of choice": "A súa preferencia de idioma",
|
||||
@ -703,12 +703,12 @@
|
||||
"Display your community flair in rooms configured to show it.": "Mostrar a popularidade da túa comunidade nas salas configuradas para que a mostren.",
|
||||
"Did you know: you can use communities to filter your Riot.im experience!": "Sabías que podes usar as comunidades para filtrar a túa experiencia en Riot.im!",
|
||||
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Para establecer un filtro, arrastra un avatar da comunidade sobre o panel de filtros na parte esquerda da pantalla. Podes premer nun avatar no panel de filtrado en calquera momento para ver só salas e xente asociada a esa comunidade.",
|
||||
"Deops user with given id": "Degradar o usuario con esa ID",
|
||||
"Deops user with given id": "Degradar á usuaria con ese ID",
|
||||
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "Visto por %(displayName)s(%(userName)s en %(dateTime)s",
|
||||
"Code": "Código",
|
||||
"Unable to join community": "Non te puideches unir a comunidade",
|
||||
"Unable to leave community": "Non se puido deixar a comunidade",
|
||||
"Changes made to your community <bold1>name</bold1> and <bold2>avatar</bold2> might not be seen by other users for up to 30 minutes.": "Os cambios realizados a súa comunidade <bold1>name</bold1> e <bold2>avatar</bold2> poida que non os vexan outros usuarios ate dentro de 30 minutos.",
|
||||
"Changes made to your community <bold1>name</bold1> and <bold2>avatar</bold2> might not be seen by other users for up to 30 minutes.": "Os cambios realizados á túa comunidade <bold1>nome</bold1> e <bold2>avatar</bold2> poida que non os vexan outras usuarias ate dentro de 30 minutos.",
|
||||
"Join this community": "Únete a esta comunidade",
|
||||
"Leave this community": "Deixar esta comunidade",
|
||||
"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.": "Se enviaches un informe de fallo a través de GitHub, os informes poden axudarnos a examinar o problema. Os informes de fallo conteñen datos do uso da aplicación incluíndo o teu nome de usuaria, os IDs ou alcumes das salas e grupos que visitaches e os nomes de usuaria de outras persoas. Non conteñen mensaxes.",
|
||||
@ -778,7 +778,7 @@
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utiliza características avanzadas do navegador, algunhas das cales non están dispoñibles ou son experimentais no seu navegador actual.",
|
||||
"Developer Tools": "Ferramentas para desenvolver",
|
||||
"Preparing to send logs": "Preparándose para enviar informe",
|
||||
"Remember, you can always set an email address in user settings if you change your mind.": "Lembre que sempre poderá poñer un enderezo de correo nos axustes de usuario se cambiase de idea.",
|
||||
"Remember, you can always set an email address in user settings if you change your mind.": "Lembra que sempre poderás poñer un enderezo de email nos axustes de usuaria se cambiases de idea.",
|
||||
"Explore Account Data": "Ollar datos da conta",
|
||||
"All messages (noisy)": "Todas as mensaxes (alto)",
|
||||
"Saturday": "Sábado",
|
||||
@ -819,7 +819,7 @@
|
||||
"Back": "Atrás",
|
||||
"Reply": "Resposta",
|
||||
"Show message in desktop notification": "Mostrar mensaxe nas notificacións de escritorio",
|
||||
"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.": "Os informes de depuración conteñen datos de utilización do aplicativo como o seu nome de usuario, os IDs ou alcumes de salas e grupos que vostede visitou e os nomes de usuarios doutras usuarias. Non conteñen mensaxes.",
|
||||
"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.": "Os informes de depuración conteñen datos de utilización da aplicación como o teu nome de usuaria, os IDs ou alias de salas e grupos que visitachese os nomes de usuaria doutras usuarias. Non conteñen mensaxes.",
|
||||
"Unhide Preview": "Desagochar a vista previa",
|
||||
"Unable to join network": "Non se puido conectar ca rede",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Pode que os configurases nun cliente diferente de Riot. Non podes establecelos desde Riot pero aínda así aplicaranse",
|
||||
@ -845,7 +845,7 @@
|
||||
"View Source": "Ver fonte",
|
||||
"Event Content": "Contido do evento",
|
||||
"Thank you!": "Grazas!",
|
||||
"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!": "Co seu navegador actual a aparencia e uso do aplicativo poderían estar totalmente falseadas, e algunhas características poderían non funcionar. Se quere pode continuar, pero debe ser consciente de que poden haber fallos!",
|
||||
"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!": "Co teu navegador actual a aparencia e uso da aplicación poderían estar totalmente falseadas, e algunhas características poderían non funcionar. Se queres podes continuar, pero debes ser consciente de que pode haber fallos!",
|
||||
"Checking for an update...": "Comprobando as actualizacións...",
|
||||
"There are advanced notifications which are not shown here": "Existen notificacións avanzadas que non se mostran aquí",
|
||||
"Every page you use in the app": "Cada páxina que use na aplicación",
|
||||
@ -867,18 +867,18 @@
|
||||
"Enable widget screenshots on supported widgets": "Activar as capturas de trebellos para aqueles que as permiten",
|
||||
"Share Link to User": "Compartir a ligazón coa usuaria",
|
||||
"Share room": "Compartir sala",
|
||||
"Muted Users": "Usuarios silenciados",
|
||||
"Muted Users": "Usuarias silenciadas",
|
||||
"Please help improve Riot.im by sending <UsageDataLink>anonymous usage data</UsageDataLink>. This will use a cookie (please see our <PolicyLink>Cookie Policy</PolicyLink>).": "Axuda a mellorar Riot.im enviando <UsageDataLink>os datos anónimos de uso</UsageDataLink>. Usaremos unha cookie (le aquí a nosa <PolicyLink>Política de Cookies</PolicyLink>).",
|
||||
"Please help improve Riot.im by sending <UsageDataLink>anonymous usage data</UsageDataLink>. This will use a cookie.": "Axuda a mellorar Riot.im enviando <UsageDataLink>datos anónimos de uso</UsageDataLink>. Esto usará unha cookie.",
|
||||
"Yes, I want to help!": "Si, quero axudar!",
|
||||
"This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. <b>This action is irreversible.</b>": "Iso fará que a súa deixe de ter uso de xeito permanente. Non poderá acceder e ninguén vai a poder volver a rexistrar esa mesma ID de usuario. Suporá que saía de todas as salas de conversas nas que estaba e eliminará os detalles da súa conta do servidores de identificación.<b>Isto non se poderá desfacer</b>",
|
||||
"This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. <b>This action is irreversible.</b>": "Iso fará que a túa deixe de ter uso de xeito permanente. Non poderás acceder e ninguén vai a poder volver a rexistrar esa mesma ID de usuaria. Suporá que sairás de todalas salas de conversas nas que estabas e eliminarás os detalles da túa conta do servidores de identidade. <b>Esta acción non ten volta</b>",
|
||||
"Deactivating your account <b>does not by default cause us to forget messages you have sent.</b> If you would like us to forget your messages, please tick the box below.": "Desactivando a súa conta <b>non supón que por defecto esquezamos as súas mensaxes enviadas.</b> Se quere que nos esquezamos das súas mensaxes, prema na caixa de embaixo.",
|
||||
"To continue, please enter your password:": "Para continuar introduza o seu contrasinal:",
|
||||
"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.": "A visibilidade das mensaxes en Matrix é parecida ás dos correos electrónicos. Que esquezamos as súas mensaxes significa que as súas mensaxes non se van a compartir con ningún novo membro ou usuario que non estea rexistrado. Mais aqueles usuarios que xa tiveron acceso a estas mensaxes si que seguirán tendo acceso as súas propias copias desas mensaxes.",
|
||||
"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.": "A visibilidade das mensaxes en Matrix é parecida á dos correos electrónicos. Que esquezamos as túas mensaxes significa que as mensaxes non se van a compartir con ningún novo membro ou usuaria que non estea rexistrada. Mais aqueles usuarias que xa tiveron acceso a estas mensaxes si que seguirán tendo acceso as súas propias copias desas mensaxes.",
|
||||
"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)": "Esquezan todas as mensaxes que eu enviara no momento en que elimine a miña conta. (<b>Aviso</b>: iso suporá que os seguintes participantes só verán unha versión incompleta das conversas.)",
|
||||
"Share Room": "Compartir sala",
|
||||
"Link to most recent message": "Ligazón ás mensaxes máis recentes",
|
||||
"Share User": "Compartir usuario",
|
||||
"Share User": "Compartir usuaria",
|
||||
"Share Community": "Compartir comunidade",
|
||||
"Share Room Message": "Compartir unha mensaxe da sala",
|
||||
"Link to selected message": "Ligazón á mensaxe escollida",
|
||||
@ -893,10 +893,10 @@
|
||||
"Audio Output": "Saída de audio",
|
||||
"Call in Progress": "Chamada en progreso",
|
||||
"A call is already in progress!": "Xa hai unha chamada en progreso!",
|
||||
"Permission Required": "Precísase de permisos",
|
||||
"You do not have permission to start a conference call in this room": "Non ten permisos para comezar unha chamada de conferencia nesta sala",
|
||||
"Permission Required": "Precísanse permisos",
|
||||
"You do not have permission to start a conference call in this room": "Non tes permisos para comezar unha chamada de conferencia nesta sala",
|
||||
"This event could not be displayed": "Non se puido amosar este evento",
|
||||
"Demote yourself?": "Baixarse a si mesmo de rango?",
|
||||
"Demote yourself?": "Baixarse a ti mesma de rango?",
|
||||
"Demote": "Baixar de rango",
|
||||
"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.": "Nas salas cifradas, como é esta, está desactivado por defecto a previsualización das URL co fin de asegurarse de que o servidor local (que é onde se gardan as previsualizacións) non poida recoller información sobre das ligazóns que se ven nesta sala.",
|
||||
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Cando alguén pon unha URL na mensaxe, esta previsualízarase para que así se coñezan xa cousas delas como o título, a descrición ou as imaxes que inclúe ese sitio web.",
|
||||
@ -963,7 +963,7 @@
|
||||
"Sign in and regain access to your account.": "Conéctate e recupera o acceso a túa conta.",
|
||||
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Non podes conectar a conta. Contacta coa administración do teu servidor para máis información.",
|
||||
"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.": "Aviso: os teus datos personais (incluíndo chaves de cifrado) aínda están gardadas nesta sesión. Pechaa se remataches de usar esta sesión, ou se quere conectar con outra conta.",
|
||||
"Unable to load! Check your network connectivity and try again.": "Non cargou! Comproba a conexión a rede e volta a intentalo.",
|
||||
"Unable to load! Check your network connectivity and try again.": "Non cargou! Comproba a conexión á rede e volta a intentalo.",
|
||||
"There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Hai sesións descoñecidas nesta sala: se continúas sen verificalas será posible para alguén fisgar na túa chamada.",
|
||||
"Review Sessions": "Revisar Sesións",
|
||||
"Call failed due to misconfigured server": "Fallou a chamada porque o servidor está mal configurado",
|
||||
@ -1962,5 +1962,489 @@
|
||||
"View Servers in Room": "Ver Servidores na Sala",
|
||||
"Verification Requests": "Solicitudes de Verificación",
|
||||
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifica esta usuaria para marcala como confiable. Ao confiar nas usuarias proporcionache tranquilidade extra cando usas cifrado de extremo-a-extremo.",
|
||||
"Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Ao verificar esta usuaria marcarás a súa sesión como confiable, e tamén marcará a túa sesión como confiable para elas."
|
||||
"Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Ao verificar esta usuaria marcarás a súa sesión como confiable, e tamén marcará a túa sesión como confiable para elas.",
|
||||
"Enable IRC layout option in the appearance tab": "Activar opción de disposición IRC na pestana de aparencia",
|
||||
"Use custom size": "Usar tamaño personalizado",
|
||||
"Use a system font": "Usar tipo de letra do sistema",
|
||||
"System font name": "Nome da letra do sistema",
|
||||
"Hey you. You're the best!": "Ei ti. Es grande!",
|
||||
"Message layout": "Disposición da mensaxe",
|
||||
"Compact": "Compacta",
|
||||
"Modern": "Moderna",
|
||||
"Power level": "Poderío",
|
||||
"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.": "Verifica este dispositivo para marcalo como confiable. Confiando neste dispositivo permite que ti e outras usuarias estedes máis tranquilas ao utilizar mensaxes cifradas.",
|
||||
"Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Ao verificar este dispositivo marcaralo como confiable, e as usuarias que confiaron en ti tamén confiarán nel.",
|
||||
"Waiting for partner to confirm...": "Agardando a que o compañeiro confirme...",
|
||||
"Incoming Verification Request": "Solicitude entrante de verificación",
|
||||
"Integrations are disabled": "As Integracións están desactivadas",
|
||||
"Enable 'Manage Integrations' in Settings to do this.": "Activa 'Xestionar Integracións' nos Axustes para facer esto.",
|
||||
"Integrations not allowed": "Non se permiten Integracións",
|
||||
"Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "O teu Riot non permite que uses o Xestor de Integracións, contacta coa administración.",
|
||||
"Confirm to continue": "Confirma para continuar",
|
||||
"Click the button below to confirm your identity.": "Preme no botón inferior para confirmar a túa identidade.",
|
||||
"Failed to invite the following users to chat: %(csvUsers)s": "Fallo ao convidar as seguintes usuarias a conversa: %(csvUsers)s",
|
||||
"We couldn't create your DM. Please check the users you want to invite and try again.": "Non puidemos crear o teu MD. Comproba as usuarias que queres convidar e inténtao outra vez.",
|
||||
"Something went wrong trying to invite the users.": "Algo fallou ao convidar as usuarias.",
|
||||
"We couldn't invite those users. Please check the users you want to invite and try again.": "Non puidemos invitar esas usuarias. Comprobas que son correctas e intenta convidalas outra vez.",
|
||||
"Failed to find the following users": "Non atopamos as seguintes usuarias",
|
||||
"The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "As seguintes usuarias poderían non existir ou non son válidas, e non se poden convidar: %(csvNames)s",
|
||||
"Recent Conversations": "Conversas recentes",
|
||||
"Suggestions": "Suxestións",
|
||||
"Recently Direct Messaged": "Mensaxes Directas recentes",
|
||||
"Start a conversation with someone using their name, username (like <userId/>) or email address.": "Inicia a conversa con alguén usando o seu nome, nome de usuaria (como <userId/>) ou enderezo de email.",
|
||||
"Go": "Ir",
|
||||
"Invite someone using their name, username (like <userId/>), email address or <a>share this room</a>.": "Convida alguén usando o seu nome, nome de usuaria (como <userId/>), enderezo de email ou <a>comparte esta sala</a>.",
|
||||
"a new master key signature": "unha nova firma con chave mestra",
|
||||
"a new cross-signing key signature": "unha nova firma con chave de sinatura-cruzada",
|
||||
"a device cross-signing signature": "unha sinatura sinatura-cruzada de dispositivo",
|
||||
"a key signature": "unha chave de sinatura",
|
||||
"Riot encountered an error during upload of:": "Riot atopou un fallo ao subir:",
|
||||
"Upload completed": "Subida completa",
|
||||
"Cancelled signature upload": "Cancelada a subida da sinatura",
|
||||
"Unable to upload": "Non foi posible a subida",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "A autenticidade desta mensaxe cifrada non está garantida neste dispositivo.",
|
||||
"Signature upload success": "Subeuse correctamente a sinatura",
|
||||
"Signature upload failed": "Fallou a subida da sinatura",
|
||||
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Anteriormente utilizaches Riot en %(host)s con carga preguiceira de membros. Nesta versión a carga preguiceira está desactivada. Como a caché local non é compatible entre as dúas configuracións, Riot precisa voltar a sincronizar a conta.",
|
||||
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Se a outra versión de Riot aínda está aberta noutra lapela, péchaa por favor, pois podería haber fallos ao estar as dúas sesións traballando simultáneamente.",
|
||||
"Incompatible local cache": "Caché local incompatible",
|
||||
"Clear cache and resync": "Baleirar caché e sincronizar",
|
||||
"Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot utiliza agora entre 3 e 5 veces menos memoria, cargando só información sobre as usuarias cando é preciso. Agarda mentras se sincroniza co servidor!",
|
||||
"Updating Riot": "Actualizando Riot",
|
||||
"I don't want my encrypted messages": "Non quero as miñas mensaxes cifradas",
|
||||
"Manually export keys": "Exportar manualmente as chaves",
|
||||
"You'll lose access to your encrypted messages": "Perderás o acceso as túas mensaxes cifradas",
|
||||
"Confirm by comparing the following with the User Settings in your other session:": "Corfirma comparando o seguinte cos Axustes de Usuaria na outra sesión:",
|
||||
"Confirm this user's session by comparing the following with their User Settings:": "Confirma a sesión desta usuaria comparando o seguinte cos seus Axustes de Usuaria:",
|
||||
"Session name": "Nome da sesión",
|
||||
"Session key": "Chave da sesión",
|
||||
"If they don't match, the security of your communication may be compromised.": "Se non concordan, a seguridade da comunicación podería estar comprometida.",
|
||||
"Verify session": "Verificar sesión",
|
||||
"Your homeserver doesn't seem to support this feature.": "O servidor non semella soportar esta característica.",
|
||||
"Guest": "Convidada",
|
||||
"Message edits": "Edicións da mensaxe",
|
||||
"Your account is not secure": "A túa conta non é segura",
|
||||
"Your password": "O teu contrasinal",
|
||||
"This session, or the other session": "Esta sesión, ou a outra sesión",
|
||||
"The internet connection either session is using": "A conexión a internet que está a usar cada sesión",
|
||||
"We recommend you change your password and recovery key in Settings immediately": "Recomendámosche cambiar inmediatamente o contrasinal e chave de recuperación nos Axustes",
|
||||
"New session": "Nova sesión",
|
||||
"Use this session to verify your new one, granting it access to encrypted messages:": "Usa esta seseión para verificar a nova, dándolle acceso ás mensaxes cifradas:",
|
||||
"This wasn't me": "Non fun eu",
|
||||
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Se atopas fallos ou queres compartir a túa experiencia, compárteos con nós en GitHub.",
|
||||
"Report bugs & give feedback": "Informe de fallos & opinión",
|
||||
"Please fill why you're reporting.": "Escribe a razón do informe.",
|
||||
"Report Content to Your Homeserver Administrator": "Denuncia sobre contido á Administración do teu servidor",
|
||||
"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.": "Ao denunciar esta mensaxe vasnos enviar o seu 'event ID' único á administración do servidor. Se as mensaxes da sala están cifradas, a administración do servidor non poderá ler o texto da mensaxe ou ver imaxes ou ficheiros.",
|
||||
"Send report": "Enviar denuncia",
|
||||
"Failed to upgrade room": "Fallou a actualización da sala",
|
||||
"The room upgrade could not be completed": "A actualización da sala non se completou",
|
||||
"Upgrade this room to version %(version)s": "Actualiza esta sala á versión %(version)s",
|
||||
"Upgrade Room Version": "Actualiza a Versión da Sala",
|
||||
"Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Para actualizar a sala debes pechar a instancia actual da sala e crear unha nova sala no seu lugar. Para proporcionar a mellor experiencia de usuaria, imos:",
|
||||
"Create a new room with the same name, description and avatar": "Crear unha nova sala co mesmo nome, descrición e avatar",
|
||||
"Update any local room aliases to point to the new room": "Actualizar calquera alias local da sala para que apunte á nova sala",
|
||||
"Stop users from speaking in the old version of the room, and post a message advising users to move to the new room": "Evitar que as usuarias conversen na sala antiga e publicar unha mensaxe avisando ás usuarias para que veñan á nova sala",
|
||||
"Put a link back to the old room at the start of the new room so people can see old messages": "Poñer unha ligazón na nova sala cara a antiga para que as persoas poidan ver as mensaxes antigas",
|
||||
"Automatically invite users": "Convidar automáticamente ás usuarias",
|
||||
"Upgrade private room": "Actualizar sala privada",
|
||||
"Upgrade public room": "Actualizar sala pública",
|
||||
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "A actualización da sala é unha acción avanzada e recomendada cando unha sala se volta inestable debido aos fallos, características obsoletas e vulnerabilidades da seguridade.",
|
||||
"This usually only affects how the room is processed on the server. If you're having problems with your Riot, please <a>report a bug</a>.": "Esto normalmente só afecta ao xeito en que a sala se procesa no servidor. Se tes problemas con Riot, <a>informa do problema</a>.",
|
||||
"You'll upgrade this room from <oldVersion /> to <newVersion />.": "Vas actualizar a sala da versión <oldVersion /> á <newVersion />.",
|
||||
"A username can only contain lower case letters, numbers and '=_-./'": "Un nome de usuaria só pode ter minúsculas, números e '=_-./'",
|
||||
"Checking...": "Comprobando...",
|
||||
"Missing session data": "Faltan datos da sesión",
|
||||
"Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Faltan algúns datos da sesión, incluíndo chaves de mensaxes cifradas. Desconecta e volve a conectar para arranxalo, restaurando as chaves desde a copia.",
|
||||
"Your browser likely removed this data when running low on disk space.": "O navegador probablemente eliminou estos datos ao quedar con pouco espazo de disco.",
|
||||
"Integration Manager": "Xestor de Integracións",
|
||||
"Find others by phone or email": "Atopa a outras por teléfono ou email",
|
||||
"Be found by phone or email": "Permite ser atopada polo email ou teléfono",
|
||||
"Use bots, bridges, widgets and sticker packs": "Usa bots, pontes, widgets e paquetes de adhesivos",
|
||||
"Terms of Service": "Termos do Servizo",
|
||||
"To continue you need to accept the terms of this service.": "Para continuar tes que aceptar os termos deste servizo.",
|
||||
"Service": "Servizo",
|
||||
"Summary": "Resumo",
|
||||
"Document": "Documento",
|
||||
"Next": "Seguinte",
|
||||
"Upload files (%(current)s of %(total)s)": "Subir ficheiros (%(current)s de %(total)s)",
|
||||
"Upload files": "Subir ficheiros",
|
||||
"Upload all": "Subir todo",
|
||||
"This file is <b>too large</b> to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Este ficheiro é <b>demasiado grande</b> para subilo. O límite é %(limit)s mais o ficheiro é %(sizeOfThisFile)s.",
|
||||
"These files are <b>too large</b> to upload. The file size limit is %(limit)s.": "Estes ficheiros son <b>demasiado grandes</b> para subilos. O límite é %(limit)s.",
|
||||
"Some files are <b>too large</b> to be uploaded. The file size limit is %(limit)s.": "Algúns ficheiros son <b>demasiado grandes</b> para subilos. O límite é %(limit)s.",
|
||||
"Upload %(count)s other files|other": "Subir outros %(count)s ficheiros",
|
||||
"Upload %(count)s other files|one": "Subir %(count)s ficheiro máis",
|
||||
"Cancel All": "Cancelar todo",
|
||||
"Upload Error": "Fallo ao subir",
|
||||
"Verify other session": "Verificar outra sesión",
|
||||
"Verification Request": "Solicitude de Verificación",
|
||||
"A widget would like to verify your identity": "Un widget quere verificar a túa indentidade",
|
||||
"A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Un widget localizado en %(widgetUrl)s quere verificar a túa identidade. Se o permites, o widget poderá verificar o teu ID de usuaria, pero non realizar accións por ti.",
|
||||
"Remember my selection for this widget": "Lembrar a miña decisión para este widget",
|
||||
"Deny": "Denegar",
|
||||
"Enter recovery passphrase": "Escribe a frase de paso de recuperación",
|
||||
"Unable to access secret storage. Please verify that you entered the correct recovery passphrase.": "Non se pode acceder ao almacenaxe segredo. Verifica que escribiches a frase de paso correta.",
|
||||
"<b>Warning</b>: You should only do this on a trusted computer.": "<b>Aviso</b>: Só deberías facer esto nunha computadora de confianza.",
|
||||
"Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery passphrase.": "Accede ó teu historial seguro de mensaxes e á túa identidade de sinatura-cruzada para verificar outras sesión escribindo a frase de paso de recuperación.",
|
||||
"If you've forgotten your recovery passphrase you can <button1>use your recovery key</button1> or <button2>set up new recovery options</button2>.": "Se esqueceches a túa frase de paso de recuperación podes <button1>usar a chave de recuperación</button1> ou establecer <button2>novas opcións de recuperación</button2>.",
|
||||
"Enter recovery key": "Escribe a chave de recuperación",
|
||||
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Non se accedeu ó almacenaxe segredo. Verifica que escribiches a chave de recuperación correcta.",
|
||||
"This looks like a valid recovery key!": "Semella unha chave de recuperación válida!",
|
||||
"Not a valid recovery key": "Non é unha chave de recuperación válida",
|
||||
"Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Accede ó teu historial de mensaxes seguras e á identidade de sinatura-cruzada para verificar outras sesión escribindo a achave de recuperación.",
|
||||
"If you've forgotten your recovery key you can <button>set up new recovery options</button>.": "Se esqueceches a chave de recuperación podes <button>establecer novas opcións de recuperación</button>.",
|
||||
"Restoring keys from backup": "Restablecendo chaves desde a copia",
|
||||
"Fetching keys from server...": "Obtendo chaves desde o servidor...",
|
||||
"%(completed)s of %(total)s keys restored": "%(completed)s de %(total)s chaves restablecidas",
|
||||
"Unable to load backup status": "Non cargou o estado da copia",
|
||||
"Recovery key mismatch": "A chave de recuperación non concorda",
|
||||
"Backup could not be decrypted with this recovery key: please verify that you entered the correct recovery key.": "A copia non se puido descifrar con esta chave de recuperación: comproba que introduciches a chave de recuperación correcta.",
|
||||
"Incorrect recovery passphrase": "Frase da paso de recuperación incorrecta",
|
||||
"Backup could not be decrypted with this recovery passphrase: please verify that you entered the correct recovery passphrase.": "A copia non se descifrou con esta frase de paso: comproba que escribiches a frase de paso correcta.",
|
||||
"Unable to restore backup": "Non se restableceu a copia",
|
||||
"No backup found!": "Non se atopou copia!",
|
||||
"Keys restored": "Chaves restablecidas",
|
||||
"Failed to decrypt %(failedCount)s sessions!": "Fallo ao descifrar %(failedCount)s sesións!",
|
||||
"Successfully restored %(sessionCount)s keys": "Restablecidas correctamente %(sessionCount)s chaves",
|
||||
"<b>Warning</b>: you should only set up key backup from a trusted computer.": "<b>Aviso</b>: só deberías realizar a copia de apoio desde un ordenador de confianza.",
|
||||
"Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Accede ó historial de mensaxes seguras escribindo a frase de paso de recuperación.",
|
||||
"If you've forgotten your recovery passphrase you can <button1>use your recovery key</button1> or <button2>set up new recovery options</button2>": "Se esqueceches a frase de paso de recuperación pode <button1>usar a chave de recuperación</button1> ou establecer <button2>novas opcións de recuperación</button2>",
|
||||
"<b>Warning</b>: You should only set up key backup from a trusted computer.": "<b>Aviso</b>: só deberías configurar a copia das chaves desde un ordenador de confianza.",
|
||||
"Access your secure message history and set up secure messaging by entering your recovery key.": "Accede ó teu historial de mensaxes seguras e configura a comunicación segura escribindo a chave de recuperación.",
|
||||
"If you've forgotten your recovery key you can <button>set up new recovery options</button>": "Se esqueceches a chave de recuperación podes <button>establecer novas opcións de recuperación</button>",
|
||||
"Address (optional)": "Enderezo (optativo)",
|
||||
"Resend edit": "Editar reenvío",
|
||||
"Resend %(unsentCount)s reaction(s)": "Reenviar %(unsentCount)s reacción(s)",
|
||||
"Resend removal": "Reenviar retirada",
|
||||
"Share Permalink": "Comparte ligazón permanente",
|
||||
"Report Content": "Denunciar contido",
|
||||
"Notification settings": "Axustes de notificacións",
|
||||
"Clear status": "Baleirar estado",
|
||||
"Update status": "Actualizar estado",
|
||||
"Set status": "Establecer estado",
|
||||
"Set a new status...": "Establecer novo estado...",
|
||||
"Hide": "Agochar",
|
||||
"Reload": "Recargar",
|
||||
"Take picture": "Tomar foto",
|
||||
"Remove for everyone": "Eliminar para todas",
|
||||
"Remove for me": "Eliminar para min",
|
||||
"User Status": "Estado da usuaria",
|
||||
"This homeserver would like to make sure you are not a robot.": "Este servidor quere asegurarse de que non es un robot.",
|
||||
"Country Dropdown": "Despregable de países",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Podes usar as opcións dun servidor personalizado para conectarte a outros servidores Matrix indicando o URL do servidor. Así poderás usar esta app cunha conta Matrix dun servidor diferente.",
|
||||
"Confirm your identity by entering your account password below.": "Confirma a túa identidade escribindo o contrasinal da conta embaixo.",
|
||||
"Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Falta a chave pública do captcha na configuración do servidor. Informa desto á administración do teu servidor.",
|
||||
"Please review and accept all of the homeserver's policies": "Revisa e acepta todas as cláusulas do servidor",
|
||||
"Please review and accept the policies of this homeserver:": "Revisa e acepta as cláusulas deste servidor:",
|
||||
"Unable to validate homeserver/identity server": "Non se puido validar o servidor/servidor de identidade",
|
||||
"Your Modular server": "O teu servidor Modular",
|
||||
"Enter the location of your Modular homeserver. It may use your own domain name or be a subdomain of <a>modular.im</a>.": "Escribe a localización do teu servidor Modular. Podería utilizar o teu propio nome de dominio ou ser un subdominio de <a>modular.im</a>.",
|
||||
"Server Name": "Nome do Servidor",
|
||||
"Enter password": "Escribe contrasinal",
|
||||
"Nice, strong password!": "Ben, bo contrasinal!",
|
||||
"Password is allowed, but unsafe": "O contrasinal é admisible, pero inseguro",
|
||||
"Keep going...": "Segue intentándoo...",
|
||||
"The username field must not be blank.": "O campo de nome de usuaria non pode estar baleiro.",
|
||||
"Username": "Nome de usuaria",
|
||||
"Not sure of your password? <a>Set a new one</a>": "¿Non estás segura do contrasinal? <a>Crea un novo</a>",
|
||||
"No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Non hai un servidor de identidade configurado polo que non poderás engadir enderezos de email para poder restablecer o contrasinal no futuro.",
|
||||
"Use an email address to recover your account": "Usa un enderezo de email para recuperar a túa conta",
|
||||
"Enter email address (required on this homeserver)": "Escribe o enderzo de email (requerido neste servidor)",
|
||||
"Doesn't look like a valid email address": "Non semella un enderezo válido",
|
||||
"Passwords don't match": "Non concordan os contrasinais",
|
||||
"Other users can invite you to rooms using your contact details": "Outras usuarias poden convidarte ás salas usando os teus detalles de contacto",
|
||||
"Enter phone number (required on this homeserver)": "Escribe un número de teléfono (requerido neste servidor)",
|
||||
"Doesn't look like a valid phone number": "Non semella un número de teléfono válido",
|
||||
"Use lowercase letters, numbers, dashes and underscores only": "Usa só minúsculas, números, trazos e trazos baixos",
|
||||
"Enter username": "Escribe nome de usuaria",
|
||||
"Email (optional)": "Email (optativo)",
|
||||
"Phone (optional)": "Teléfono (optativo)",
|
||||
"Create your Matrix account on %(serverName)s": "Crea a conta Matrix en %(serverName)s",
|
||||
"Create your Matrix account on <underlinedServerName />": "Crea a túa conta Matrix en <underlinedServerName />",
|
||||
"Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Establece un email para recuperación da conta. Usa un email ou teléfono de xeito optativo para que poidan atoparte os contactos.",
|
||||
"Set an email for account recovery. Use email to optionally be discoverable by existing contacts.": "Establece un email para recuperación da conta. Optativamente usa un email para que poidan atoparte os contactos existentes.",
|
||||
"Enter your custom homeserver URL <a>What does this mean?</a>": "Escribe o URL do servidor personalizado <a>¿Qué significa esto?</a>",
|
||||
"Homeserver URL": "URL do servidor",
|
||||
"Enter your custom identity server URL <a>What does this mean?</a>": "Escribe o URL do servidor de identidade personalizado <a>¿Que significa esto?</a>",
|
||||
"Identity Server URL": "URL do servidor de identidade",
|
||||
"Other servers": "Outros servidores",
|
||||
"Free": "Gratuíto",
|
||||
"Premium": "Premium",
|
||||
"Premium hosting for organisations <a>Learn more</a>": "Hospedaxe Premium para organizacións <a>Saber máis</a>",
|
||||
"Find other public servers or use a custom server": "Atopa outros servidores públicos ou usa un servidor personalizado",
|
||||
"Couldn't load page": "Non se puido cargar a páxina",
|
||||
"You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Administras esta comunidade. Non poderás voltar a unirte sen un convite doutra persoa administradora.",
|
||||
"Want more than a community? <a>Get your own server</a>": "¿Queres algo máis que unha comunidade? <a>Monta o teu propio servidor</a>",
|
||||
"This homeserver does not support communities": "Este servidor non soporta comunidades",
|
||||
"Welcome to %(appName)s": "Benvida a %(appName)s",
|
||||
"Liberate your communication": "Libera as túas comunicacións",
|
||||
"Send a Direct Message": "Envía unha Mensaxe Directa",
|
||||
"Create a Group Chat": "Crear unha Conversa en Grupo",
|
||||
"Self-verification request": "Solicitude de auto-verificación",
|
||||
"Riot failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "Riot non puido obter a lista de protocolos desde o servidor. O servidor podería ser moi antigo para soportar redes de terceiros.",
|
||||
"Riot failed to get the public room list.": "Riot non puido obter a lista de salas públicas.",
|
||||
"The homeserver may be unavailable or overloaded.": "O servidor podería non estar dispoñible ou con sobrecarga.",
|
||||
"delete the address.": "eliminar o enderezo.",
|
||||
"Preview": "Vista previa",
|
||||
"View": "Vista",
|
||||
"Find a room…": "Atopa unha sala…",
|
||||
"Find a room… (e.g. %(exampleRoom)s)": "Atopa unha sala... (ex. %(exampleRoom)s)",
|
||||
"Jump to first unread room.": "Vaite a primeira sala non lida.",
|
||||
"Jump to first invite.": "Vai ó primeiro convite.",
|
||||
"You have %(count)s unread notifications in a prior version of this room.|other": "Tes %(count)s notificacións non lidas nunha versión previa desta sala.",
|
||||
"You have %(count)s unread notifications in a prior version of this room.|one": "Tes %(count)s notificacións non lidas nunha versión previa desta sala.",
|
||||
"Your profile": "Perfil",
|
||||
"Switch to light mode": "Cambiar a decorado claro",
|
||||
"Switch to dark mode": "Cambiar a decorado escuro",
|
||||
"Switch theme": "Cambiar decorado",
|
||||
"Security & privacy": "Seguridade & privacidade",
|
||||
"All settings": "Todos os axustes",
|
||||
"Archived rooms": "Salas arquivadas",
|
||||
"Feedback": "Comenta",
|
||||
"Account settings": "Axustes da conta",
|
||||
"Could not load user profile": "Non se cargou o perfil da usuaria",
|
||||
"Verify this login": "Verifcar esta conexión",
|
||||
"Session verified": "Sesión verificada",
|
||||
"Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Ao cambiar o contrasinal vas restablecer todas as chaves de cifrado das túas sesións, impedindo ler o historial de conversa. Configura a Copia de Apoio das Chaves ou exporta as chaves da sala desde outra sesión antes de restablecer o contrasinal.",
|
||||
"Your Matrix account on %(serverName)s": "A túa conta Matrix en %(serverName)s",
|
||||
"Your Matrix account on <underlinedServerName />": "A túa conta Matrix en <underlinedServerName />",
|
||||
"No identity server is configured: add one in server settings to reset your password.": "Non hai un Servidor de Identidade configurado: engade un nos axustes para restablecer o contrasinal.",
|
||||
"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.": "Desconectaches todas as sesións e non recibirás notificacións push. Para reactivalas, conéctate outra vez nos dispositivos.",
|
||||
"Set a new password": "Novo contrasinal",
|
||||
"Invalid homeserver discovery response": "Resposta de descubrimento do servidor non válida",
|
||||
"Failed to get autodiscovery configuration from server": "Fallo ó obter a configuración de autodescubrimento desde o servidor",
|
||||
"Invalid base_url for m.homeserver": "base_url non válido para m.homeserver",
|
||||
"Homeserver URL does not appear to be a valid Matrix homeserver": "O URL do servidor non semella ser un servidor Matrix válido",
|
||||
"Invalid identity server discovery response": "Resposta de descubrimento de identidade do servidor non válida",
|
||||
"Invalid base_url for m.identity_server": "base_url para m.identity_server non válida",
|
||||
"Identity server URL does not appear to be a valid identity server": "O URL do servidor de identidade non semella ser un servidor de identidade válido",
|
||||
"This account has been deactivated.": "Esta conta foi desactivada.",
|
||||
"Failed to perform homeserver discovery": "Fallo ao intentar o descubrimento do servidor",
|
||||
"Syncing...": "Sincronizando...",
|
||||
"Signing In...": "Conectando con...",
|
||||
"If you've joined lots of rooms, this might take a while": "Se te uniches a moitas salas, esto podería levarnos un anaco",
|
||||
"Create account": "Crea unha conta",
|
||||
"Use a more compact ‘Modern’ layout": "Usa o deseño compacto 'Moderno'",
|
||||
"Unable to query for supported registration methods.": "Non se puido consultar os métodos de rexistro soportados.",
|
||||
"Registration has been disabled on this homeserver.": "O rexistro está desactivado neste servidor.",
|
||||
"Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "A tú conta (%(newAccountId)s) foi rexistrada, pero estás conectada usando outra conta (%(loggedInUserId)s).",
|
||||
"Continue with previous account": "Continúa coa conta anterior",
|
||||
"<a>Log in</a> to your new account.": "<a>Conecta</a> usando a conta nova.",
|
||||
"You can now close this window or <a>log in</a> to your new account.": "Podes pechar esta ventá ou <a>conectar</a> usando a conta nova.",
|
||||
"Registration Successful": "Rexistro correcto",
|
||||
"Create your account": "Crea a túa conta",
|
||||
"Use Recovery Key or Passphrase": "Usa a Chave de recuperación ou Frase de paso",
|
||||
"Use Recovery Key": "Usa chave de recuperación",
|
||||
"Confirm your identity by verifying this login from one of your other sessions, granting it access to encrypted messages.": "Confirma a túa identidade verificando esta conexión desde unha das outras sesións, permitindo así acceder ás mensaxes cifradas.",
|
||||
"This requires the latest Riot on your other devices:": "Require a última versión de Riot nos outros dispositivos:",
|
||||
"or another cross-signing capable Matrix client": "ou outro cliente Matrix que permita a sinatura-cruzada",
|
||||
"Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "A nova sesión foi verificada. Tes acceso ás mensaxes cifradas, e outras persoas verante como confiable.",
|
||||
"Your new session is now verified. Other users will see it as trusted.": "A nova sesión foi verificada. Outras persoas verante como confiable.",
|
||||
"Without completing security on this session, it won’t have access to encrypted messages.": "Sen non garantes a seguridade para esta sesión non poderá acceder a mensaxes cifradas.",
|
||||
"Go Back": "Atrás",
|
||||
"Failed to re-authenticate due to a homeserver problem": "Fallo ó reautenticar debido a un problema no servidor",
|
||||
"Failed to re-authenticate": "Fallo na reautenticación",
|
||||
"Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Recupera o acceso á túa conta e recupera as chaves de cifrado gardadas nesta sesión. Sen elas, non poderás ler as mensaxes seguras en calquera das sesións.",
|
||||
"Forgotten your password?": "¿Esqueceches o contrasinal?",
|
||||
"You're signed out": "Estás desconectada",
|
||||
"Clear personal data": "Baleirar datos personais",
|
||||
"Command Autocomplete": "Autocompletado de comandos",
|
||||
"Community Autocomplete": "Autocompletado de comunidade",
|
||||
"DuckDuckGo Results": "Resultados DuckDuckGo",
|
||||
"Emoji Autocomplete": "Autocompletado emoticonas",
|
||||
"Notification Autocomplete": "Autocompletado de notificacións",
|
||||
"Room Autocomplete": "Autocompletado de Salas",
|
||||
"User Autocomplete": "Autocompletados de Usuaria",
|
||||
"Confirm encryption setup": "Confirma os axustes de cifrado",
|
||||
"Click the button below to confirm setting up encryption.": "Preme no botón inferior para confirmar os axustes do cifrado.",
|
||||
"Enter your account password to confirm the upgrade:": "Escribe o contrasinal para confirmar a actualización:",
|
||||
"Restore your key backup to upgrade your encryption": "Restablece a copia das chaves para actualizar o cifrado",
|
||||
"Restore": "Restablecer",
|
||||
"You'll need to authenticate with the server to confirm the upgrade.": "Debes autenticarte no servidor para confirmar a actualización.",
|
||||
"Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Actualiza esta sesión para permitirlle que verifique as outras sesións, outorgándolles acceso ás mensaxes cifradas e marcándoas como confiables para outras usuarias.",
|
||||
"Set a recovery passphrase to secure encrypted information and recover it if you log out. This should be different to your account password:": "Establece unha frase de paso de recuperación para asegurar a información cifrada e recuperala se te desconectas. Esta frase debería ser diferente ó contrasinal da conta:",
|
||||
"Enter a recovery passphrase": "Escribe a frase de paso de recuperación",
|
||||
"Great! This recovery passphrase looks strong enough.": "Ben! Esta frase de paso de recuperación semella ser forte.",
|
||||
"Back up encrypted message keys": "Fai copia das chaves das mensaxes cifradas",
|
||||
"Set up with a recovery key": "Configura cunha chave de recuperación",
|
||||
"That matches!": "Concorda!",
|
||||
"Use a different passphrase?": "¿Usar unha frase de paso diferente?",
|
||||
"That doesn't match.": "Non concorda.",
|
||||
"Go back to set it again.": "Vai atrás e volve a escribila.",
|
||||
"Enter your recovery passphrase a second time to confirm it.": "Escribe a frase de paso de recuperación por segunda vez para confirmala.",
|
||||
"Confirm your recovery passphrase": "Confirma a frase de paso de recuperación",
|
||||
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your recovery passphrase.": "A chave de recuperación é unha rede de seguridade - podes usala para recuperar o acceso ás mensaxes cifradas se esqueces a frase de paso de recuperación.",
|
||||
"Keep a copy of it somewhere secure, like a password manager or even a safe.": "Garda unha copia nun lugar seguro, como un xestor de contrasinais ou nun lugar aínda máis seguro.",
|
||||
"Your recovery key": "A chave de recuperación",
|
||||
"Copy": "Copiar",
|
||||
"Download": "Descargar",
|
||||
"Your recovery key has been <b>copied to your clipboard</b>, paste it to:": "A chave de recuperación foi <b>copiada no portapapeis</b>, pégaa en:",
|
||||
"Your recovery key is in your <b>Downloads</b> folder.": "A chave de recuperación está no teu cartafol de <b>Descargas</b>.",
|
||||
"<b>Print it</b> and store it somewhere safe": "<b>Imprímea</b> e gárdaa nun lugar seguro",
|
||||
"<b>Save it</b> on a USB key or backup drive": "<b>Gárdaa</b> nunha memoria USB ou disco duro",
|
||||
"<b>Copy it</b> to your personal cloud storage": "<b>Copiaa</b> no almacenaxe personal na nube",
|
||||
"Unable to query secret storage status": "Non se obtivo o estado do almacenaxe segredo",
|
||||
"Retry": "Reintentar",
|
||||
"You can now verify your other devices, and other users to keep your chats safe.": "Xa podes verificar os teus outros dispositivos e a outras usuarias para manter conversas seguras.",
|
||||
"Upgrade your encryption": "Mellora o teu cifrado",
|
||||
"Confirm recovery passphrase": "Confirma a frase de paso de recuperación",
|
||||
"Make a copy of your recovery key": "Fai unha copia da túa chave de recuperación",
|
||||
"You're done!": "Feito!",
|
||||
"Unable to set up secret storage": "Non se configurou un almacenaxe segredo",
|
||||
"We'll store an encrypted copy of your keys on our server. Secure your backup with a recovery passphrase.": "Imos gardar unha copia cifrada das túas chaves no noso servidor. Asegura a copia cunha frase de paso de recuperación.",
|
||||
"For maximum security, this should be different from your account password.": "Para máxima seguridade, esta debería ser diferente ó contrasinal da túa conta.",
|
||||
"Please enter your recovery passphrase a second time to confirm.": "Escribe a frase de paso de recuperación outra vez para confirmala.",
|
||||
"Repeat your recovery passphrase...": "Repite a frase de paso de recuperación...",
|
||||
"Your keys are being backed up (the first backup could take a few minutes).": "As chaves estanse a copiar (a primeira copia podería tardar un anaco).",
|
||||
"Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Se non configuras Recuperación de Mensaxes Seguras, non poderás restablecer o historial de mensaxes cifradas se te desconectas ou usas outra sesión.",
|
||||
"Set up Secure Message Recovery": "Cofigurar Recuperación de Mensaxes Seguras",
|
||||
"Secure your backup with a recovery passphrase": "Asegura a túa copia cunha frase de paso de recuperación",
|
||||
"Starting backup...": "Iniciando a copia...",
|
||||
"Success!": "Feito!",
|
||||
"Create key backup": "Crear copia da chave",
|
||||
"Unable to create key backup": "Non se creou a copia da chave",
|
||||
"Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.": "Se non configuras a Recuperación de Mensaxes Seguras, perderás o acceso ó historial de mensaxes seguras cando te desconectes.",
|
||||
"If you don't want to set this up now, you can later in Settings.": "Se non queres configurar esto agora, pódelo facer posteriormente nos Axustes.",
|
||||
"Don't ask again": "Non preguntar outra vez",
|
||||
"New Recovery Method": "Novo Método de Recuperación",
|
||||
"A new recovery passphrase and key for Secure Messages have been detected.": "Detectouse un novo método de chave e frase de paso de recuperación para Mensaxes Seguras.",
|
||||
"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.": "Se non configuras o novo método de recuperación, un atacante podería intentar o acceso á túa conta. Cambia inmediatamente o contrasinal da conta e configura un novo método de recuperación nos Axustes.",
|
||||
"This session is encrypting history using the new recovery method.": "Esta sesión está cifrando o historial usando o novo método de recuperación.",
|
||||
"Go to Settings": "Ir a Axustes",
|
||||
"Set up Secure Messages": "Configurar Mensaxes Seguras",
|
||||
"Recovery Method Removed": "Método de Recuperación eliminado",
|
||||
"This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Esta sesión detectou que a túa frase de paso de recuperación e chave para Mensaxes Seguras foron eliminadas.",
|
||||
"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.": "Se fixeches esto sen querer, podes configurar Mensaxes Seguras nesta sesión e volverá a cifrar as mensaxes da sesión cun novo método de recuperación.",
|
||||
"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.": "Se non eliminaches o método de recuperación, un atacante podería estar a intentar acceder á túa conta. Cambia inmediatamente o contrasinal da conta e establece un novo método de recuperación nos Axustes.",
|
||||
"If disabled, messages from encrypted rooms won't appear in search results.": "Se está desactivado, as mensaxes das salas cifradas non aparecerán nos resultados das buscas.",
|
||||
"Disable": "Desactivar",
|
||||
"Not currently indexing messages for any room.": "Non se están indexando as mensaxes de ningunha sala.",
|
||||
"Currently indexing: %(currentRoom)s": "Indexando actualmente: %(currentRoom)s",
|
||||
"Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot está gardando de xeito seguro na caché local mensaxes cifradas para que aparezan nos resultados das buscas:",
|
||||
"Space used:": "Espazo utilizado:",
|
||||
"Indexed messages:": "Mensaxes indexadas:",
|
||||
"Indexed rooms:": "Salas indexadas:",
|
||||
"%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s de %(totalRooms)s",
|
||||
"New spinner design": "Novo deseño da roda",
|
||||
"Message downloading sleep time(ms)": "Tempo de espera da mensaxe de descarga(ms)",
|
||||
"Navigation": "Navegación",
|
||||
"Calls": "Chamadas",
|
||||
"Room List": "Lista de Salas",
|
||||
"Autocomplete": "Autocompletado",
|
||||
"Alt": "Alt",
|
||||
"Alt Gr": "Alt Gr",
|
||||
"Shift": "Maiús.",
|
||||
"Super": "Super",
|
||||
"Ctrl": "Ctrl",
|
||||
"Toggle Bold": "Activa Resaltar",
|
||||
"Toggle Italics": "Activa Cursiva",
|
||||
"Toggle Quote": "Activa Citación",
|
||||
"New line": "Nova liña",
|
||||
"Navigate recent messages to edit": "Mira nas mensaxes recentes para editar",
|
||||
"Jump to start/end of the composer": "Vai ó inicio/fin no editor",
|
||||
"Navigate composer history": "Vai ó historial do editor",
|
||||
"Cancel replying to a message": "Cancelar a resposta a mensaxe",
|
||||
"Toggle microphone mute": "Acalar micrófono",
|
||||
"Toggle video on/off": "Activar vídeo on/off",
|
||||
"Scroll up/down in the timeline": "Desprazarse arriba/abaixo na cronoloxía",
|
||||
"Dismiss read marker and jump to bottom": "Ignorar marcador de lectura e ir ó final",
|
||||
"Jump to oldest unread message": "Ir á mensaxe máis antiga non lida",
|
||||
"Upload a file": "Subir ficheiro",
|
||||
"Jump to room search": "Ir a busca na sala",
|
||||
"Navigate up/down in the room list": "Ir arriba/abaixo na lista de salas",
|
||||
"Select room from the room list": "Escoller sala da lista de salas",
|
||||
"Collapse room list section": "Contraer a sección de lista de salas",
|
||||
"Expand room list section": "Expandir a sección da lista de salas",
|
||||
"Previous/next unread room or DM": "Anterior/seguinte para salas non lidas ou MD",
|
||||
"Previous/next room or DM": "Anterior/seguinte para sala ou MD",
|
||||
"Toggle the top left menu": "Activar o menú superior esquerdo",
|
||||
"Close dialog or context menu": "Pechar o diálogo ou menú contextual",
|
||||
"Activate selected button": "Activar o botón seleccionado",
|
||||
"Toggle right panel": "Activar panel dereito",
|
||||
"Toggle this dialog": "Activar este diálogo",
|
||||
"Move autocomplete selection up/down": "Mover selección autocompletado arriba/abaixo",
|
||||
"Cancel autocomplete": "Cancelar autocompletado",
|
||||
"Page Up": "Páxina superior",
|
||||
"Page Down": "Páxina inferior",
|
||||
"Esc": "Esc",
|
||||
"Enter": "Intro",
|
||||
"Space": "Espazo",
|
||||
"End": "Fin",
|
||||
"You joined the call": "Unícheste á chamada",
|
||||
"%(senderName)s joined the call": "%(senderName)s uniuse á chamada",
|
||||
"Call in progress": "Chamada en curso",
|
||||
"You left the call": "Deixáchela chamada",
|
||||
"%(senderName)s left the call": "%(senderName)s deixou a chamada",
|
||||
"Call ended": "Chamada rematada",
|
||||
"You started a call": "Iniciaches unha chamada",
|
||||
"%(senderName)s started a call": "%(senderName)s iniciou unha chamada",
|
||||
"Waiting for answer": "Agardando resposta",
|
||||
"%(senderName)s is calling": "%(senderName)s está chamando",
|
||||
"You created the room": "Creaches a sala",
|
||||
"%(senderName)s created the room": "%(senderName)s creou a sala",
|
||||
"You made the chat encrypted": "Cifraches a conversa",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s cifrou a conversa",
|
||||
"You made history visible to new members": "Fixeches visible o historial para novos membros",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s fixo o historial visible para novos membros",
|
||||
"You made history visible to anyone": "Fixeches que o historial sexa visible para todas",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s fixo o historial visible para todas",
|
||||
"You made history visible to future members": "Fixeches o historial visible para membros futuros",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s fixo o historial visible para futuros membros",
|
||||
"You were invited": "Foches convidada",
|
||||
"%(targetName)s was invited": "%(targetName)s foi convidada",
|
||||
"You left": "Saíches",
|
||||
"%(targetName)s left": "%(targetName)s saíu",
|
||||
"You were kicked (%(reason)s)": "Expulsáronte (%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "%(targetName)s foi expulsada (%(reason)s)",
|
||||
"You were kicked": "Foches expulsada",
|
||||
"%(targetName)s was kicked": "%(targetName)s foi expulsada",
|
||||
"You rejected the invite": "Rexeitaches o convite",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s rexeitou o convite",
|
||||
"You were uninvited": "Retiraronche o convite",
|
||||
"%(targetName)s was uninvited": "Retirouse o convite para %(targetName)s",
|
||||
"You were banned (%(reason)s)": "Foches bloqueada (%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s foi bloqueada (%(reason)s)",
|
||||
"You were banned": "Foches bloqueada",
|
||||
"%(targetName)s was banned": "%(targetName)s foi bloqueada",
|
||||
"You joined": "Unícheste",
|
||||
"%(targetName)s joined": "%(targetName)s uneuse",
|
||||
"You changed your name": "Cambiaches o nome",
|
||||
"%(targetName)s changed their name": "%(targetName)s cambiou o seu nome",
|
||||
"You changed your avatar": "Cambiáchelo avatar",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s cambiou o seu avatar",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "Cambiaches o nome da sala",
|
||||
"%(senderName)s changed the room name": "%(senderName)s cambiou o nome da sala",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "Retiraches o convite para %(targetName)s",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s retiroulle o convite a %(targetName)s",
|
||||
"You invited %(targetName)s": "Convidaches a %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s convidou a %(targetName)s",
|
||||
"You changed the room topic": "Cambiaches o tema da sala",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s cambiou o asunto da sala",
|
||||
"Message deleted on %(date)s": "Mensaxe eliminada o %(date)s",
|
||||
"Wrong file type": "Tipo de ficheiro erróneo",
|
||||
"Looks good!": "Pinta ben!",
|
||||
"Wrong Recovery Key": "Chave de recuperación errónea",
|
||||
"Invalid Recovery Key": "Chave de recuperación non válida",
|
||||
"Security Phrase": "Frase de seguridade",
|
||||
"Enter your Security Phrase or <button>Use your Security Key</button> to continue.": "Escribe a túa Frase de Seguridade ou <button>Utiliza a Chave de Seguridade</button> para continuar.",
|
||||
"Security Key": "Chave de Seguridade",
|
||||
"Use your Security Key to continue.": "Usa a túa Chave de Seguridade para continuar.",
|
||||
"Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.": "Protección contra a perda do acceso ás mensaxes cifradas e datos facendo unha copia de apoio das chaves no servidor.",
|
||||
"Generate a Security Key": "Crear unha Chave de Seguridade",
|
||||
"We’ll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "Crearemos unha Chave de Seguridade para que a gardes nalgún lugar seguro, como un xestor de contrasinais ou caixa de seguridade.",
|
||||
"Enter a Security Phrase": "Escribe unha Frase de Seguridade",
|
||||
"Use a secret phrase only you know, and optionally save a Security Key to use for backup.": "Usa unha frase segreda que só ti coñezas, e de xeito optativo unha Chave de Seguridade para usar como apoio.",
|
||||
"Enter a security phrase only you know, as it’s used to safeguard your data. To be secure, you shouldn’t re-use your account password.": "Escribe unha frase de seguridade que só ti coñezas, será utilizada para protexer os teus datos. Para maior seguridade, non deberías reutilizar o contrasinal da conta.",
|
||||
"Store your Security Key somewhere safe, like a password manager or a safe, as it’s used to safeguard your encrypted data.": "Garda a Chave de Seguridade nalgún lugar seguro, como un xestor de contrasinais ou caixa de seguridade, será utiizada para protexer os teus datos cifrados.",
|
||||
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Se cancelas agora, poderías perder mensaxes e datos cifrados se perdes o acceso ós datos de conexión.",
|
||||
"You can also set up Secure Backup & manage your keys in Settings.": "Podes configurar a Copia de apoio Segura e xestionar as chaves en Axustes.",
|
||||
"Set up Secure backup": "Configurar Copia de apoio Segura",
|
||||
"Set a Security Phrase": "Establece a Frase de Seguridade",
|
||||
"Confirm Security Phrase": "Confirma a Frase de Seguridade",
|
||||
"Save your Security Key": "Garda a Chave de Seguridade"
|
||||
}
|
||||
|
@ -2516,5 +2516,91 @@
|
||||
"Upgrade your Recovery Key": "A Visszaállítási kulcs fejlesztése",
|
||||
"Store your Recovery Key": "Visszaállítási kulcs tárolása",
|
||||
"Use the improved room list (in development - will refresh to apply changes)": "Használd a fejlesztett szoba listát (fejlesztés alatt - a változások a frissítés után aktiválódnak)",
|
||||
"Use the improved room list (will refresh to apply changes)": "Használd a fejlesztett szoba listát (a változások életbe lépéséhez újra fog tölteni)"
|
||||
"Use the improved room list (will refresh to apply changes)": "Használd a fejlesztett szoba listát (a változások életbe lépéséhez újra fog tölteni)",
|
||||
"Enable IRC layout option in the appearance tab": "IRC kinézet lehetőségének megjelenítése a kinézet fülön",
|
||||
"Use custom size": "Egyedi méret használata",
|
||||
"Use a system font": "Rendszer betűtípus használata",
|
||||
"System font name": "Rendszer betűtípus neve",
|
||||
"Hey you. You're the best!": "Hé te! Te vagy a legjobb!",
|
||||
"Message layout": "Üzenet kinézete",
|
||||
"Compact": "Egyszerű",
|
||||
"Modern": "Modern",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "A titkosított üzenetek valódiságát ezen az eszközön nem lehet garantálni.",
|
||||
"You joined the call": "Csatlakoztál a hívásba",
|
||||
"%(senderName)s joined the call": "%(senderName)s csatlakozott a híváshoz",
|
||||
"Call in progress": "Hívás folyamatban van",
|
||||
"You left the call": "Kiléptél a hívásból",
|
||||
"%(senderName)s left the call": "%(senderName)s kilépett a hívásból",
|
||||
"Call ended": "Hívás befejeződött",
|
||||
"You started a call": "Hívást kezdeményeztél",
|
||||
"%(senderName)s started a call": "%(senderName)s hívást kezdeményezett",
|
||||
"Waiting for answer": "Válaszra várakozás",
|
||||
"%(senderName)s is calling": "%(senderName)s hív",
|
||||
"You created the room": "Létrehoztál egy szobát",
|
||||
"%(senderName)s created the room": "%(senderName)s létrehozott egy szobát",
|
||||
"You made the chat encrypted": "A beszélgetést titkosítottá tetted",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s titkosítottá tette a beszélgetést",
|
||||
"You made history visible to new members": "A régi beszélgetéseket láthatóvá tetted az új tagok számára",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s a régi beszélgetéseket láthatóvá tette az új tagok számára",
|
||||
"You made history visible to anyone": "A régi beszélgetéseket láthatóvá tette mindenki számára",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s a régi beszélgetéseket láthatóvá tette mindenki számára",
|
||||
"You made history visible to future members": "A régi beszélgetéseket láthatóvá tetted a leendő tagok számára",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s a régi beszélgetéseket láthatóvá tette a leendő tagok számára",
|
||||
"You were invited": "Meghívtak",
|
||||
"%(targetName)s was invited": "Meghívták őt: %(targetName)s",
|
||||
"You left": "Távoztál",
|
||||
"%(targetName)s left": "%(targetName)s távozott",
|
||||
"You were kicked (%(reason)s)": "Kirúgtak (%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "Kirúgták őt: %(targetName)s (%(reason)s)",
|
||||
"You were kicked": "Kirúgtak",
|
||||
"%(targetName)s was kicked": "Kirúgták őt: %(targetName)s",
|
||||
"You rejected the invite": "A meghívót elutasítottad",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s elutasította a meghívót",
|
||||
"You were uninvited": "A meghívódat visszavonták",
|
||||
"%(targetName)s was uninvited": "A meghívóját visszavonták neki: %(targetName)s",
|
||||
"You were banned (%(reason)s)": "Kitiltottak (%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "Kitiltották őt: %(targetName)s (%(reason)s)",
|
||||
"You were banned": "Kitiltottak",
|
||||
"%(targetName)s was banned": "Kitiltották őt: %(targetName)s",
|
||||
"You joined": "Beléptél",
|
||||
"%(targetName)s joined": "%(targetName)s belépett",
|
||||
"You changed your name": "A neved megváltoztattad",
|
||||
"%(targetName)s changed their name": "%(targetName)s megváltoztatta a nevét",
|
||||
"You changed your avatar": "A profilképedet megváltoztattad",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s megváltoztatta a profilképét",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "A szoba nevét megváltoztattad",
|
||||
"%(senderName)s changed the room name": "%(senderName)s megváltoztatta a szoba nevét",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "A meghívóját visszavontad neki: %(targetName)s",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s visszavonta a meghívóját neki: %(targetName)s",
|
||||
"You invited %(targetName)s": "Meghívtad őt: %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s meghívta őt: %(targetName)s",
|
||||
"You changed the room topic": "A szoba témáját megváltoztattad",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s megváltoztatta a szoba témáját",
|
||||
"New spinner design": "Új várakozási animáció",
|
||||
"Use a more compact ‘Modern’ layout": "Egyszerűbb 'Modern' kinézet használata",
|
||||
"Message deleted on %(date)s": "Az üzenetet ekkor törölték: %(date)s",
|
||||
"Wrong file type": "A fájl típus hibás",
|
||||
"Wrong Recovery Key": "A Visszaállítási Kulcs hibás",
|
||||
"Invalid Recovery Key": "A Visszaállítási Kulcs hibás",
|
||||
"Security Phrase": "Biztonsági jelmondat",
|
||||
"Enter your Security Phrase or <button>Use your Security Key</button> to continue.": "Add meg a Biztonsági jelmondatot vagy <button>Használd a Biztonsági Kulcsot</button> a folytatáshoz.",
|
||||
"Security Key": "Biztonsági Kulcs",
|
||||
"Use your Security Key to continue.": "Használd a Biztonsági Kulcsot a folytatáshoz.",
|
||||
"Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.": "A titkosított üzenetekhez és adatokhoz való hozzáférés elvesztése esetén használható biztonsági tartalék a titkosított kulcsok a szerveredre való elmentésével.",
|
||||
"Generate a Security Key": "Biztonsági Kulcs elkészítése",
|
||||
"We’ll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "A Biztonsági Kulcsodat elkészítjük neked amit tárolj valamilyen biztonságos helyen mint pl. a jelszókezelő vagy széf.",
|
||||
"Enter a Security Phrase": "Biztonsági Jelmondat megadása",
|
||||
"Use a secret phrase only you know, and optionally save a Security Key to use for backup.": "Olyan biztonsági jelmondatot használj amit csak te ismersz és esetleg mentsd el a Biztonsági Kulcsot vésztartaléknak.",
|
||||
"Enter a security phrase only you know, as it’s used to safeguard your data. To be secure, you shouldn’t re-use your account password.": "Olyan biztonsági jelmondatot adj meg amit csak te ismersz, mert ez fogja az adataidat őrizni. Hogy biztonságos legyen ne használd a fiókod jelszavát.",
|
||||
"Store your Security Key somewhere safe, like a password manager or a safe, as it’s used to safeguard your encrypted data.": "A Biztonsági Kulcsot tárold biztonságos helyen, mint pl. a jelszókezelő vagy széf, mivel ez tartja biztonságban a titkosított adataidat.",
|
||||
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Ha most megszakítod, akkor a munkameneteidhez való hozzáférés elvesztésével elveszítheted a titkosított üzeneteidet és adataidat.",
|
||||
"You can also set up Secure Backup & manage your keys in Settings.": "A Biztonsági mentést és a kulcsok kezelését beállíthatod a Beállításokban.",
|
||||
"Set up Secure backup": "Biztonsági mentés beállítása",
|
||||
"Set a Security Phrase": "Biztonsági Jelmondat beállítása",
|
||||
"Confirm Security Phrase": "Biztonsági Jelmondat megerősítése",
|
||||
"Save your Security Key": "Ments el a Biztonsági Kulcsodat"
|
||||
}
|
||||
|
@ -2522,5 +2522,72 @@
|
||||
"Create a Recovery Key": "Crea una chiave di recupero",
|
||||
"Upgrade your Recovery Key": "Aggiorna la chiave di recupero",
|
||||
"Store your Recovery Key": "Salva la chiave di recupero",
|
||||
"Use the improved room list (will refresh to apply changes)": "Usa l'elenco stanze migliorato (verrà ricaricato per applicare le modifiche)"
|
||||
"Use the improved room list (will refresh to apply changes)": "Usa l'elenco stanze migliorato (verrà ricaricato per applicare le modifiche)",
|
||||
"Enable IRC layout option in the appearance tab": "Attiva l'opzione per il layout IRC nella scheda dell'aspetto",
|
||||
"Use custom size": "Usa dimensione personalizzata",
|
||||
"Hey you. You're the best!": "Ehi tu. Sei il migliore!",
|
||||
"Message layout": "Layout messaggio",
|
||||
"Compact": "Compatto",
|
||||
"Modern": "Moderno",
|
||||
"Use a system font": "Usa un carattere di sistema",
|
||||
"System font name": "Nome carattere di sistema",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "L'autenticità di questo messaggio cifrato non può essere garantita su questo dispositivo.",
|
||||
"You joined the call": "Ti sei unito alla chiamata",
|
||||
"%(senderName)s joined the call": "%(senderName)s si è unito alla chiamata",
|
||||
"Call in progress": "Chiamata in corso",
|
||||
"You left the call": "Hai abbandonato la chiamata",
|
||||
"%(senderName)s left the call": "%(senderName)s ha abbandonato la chiamata",
|
||||
"Call ended": "Chiamata terminata",
|
||||
"You started a call": "Hai iniziato una chiamata",
|
||||
"%(senderName)s started a call": "%(senderName)s ha iniziato una chiamata",
|
||||
"Waiting for answer": "In attesa di risposta",
|
||||
"%(senderName)s is calling": "%(senderName)s sta chiamando",
|
||||
"You created the room": "Hai creato la stanza",
|
||||
"%(senderName)s created the room": "%(senderName)s ha creato la stanza",
|
||||
"You made the chat encrypted": "Hai reso la chat crittografata",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s ha reso la chat crittografata",
|
||||
"You made history visible to new members": "Hai reso visibile la cronologia ai nuovi membri",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s ha reso visibile la cronologia ai nuovi membri",
|
||||
"You made history visible to anyone": "Hai reso visibile la cronologia a chiunque",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s ha reso visibile la cronologia a chiunque",
|
||||
"You made history visible to future members": "Hai reso visibile la cronologia ai membri futuri",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s ha reso visibile la cronologia ai membri futuri",
|
||||
"You were invited": "Sei stato invitato",
|
||||
"%(targetName)s was invited": "%(targetName)s è stato invitato",
|
||||
"You left": "Sei uscito",
|
||||
"%(targetName)s left": "%(targetName)s è uscito",
|
||||
"You were kicked (%(reason)s)": "Sei stato buttato fuori (%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "%(targetName)s è stato buttato fuori (%(reason)s)",
|
||||
"You were kicked": "Sei stato buttato fuori",
|
||||
"%(targetName)s was kicked": "%(targetName)s è stato buttato fuori",
|
||||
"You rejected the invite": "Hai rifiutato l'invito",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s ha rifiutato l'invito",
|
||||
"You were uninvited": "Ti è stato revocato l'invito",
|
||||
"%(targetName)s was uninvited": "È stato revocato l'invito a %(targetName)s",
|
||||
"You were banned (%(reason)s)": "Sei stato bandito (%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s è stato bandito (%(reason)s)",
|
||||
"You were banned": "Sei stato bandito",
|
||||
"%(targetName)s was banned": "%(targetName)s è stato bandito",
|
||||
"You joined": "Ti sei unito",
|
||||
"%(targetName)s joined": "%(targetName)s si è unito",
|
||||
"You changed your name": "Hai cambiato il tuo nome",
|
||||
"%(targetName)s changed their name": "%(targetName)s ha cambiato il suo nome",
|
||||
"You changed your avatar": "Hai cambiato il tuo avatar",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s ha cambiato il suo avatar",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "Hai cambiato il nome della stanza",
|
||||
"%(senderName)s changed the room name": "%(senderName)s ha cambiato il nome della stanza",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "Hai revocato l'invito a %(targetName)s",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s ha revocato l'invito a %(targetName)s",
|
||||
"You invited %(targetName)s": "Hai invitato %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s ha invitato %(targetName)s",
|
||||
"You changed the room topic": "Hai cambiato l'argomento della stanza",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s ha cambiato l'argomento della stanza",
|
||||
"New spinner design": "Nuovo design dello spinner",
|
||||
"Use a more compact ‘Modern’ layout": "Usa un layout più compatto e moderno",
|
||||
"Always show first": "Mostra sempre per prime",
|
||||
"Message deleted on %(date)s": "Messaggio eliminato il %(date)s"
|
||||
}
|
||||
|
@ -2,12 +2,12 @@
|
||||
"Confirm": "Sentem",
|
||||
"Analytics": "Tiselḍin",
|
||||
"Error": "Tuccḍa",
|
||||
"Dismiss": "Agwi",
|
||||
"Dismiss": "Agi",
|
||||
"OK": "IH",
|
||||
"Permission Required": "Tasiregt tlaq",
|
||||
"Continue": "Kemmel",
|
||||
"Cancel": "Semmet",
|
||||
"Sun": "Ace",
|
||||
"Cancel": "Sefsex",
|
||||
"Sun": "Iṭij",
|
||||
"Mon": "Ari",
|
||||
"Tue": "Ara",
|
||||
"Wed": "Aha",
|
||||
@ -80,13 +80,13 @@
|
||||
"Bicycle": "Azlalam",
|
||||
"Ball": "Balles",
|
||||
"Anchor": "Tamdeyt",
|
||||
"Headphones": "Casque",
|
||||
"Headphones": "Wennez",
|
||||
"Folder": "Akaram",
|
||||
"Upload": "Sali",
|
||||
"Remove": "Sfeḍ",
|
||||
"Show less": "Sken-d drus",
|
||||
"Show more": "Sken-d ugar",
|
||||
"Warning!": "Ɣur-k!",
|
||||
"Warning!": "Ɣur-k·m!",
|
||||
"Current password": "Awal uffir amiran",
|
||||
"Password": "Awal uffir",
|
||||
"New Password": "Awal uffir amaynut",
|
||||
@ -100,11 +100,11 @@
|
||||
"Keywords": "Awalen tisura",
|
||||
"Clear notifications": "Sfeḍ ilɣuyen",
|
||||
"Off": "Insa",
|
||||
"Display Name": "Mefffer isem",
|
||||
"Display Name": "Sken isem",
|
||||
"Save": "Sekles",
|
||||
"Disconnect": "Yeffeɣ",
|
||||
"Disconnect": "Ffeɣ seg tuqqna",
|
||||
"Go back": "Uɣal ɣer deffir",
|
||||
"Change": "Changer",
|
||||
"Change": "Beddel",
|
||||
"Theme": "Asentel",
|
||||
"Success": "Yedda",
|
||||
"Profile": "Amaɣnu",
|
||||
@ -117,17 +117,17 @@
|
||||
"Keyboard Shortcuts": "Inegzumen n unasiw",
|
||||
"Versions": "Ileqman",
|
||||
"None": "Ula yiwen",
|
||||
"Unsubscribe": "Se désabonner",
|
||||
"Unsubscribe": "Sefsex ajerred",
|
||||
"Ignore": "Ttu",
|
||||
"Subscribe": "Jerred",
|
||||
"Preferences": "Tiwelhiwin",
|
||||
"Composer": "Editeur",
|
||||
"Preferences": "Ismenyifen",
|
||||
"Composer": "Imsuddes",
|
||||
"Timeline": "Amazray",
|
||||
"Microphone": "Asawaḍ",
|
||||
"Camera": "Takamiṛatt",
|
||||
"Sounds": "Imeslan",
|
||||
"Reset": "Ales awennez",
|
||||
"Browse": "Snirem",
|
||||
"Sounds": "Imesla",
|
||||
"Reset": "Wennez",
|
||||
"Browse": "Inig",
|
||||
"Default role": "Tamlilt tamzwert",
|
||||
"Permissions": "Tisirag",
|
||||
"Anyone": "Yal yiwen",
|
||||
@ -136,38 +136,38 @@
|
||||
"Share": "Bḍu",
|
||||
"Verification code": "Tangalt n usenqed",
|
||||
"Add": "Rnu",
|
||||
"Email Address": "Tansa imayl",
|
||||
"Email Address": "Tansa n yimayl",
|
||||
"Phone Number": "Uṭṭun n tiliɣri",
|
||||
"Upload file": "Azen afaylu",
|
||||
"Upload file": "Sali-d afaylu",
|
||||
"Bold": "Azuran",
|
||||
"Strikethrough": "Jerreḍ",
|
||||
"Quote": "Citation",
|
||||
"Loading...": "Yessalay-ed…",
|
||||
"Idle": "Idle",
|
||||
"Unknown": "D arussin",
|
||||
"Strikethrough": "Derrer",
|
||||
"Quote": "Tanebdurt",
|
||||
"Loading...": "La d-yettali…",
|
||||
"Idle": "Arurmid",
|
||||
"Unknown": "Arussin",
|
||||
"Settings": "Iɣewwaren",
|
||||
"Search": "Nadi",
|
||||
"Favourites": "Ismenyifen",
|
||||
"People": "Imdanen",
|
||||
"Sign Up": "Jerred",
|
||||
"Reject": "Aggi",
|
||||
"Reject": "Agi",
|
||||
"Not now": "Mačči tura",
|
||||
"Sort by": "Smizzwer s",
|
||||
"Sort by": "Semyizwer s",
|
||||
"Activity": "Armud",
|
||||
"A-Z": "A-Z",
|
||||
"Show": "Sken",
|
||||
"Options": "Tinefrunin",
|
||||
"Options": "Tixtiṛiyin",
|
||||
"Server error": "Tuccḍa n uqeddac",
|
||||
"Members": "Imedrawen",
|
||||
"Members": "Imettekkiyen",
|
||||
"Files": "Ifuyla",
|
||||
"Trusted": "De confiance",
|
||||
"Invite": "Nced…",
|
||||
"Unmute": "Susem",
|
||||
"Mute": "Kkes imesli",
|
||||
"Are you sure?": "Tebɣiḍ ?",
|
||||
"Trusted": "Yettwattkal",
|
||||
"Invite": "Nced",
|
||||
"Unmute": "Rmed imesli",
|
||||
"Mute": "Sens imesli",
|
||||
"Are you sure?": "Tebɣiḍ s tidet?",
|
||||
"Security": "Taɣellist",
|
||||
"Yes": "Ih",
|
||||
"Verified": "Verified",
|
||||
"Verified": "Yettwasenqed",
|
||||
"Got it": "Awi-t",
|
||||
"Sunday": "Acer",
|
||||
"Monday": "Arim",
|
||||
@ -178,48 +178,48 @@
|
||||
"Saturday": "Sed",
|
||||
"Today": "Ass-a",
|
||||
"Yesterday": "Iḍelli",
|
||||
"View Source": "Sken aɣbalu",
|
||||
"View Source": "Wali aɣbalu",
|
||||
"Reply": "Err",
|
||||
"Edit": "Ẓreg",
|
||||
"Attachment": "Attachement",
|
||||
"Error decrypting attachment": "Tuccḍa deg uzmak n ufaylu yeddan",
|
||||
"Attachment": "Taceqquft yeddan",
|
||||
"Error decrypting attachment": "Tuccḍa deg uwgelhen n tceqquft yeddan",
|
||||
"Show all": "Sken akk",
|
||||
"Message deleted": "Izen yettwakkes",
|
||||
"Copied!": "Yettusukken!",
|
||||
"edited": "yeẓreg",
|
||||
"Food & Drink": "Učči aked tissit",
|
||||
"Message deleted": "Izen yettwakksen",
|
||||
"Copied!": "Yettwanɣel!",
|
||||
"edited": "yettwaẓreg",
|
||||
"Food & Drink": "Učči d tissit",
|
||||
"Objects": "Tiɣawsiwin",
|
||||
"Symbols": "Izamulen",
|
||||
"Flags": "Anayen",
|
||||
"Categories": "Taggayin",
|
||||
"More options": "Ugar n textirin",
|
||||
"Join": "Semlil",
|
||||
"More options": "Ugar n textiṛiyin",
|
||||
"Join": "Rnu",
|
||||
"No results": "Ulac igmad",
|
||||
"collapse": "sneḍfes",
|
||||
"Rotate counter-clockwise": "Zzi di tnila tanemgalt n tsegnatin n temrilt",
|
||||
"Rotate clockwise": "Zzi di tnila n tsegnatin n temrilt",
|
||||
"collapse": "fneẓ",
|
||||
"Rotate counter-clockwise": "Zzi mgal tanila n tessegnatin n temrilt",
|
||||
"Rotate clockwise": "Zzi almend n tnila n tsegnatin n temrilt",
|
||||
"Add User": "Rnu aseqdac",
|
||||
"Server name": "Isem n uqeddac",
|
||||
"email address": "tansa imayl",
|
||||
"Close dialog": "Mdel tanaka n usdiwen",
|
||||
"Notes": "Tamawt",
|
||||
"Unavailable": "Ulac-it",
|
||||
"Changelog": "Aɣmis n ibeddilen",
|
||||
"email address": "tansa n yimayl",
|
||||
"Close dialog": "Mdel adiwenni",
|
||||
"Notes": "Tamawin",
|
||||
"Unavailable": "Ulac",
|
||||
"Changelog": "Aɣmis n yisnifal",
|
||||
"Removing…": "Tukksa…",
|
||||
"Confirm Removal": "Serggeg tukksa",
|
||||
"Confirm Removal": "Sentem tukksa",
|
||||
"Example": "Amedya",
|
||||
"example": "amedya",
|
||||
"Create": "Snulfu-d",
|
||||
"Name": "Isem",
|
||||
"Sign out": "Ffeɣ",
|
||||
"Back": "Retour",
|
||||
"Sign out": "Ffeɣ seg tuqqna",
|
||||
"Back": "Uɣal ɣer deffir",
|
||||
"Send": "Azen",
|
||||
"Suggestions": "Isumar",
|
||||
"Go": "Ddu",
|
||||
"Session name": "Nom de session",
|
||||
"Session name": "Isem n tɣimit",
|
||||
"Send report": "Azen aneqqis",
|
||||
"Refresh": "Sismeḍ",
|
||||
"Email address": "Tansa email",
|
||||
"Refresh": "Smiren",
|
||||
"Email address": "Tansa n yimayl",
|
||||
"Skip": "Zgel",
|
||||
"Username not available": "Ulac isem n useqdac",
|
||||
"Checking...": "Asenqed...",
|
||||
@ -227,21 +227,21 @@
|
||||
"Terms of Service": "Tiwtilin n useqdec",
|
||||
"Service": "Ameẓlu",
|
||||
"Summary": "Agzul",
|
||||
"Document": "isemli",
|
||||
"Next": "Ar zdat",
|
||||
"Upload files": "Azen ifuyla",
|
||||
"Appearance": "Udem",
|
||||
"Document": "Isemli",
|
||||
"Next": "Γer sdat",
|
||||
"Upload files": "Sali-d ifuyla",
|
||||
"Appearance": "Arwes",
|
||||
"Allow": "Sireg",
|
||||
"Deny": "Agwi",
|
||||
"Custom": "Personnalisé",
|
||||
"Source URL": "URL aγbalu",
|
||||
"Notification settings": "Iɣewwaṛen n yilɣa",
|
||||
"Deny": "Agi",
|
||||
"Custom": "Sagen",
|
||||
"Source URL": "URL aɣbalu",
|
||||
"Notification settings": "Iɣewwaren n yilɣa",
|
||||
"Leave": "Ffeɣ",
|
||||
"Set status": "Sbadu addad",
|
||||
"Set status": "Sbadu addaden",
|
||||
"Hide": "Ffer",
|
||||
"Home": "Agejdan",
|
||||
"Sign in": "Qqen",
|
||||
"Help": "Tallelt",
|
||||
"Help": "Tallalt",
|
||||
"Reload": "Smiren",
|
||||
"powered by Matrix": "s lmendad n Matrix",
|
||||
"Custom Server Options": "Iɣewwaren n uqeddac udmawan",
|
||||
@ -250,40 +250,40 @@
|
||||
"Email": "Imayl",
|
||||
"Username": "Isem n useqdac",
|
||||
"Phone": "Tiliɣri",
|
||||
"Passwords don't match": "Awal uffiren ur menṭaḍen ara",
|
||||
"Passwords don't match": "Awalen uffiren ur mṣadan ara",
|
||||
"Email (optional)": "Imayl (Afrayan)",
|
||||
"Register": "Jerred",
|
||||
"Free": "Ilelli",
|
||||
"Failed to upload image": "Ur yezmir ad yessali tugna",
|
||||
"Description": "Aseglem",
|
||||
"Failed to upload image": "Tegguma ad d-tali tugna",
|
||||
"Description": "Aglam",
|
||||
"Explore": "Snirem",
|
||||
"Filter": "Imsizdeg",
|
||||
"Explore rooms": "Snirem tixxamin",
|
||||
"Unknown error": "Erreur inconnue",
|
||||
"Logout": "Tufɣa",
|
||||
"Preview": "Timeẓriwt",
|
||||
"View": "Ɣeṛ",
|
||||
"Guest": "Inebgi",
|
||||
"Your profile": "Amaɣnu-ik",
|
||||
"Feedback": "Tikti",
|
||||
"Your password has been reset.": "Awal n uɛeddi inek yules awennez.",
|
||||
"Syncing...": "Amtawi",
|
||||
"Unknown error": "Tuccḍa tarussint",
|
||||
"Logout": "Tuffɣa",
|
||||
"Preview": "Taskant",
|
||||
"View": "Sken",
|
||||
"Guest": "Anerzaf",
|
||||
"Your profile": "Amaɣnu-ik/im",
|
||||
"Feedback": "Takti",
|
||||
"Your password has been reset.": "Awal uffir-inek/inem yettuwennez.",
|
||||
"Syncing...": "Amtawi...",
|
||||
"Create account": "Rnu amiḍan",
|
||||
"Create your account": "Rnu amiḍan-ik",
|
||||
"Go Back": "Précédent",
|
||||
"Create your account": "Rnu amiḍan-ik/im",
|
||||
"Go Back": "Uɣal ɣer deffir",
|
||||
"Commands": "Tiludna",
|
||||
"Users": "Iseqdacen",
|
||||
"Export": "Sifeḍ",
|
||||
"Import": "Kter",
|
||||
"Restore": "Err-d",
|
||||
"Copy": "Nγel",
|
||||
"Download": "Sider",
|
||||
"Retry": "Ɛreḍ tikkelt nniḍen",
|
||||
"Copy": "Nɣel",
|
||||
"Download": "Sader",
|
||||
"Retry": "Ɛreḍ tikkelt-nniḍen",
|
||||
"Starting backup...": "Asenker n uḥraz...",
|
||||
"Success!": "Akka d rrbeḥ !",
|
||||
"Disable": "Désactiver",
|
||||
"Disable": "Sens",
|
||||
"Navigation": "Tunigin",
|
||||
"Calls": "Appels",
|
||||
"Calls": "isawalen",
|
||||
"Alt": "Alt",
|
||||
"Shift": "Shift",
|
||||
"New line": "Izirig amaynut",
|
||||
@ -346,5 +346,120 @@
|
||||
"Cancel replying to a message": "Sefsex tiririt ɣef yizen",
|
||||
"Toggle microphone mute": "Rmed/sens tanusi n usawaḍ",
|
||||
"Toggle video on/off": "Rmed/sens tavidyut",
|
||||
"Scroll up/down in the timeline": "Drurem gar afellay/addday n tesnakudt"
|
||||
"Scroll up/down in the timeline": "Drurem gar afellay/addday n tesnakudt",
|
||||
"Updating Riot": "Leqqem Riot",
|
||||
"I don't want my encrypted messages": "Ur bɣiɣ ara izan-inu iwgelhanen",
|
||||
"Manually export keys": "Sifeḍ s ufus tisura",
|
||||
"Session ID": "Asulay n tqimit",
|
||||
"Session key": "Tasarut n tɣimit",
|
||||
"Please check your email and click on the link it contains. Once this is done, click continue.": "Ma ulac aɣilif, senqed imayl-ik/im syen sit ɣef useɣwen i yellan. Akken ara yemmed waya, sit ad tkemmleḍ.",
|
||||
"This will allow you to reset your password and receive notifications.": "Ayagi ad ak(akem)-yeǧǧ ad twennzeḍ awal-ik/im uffir yerna ad d-tremseḍ ilɣa.",
|
||||
"A username can only contain lower case letters, numbers and '=_-./'": "Isem n useqdac yezmer kan ad yegber isekkilen imeẓyanen, izwilen neɣ '=_-./'",
|
||||
"Username invalid: %(errMessage)s": "Isem n useqdac d armeɣtu",
|
||||
"An error occurred: %(error_string)s": "Tella-d tuccḍa: %(error_string)s",
|
||||
"To get started, please pick a username!": "I wakken ad tebduḍ, ttxil-k/m fren isem n useqdac!",
|
||||
"This will be your account name on the <span></span> homeserver, or you can pick a <a>different server</a>.": "Wagi ad yili d isem-ik/im deg <span></span> usebter agejdan, neɣ tzemreḍ ad tferneḍ <a>aqeddac-nniḍen</a>.",
|
||||
"If you already have a Matrix account you can <a>log in</a> instead.": "Ma yella tesεiḍ yakan amiḍan di Matrix, tzemreḍ <a>ad tkecmeḍ</a> deg umḍq-nni.",
|
||||
"Call Failed": "Ur iddi ara usiwel",
|
||||
"Call Timeout": "Akud n uṛaǧu n usiwel",
|
||||
"Try using turn.matrix.org": "Ɛreḍ aseqdec n turn.matrix.org",
|
||||
"Unable to capture screen": "Tuṭṭfa n ugdil ulamek",
|
||||
"Existing Call": "Asiwel amiran",
|
||||
"You are already in a call.": "Aql-ak(qkem)-id yakan tessawaleḍ.",
|
||||
"VoIP is unsupported": "VoIP ur tettusefrak ara",
|
||||
"You cannot place VoIP calls in this browser.": "Ur tezmireḍ ara ad tesεeddiḍ asiwel VoIP deg yiminig-a.",
|
||||
"You cannot place a call with yourself.": "Ur tezmireḍ ara a temsawaleḍ d yiman-ik.",
|
||||
"Call in Progress": "Asiwel iteddu",
|
||||
"A call is currently being placed!": "Yella usiwel ila iteddu!",
|
||||
"A call is already in progress!": "Yella usiwel ila iteddun akka tura!",
|
||||
"Replying With Files": "Tiririt s yifuyla",
|
||||
"The file '%(fileName)s' failed to upload.": "Yegguma ad d-yali '%(fileName)s' ufaylu.",
|
||||
"Upload Failed": "Asali ur yeddi ara",
|
||||
"Enter passphrase": "Sekcem tafyirt tuffirt",
|
||||
"Setting up keys": "Asebded n tsura",
|
||||
"%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s",
|
||||
"%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s",
|
||||
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s",
|
||||
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s",
|
||||
"Who would you like to add to this community?": "Anwa i tebɣiḍ ad t-ternuḍ ɣer temɣiwent-a?",
|
||||
"Name or Matrix ID": "Isem neɣ asulay n Matrix",
|
||||
"Invite to Community": "Ɛreḍ-d ɣer temɣiwent",
|
||||
"Room name or address": "Isem neɣ tansa n texxamt",
|
||||
"Add to community": "Rnu ɣer temɣiwent",
|
||||
"Unnamed Room": "Taxxamt war isem",
|
||||
"The server does not support the room version specified.": "Aqeddac ur issefrek ara lqem n texxamt yettwafernen.",
|
||||
"If you cancel now, you won't complete verifying the other user.": "Ma yella teffɣeḍ tura, asenqed n yiseqdacen-nniḍen ur ittemmed ara.",
|
||||
"Cancel entering passphrase?": "Sefsex tafyirt tuffirt n uεeddi?",
|
||||
"Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Γur-k: yal amdan ara ternuḍ ɣer temɣiwent ad d-iban s wudem azayaz i yal yiwen yessnen asulay n temɣiwent",
|
||||
"Invite new community members": "Nced-d imttekkiyen imaynuten ɣer temɣiwent",
|
||||
"Which rooms would you like to add to this community?": "Anti tixxamin i tebɣiḍ adternuḍ i temɣiwent-a?",
|
||||
"Add rooms to the community": "Rnu tixxamin ɣer temɣiwent",
|
||||
"Failed to invite the following users to %(groupId)s:": "Ancad n yiseqdacen i d-iteddun %(groupId)s ur yeddi ara:",
|
||||
"Failed to invite users to community": "Ancad n yiseqdacen ɣer temɣiwent ur yeddi ara",
|
||||
"Failed to invite users to %(groupId)s": "Ancad n yiseqdacen ɣer %(groupId)s ur yedi ara",
|
||||
"Failed to add the following rooms to %(groupId)s:": "Timerna n texxamin i d-iteddun ɣer %(groupId)s ur yedi ara:",
|
||||
"Identity server has no terms of service": "Timagit n uqeddac ulac ɣer-sen iferdisen n umeẓlu",
|
||||
"%(name)s is requesting verification": "%(name)s yesra asenqed",
|
||||
"Riot does not have permission to send you notifications - please check your browser settings": "Riot ulac ɣer-s tisirag i tuzna n yilɣa - ttxil-k/m senqed iɣewwaren n yiminig-ik/im",
|
||||
"Riot was not given permission to send notifications - please try again": "Riot ur d-yefk ara tisirag i tuzna n yilɣa - ttxil-k/m εreḍ tikkelt-nniḍen",
|
||||
"Unable to enable Notifications": "Sens irmad n yilɣa",
|
||||
"This email address was not found": "Tansa-a n yimayl ulac-it",
|
||||
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Tansa-ik/im n yimayl ur d-tban ara akken ad tettwacudd d usulay Matrix deg usebter-a agejdan.",
|
||||
"Sign In or Create Account": "Kcem ɣer neɣ rnu amiḍan",
|
||||
"Use your account or create a new one to continue.": "Seqdec amiḍan-ik/im neɣ snulfu-d yiwen akken ad tkemmleḍ.",
|
||||
"Custom (%(level)s)": "Sagen (%(level)s)",
|
||||
"Failed to invite": "Ulamek i d-tnecdeḍ",
|
||||
"You need to be able to invite users to do that.": "Tesriḍ ad tizmireḍ ad d-tnecdeḍ iseqdacen ad gen ayagi.",
|
||||
"Failed to send request.": "Tuzna n usuter ur teddi ara.",
|
||||
"This room is not recognised.": "Taxxamt-a ur tṣeggem ara.",
|
||||
"You are not in this room.": "Ulac-ik/ikem deg texxamt-a.",
|
||||
"You do not have permission to do that in this room.": "Ur tesεiḍ ara tasiregt ad tgeḍ ayagi deg texxamt-a.",
|
||||
"Missing room_id in request": "Ixuṣṣ taxxamt_asulay deg usuter",
|
||||
"Room %(roomId)s not visible": "Taxxamt %(roomId)s ur d-tban ara",
|
||||
"Missing user_id in request": "Ixuṣṣ useqdac_asulay deg usuter",
|
||||
"Command error": "Tuccḍa n tladna",
|
||||
"/ddg is not a command": "/ddg mačči d taladna",
|
||||
"Upgrades a room to a new version": "Leqqem taxxamt ɣer lqem amaynut",
|
||||
"Error upgrading room": "Tuccḍa deg uleqqem n texxamt",
|
||||
"Changes your avatar in this current room only": "Snifel avatar-ik/im deg texxamat-agi kan tamirant",
|
||||
"Changes your avatar in all rooms": "Snifel avatar/ik/om deg yixxamin",
|
||||
"Use an identity server": "Seqdec timagit n uqeddac",
|
||||
"Joins room with given address": "Kcem ɣer texxamt s tansa i d-yettunefken",
|
||||
"Leave room": "Ffeɣ seg texxamt",
|
||||
"Ignores a user, hiding their messages from you": "Anef iuseqdac, ffer iznan-ines sɣur-k",
|
||||
"Ignored user": "Aseqdac yettunfen",
|
||||
"You are now ignoring %(userId)s": "Aql-ak tura tunfeḍ i %(userId)s",
|
||||
"Command failed": "Taladna ur teddi ara",
|
||||
"Could not find user in room": "Ur yettwaf ara useqdac deg texxamt",
|
||||
"(no answer)": "(ulac tiririt)",
|
||||
"New login. Was this you?": "Anekcam amaynut. D kečč/kemm?",
|
||||
"Verify the new login accessing your account: %(name)s": "Senqed anekcam amaynut i ikecmen ɣer umiḍan-ik/im: %(name)s",
|
||||
"What's new?": "D acu-t umaynut?",
|
||||
"Upgrade your Riot": "Leqqem Riot inek/inem",
|
||||
"A new version of Riot is available!": "Lqem amaynut n Riot yella!",
|
||||
"You: %(message)s": "Kečč/kemm: %(message)s",
|
||||
"There was an error joining the room": "Tella-d tuccḍa deg unekcum ɣer texxamt",
|
||||
"Sorry, your homeserver is too old to participate in this room.": "Suref-aɣ, asebter-ik/im agejdan d aqbur aṭas akken ad yettekki deg texxamt-a.",
|
||||
"Please contact your homeserver administrator.": "Ttxil-k/m nermes anedbal-ik/im n usebter agejdan.",
|
||||
"Failed to join room": "Anekcum ɣer texxamt ur yeddi ara",
|
||||
"Custom user status messages": "Sagen addaden n yiznan n useqdac",
|
||||
"Support adding custom themes": "Tallalt n tmerna n yisental udmawanen",
|
||||
"Use custom size": "Seqdec teɣzi tudmawant",
|
||||
"Show avatar changes": "Sken isnifal n avatar",
|
||||
"Always show encryption icons": "Sken yal tikkelt tignitin tiwgelhanen",
|
||||
"Send typing notifications": "Azen ilɣa yettuszemlen",
|
||||
"Show typing notifications": "Azen ilɣa yettuszemlen",
|
||||
"Room Colour": "Initen n texxamt",
|
||||
"Show developer tools": "Sken ifecka n uneflay",
|
||||
"Whether or not you're using the Richtext mode of the Rich Text Editor": "Ama tseqdaceḍ askar-inek.inem n umaẓrag n uḍris anesbaɣur neɣ xaṭi",
|
||||
"Whether you're using Riot on a device where touch is the primary input mechanism": "Γas ma tseqdaceḍ Riot inek.inem deg yibenk anida asami d ametwi agejdan n unekcum",
|
||||
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Γas ma tseqdaceḍ tamahilt 'breadcrumbs' neɣ xaṭi(avatar nnig tebdert n texxamt)",
|
||||
"Whether you're using Riot as an installed Progressive Web App": "Γas ma tseqdaceḍ Riot d asnas web n usfari i ibedden",
|
||||
"The information being sent to us to help make Riot better includes:": "Talɣut i aɣ-d-yettwaznen ɣef tallalt n usnerni n Riot deg-s:",
|
||||
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Ma yili asebter-a degs talɣut tummilt, am texxamt neɣ aseqdac neɣ asulay n ugraw, isefka-a ad ttwakksen send ad ttwaznen i uqeddac.",
|
||||
"Unable to load! Check your network connectivity and try again.": "Yegguma ad d-yali! Senqed tuqqna-inek.inem ɣer uzeṭṭa syen tεerḍeḍ tikkelt-nniḍen.",
|
||||
"Failure to create room": "Timerna n texxamt ur teddi ara",
|
||||
"If you cancel now, you won't complete verifying your other session.": "Ma yella teffɣeḍ tura, ur tessawaḍeḍ ara ad tesneqdeḍ akk tiɣimiyin-inek.inem.",
|
||||
"If you cancel now, you won't complete your operation.": "Ma yella teffɣeḍ tura, tamhelt-ik.im ur tettemmed ara.",
|
||||
"Show these rooms to non-members on the community page and room list?": "Sken tixxamin-a i wid ur nettekka ara deg usebter n temɣiwent d tebdert n texxamt?"
|
||||
}
|
||||
|
@ -2146,5 +2146,15 @@
|
||||
"Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Сообщения в этой комнате зашифрованы сквозным шифрованием. Посмотрите подробности и подтвердите пользователя в его профиле.",
|
||||
"Send a Direct Message": "Отправить сообщение",
|
||||
"Light": "Светлая",
|
||||
"Dark": "Темная"
|
||||
"Dark": "Темная",
|
||||
"Recent Conversations": "Недавние Диалоги",
|
||||
"Suggestions": "Предложения",
|
||||
"a key signature": "отпечаток ключа",
|
||||
"Upload completed": "Отправка успешно завершена",
|
||||
"Cancelled signature upload": "Отправка отпечатка отменена",
|
||||
"Unable to upload": "Невозможно отправить",
|
||||
"Signature upload success": "Отпечаток успешно отправлен",
|
||||
"Signature upload failed": "Сбой отправки отпечатка",
|
||||
"Room name or address": "Имя или адрес комнаты",
|
||||
"Unrecognised room address:": "Не удалось найти адрес комнаты:"
|
||||
}
|
||||
|
@ -2517,5 +2517,91 @@
|
||||
"Create a Recovery Key to store encryption keys & secrets with your account data. If you lose access to this login you’ll need it to unlock your data.": "Krijoni një Kyç Rimarrjesh që të depozitoni kyçe & të fshehta fshehtëzimi me të dhënat e llogarisë tuaj. Nëse humbni këto kredenciale, do t’ju duhet të shkyçni të dhënat tuaja.",
|
||||
"Create a Recovery Key": "Krijoni një Kyç Rimarrjesh",
|
||||
"Upgrade your Recovery Key": "Përmirësoni Kyçin tuaj të Rimarrjeve",
|
||||
"Store your Recovery Key": "Depozitoni Kyçin tuaj të Rimarrjeve"
|
||||
"Store your Recovery Key": "Depozitoni Kyçin tuaj të Rimarrjeve",
|
||||
"Use the improved room list (will refresh to apply changes)": "Përdor listën e përmirësuar të dhomave (do të rifreskohet, që të aplikohen ndryshimet)",
|
||||
"Enable IRC layout option in the appearance tab": "Aktivizoni te skeda e dukjes mundësinë për skemë IRC",
|
||||
"Use custom size": "Përdor madhësi vetjake",
|
||||
"Hey you. You're the best!": "Hej, ju. S’u ka kush shokun!",
|
||||
"Message layout": "Skemë mesazhesh",
|
||||
"Compact": "Kompakte",
|
||||
"Modern": "Moderne",
|
||||
"Use a system font": "Përdor një palë shkronja sistemi",
|
||||
"System font name": "Emër shkronjash sistemi",
|
||||
"You joined the call": "U bëtë pjesë e thirrjes",
|
||||
"%(senderName)s joined the call": "%(senderName)s u bë pjesë e thirrjes",
|
||||
"Call in progress": "Thirrje në ecuri e sipër",
|
||||
"You left the call": "E braktisët thirrjen",
|
||||
"%(senderName)s left the call": "%(senderName)s e braktisi thirrjen",
|
||||
"Call ended": "Thirrja përfundoi",
|
||||
"You started a call": "Filluat një thirrje",
|
||||
"%(senderName)s started a call": "%(senderName)s filluat një thirrje",
|
||||
"Waiting for answer": "Po pritet për përgjigje",
|
||||
"%(senderName)s is calling": "%(senderName)s po thërret",
|
||||
"You created the room": "Krijuat dhomën",
|
||||
"%(senderName)s created the room": "%(senderName)s krijoi dhomën",
|
||||
"You made the chat encrypted": "E bëtë të fshehtëzuar fjalosjen",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s e bëri të fshehtëzuar fjalosjen",
|
||||
"You made history visible to new members": "E bëtë historikun të dukshëm për anëtarë të rinj",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s e bëri historikun të dukshëm për anëtarë të rinj",
|
||||
"You made history visible to anyone": "E bëtë historikun të dukshëm për këdo",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s e bëri historikun të dukshëm për këdo",
|
||||
"You made history visible to future members": "E bëtë historikun të dukshëm për anëtarë të ardhshëm",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s e bëri historikun të dukshëm për anëtarë të ardhshëm",
|
||||
"You were invited": "U ftuat",
|
||||
"%(targetName)s was invited": "%(targetName)s u ftua",
|
||||
"You left": "Dolët",
|
||||
"%(targetName)s left": "%(targetName)s doli",
|
||||
"You were kicked (%(reason)s)": "U përzutë (%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "%(targetName)s u përzu (%(reason)s)",
|
||||
"You were kicked": "U përzutë",
|
||||
"%(targetName)s was kicked": "%(targetName)s u përzu",
|
||||
"You rejected the invite": "S’pranuat ftesën",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s s’pranoi ftesën",
|
||||
"You were uninvited": "Ju shfuqizuan ftesën",
|
||||
"%(targetName)s was uninvited": "%(targetName)s i shfuqizuan ftesën",
|
||||
"You were banned (%(reason)s)": "U dëbuat (%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s u dëbua (%(reason)s)",
|
||||
"You were banned": "U dëbuat",
|
||||
"%(targetName)s was banned": "%(targetName)s u dëbua",
|
||||
"You joined": "U bëtë pjesë",
|
||||
"%(targetName)s joined": "%(targetName)s u bë pjesë",
|
||||
"You changed your name": "Ndryshuat emrin",
|
||||
"%(targetName)s changed their name": "%(targetName)s ndryshoi emrin e vet",
|
||||
"You changed your avatar": "Ndryshuat avatarin tuaj",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s ndryshoi avatarin e vet",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "Ndryshuat emrin e dhomës",
|
||||
"%(senderName)s changed the room name": "%(senderName)s ndryshoi emrin e dhomës",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "Shfuqizuat ftesën për %(targetName)s",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s shfuqizoi ftesën për %(targetName)s",
|
||||
"You invited %(targetName)s": "Ftuat %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s ftoi %(targetName)s",
|
||||
"You changed the room topic": "Ndryshuat temën e dhomës",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s ndryshoi temën e dhomës",
|
||||
"Use a more compact ‘Modern’ layout": "Përdorni një skemë ‘Modern’ më kompakte",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "Mirëfilltësia e këtij mesazhi të fshehtëzuar s’mund të garantohet në këtë pajisje.",
|
||||
"Message deleted on %(date)s": "Mesazh i fshirë më %(date)s",
|
||||
"Wrong file type": "Lloj i gabuar kartele",
|
||||
"Wrong Recovery Key": "Kyç Rimarrjesh i Gabuar",
|
||||
"Invalid Recovery Key": "Kyç Rimarrjesh i Pavlefshëm",
|
||||
"Security Phrase": "Frazë Sigurie",
|
||||
"Enter your Security Phrase or <button>Use your Security Key</button> to continue.": "Që të vazhdohet, jepni Frazën tuaj të Sigurisë ose <button>Përdorni Kyçin tuaj të Sigurisë</button>.",
|
||||
"Security Key": "Kyç Sigurie",
|
||||
"Use your Security Key to continue.": "Që të vazhdohet përdorni Kyçin tuaj të Sigurisë.",
|
||||
"Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.": "Mbrohuni kundër humbjes së hyrjes në mesazhe & të dhëna të fshehtëzuara duke kopjeruajtur kyçe fshehtëzimi në shërbyesin tuaj.",
|
||||
"Generate a Security Key": "Prodhoni një Kyç Sigurie",
|
||||
"We’ll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "Do të prodhojmë për ju një Kyç Sigurie që ta depozitoni diku të parrezik, bie fjala në një përgjegjës fjalëkalimesh ose në një kasafortë.",
|
||||
"Enter a Security Phrase": "Jepni një Frazë Sigurie",
|
||||
"Use a secret phrase only you know, and optionally save a Security Key to use for backup.": "Jepni një frazë të fshehtë që e dini vetëm ju, dhe, në daçi, ruani një Kyç Sigurie për ta përdorur për kopjeruajtje.",
|
||||
"Enter a security phrase only you know, as it’s used to safeguard your data. To be secure, you shouldn’t re-use your account password.": "Jepni një frazë sigurie që e dini vetëm ju, ngaqë përdoret për të mbrojtur të dhënat tuaja. Që të jeni të sigurt, s’duhet të ripërdorni fjalëkalimin e llogarisë tuaj.",
|
||||
"Store your Security Key somewhere safe, like a password manager or a safe, as it’s used to safeguard your encrypted data.": "Depozitojeni Kyçin tuaj të Sigurisë diku të parrezik, bie fjala në një përgjegjës fjalëkalimesh ose në një kasafortë, ngaqë përdoret për të mbrojtur të dhënat tuaja të fshehtëzuara.",
|
||||
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "Nëse e anuloni tani, mund të humbni mesazhe & të dhëna të fshehtëzuara, nëse humbni hyrjen te kredencialet tuaja të hyrjeve.",
|
||||
"You can also set up Secure Backup & manage your keys in Settings.": "Mundeni edhe të ujdisni Kopjeruajtje të Sigurt & administroni kyçet tuaj që nga Rregullimet.",
|
||||
"Set up Secure backup": "Ujdisni kopjeruajtje të Sigurt",
|
||||
"Set a Security Phrase": "Caktoni një Frazë Sigurie",
|
||||
"Confirm Security Phrase": "Ripohoni Frazë Sigurie",
|
||||
"Save your Security Key": "Ruani Kyçin tuaj të Sigurisë"
|
||||
}
|
||||
|
@ -600,8 +600,8 @@
|
||||
"Language and region": "Мова та регіон",
|
||||
"Account management": "Керування обліківкою",
|
||||
"Deactivating your account is a permanent action - be careful!": "Деактивація вашої обліківки є безповоротною дією — будьте обережні!",
|
||||
"Deactivate Account": "Деактивувати обліківку",
|
||||
"Deactivate account": "Деактивувати обліківку",
|
||||
"Deactivate Account": "Знедіяти обліківку",
|
||||
"Deactivate account": "Знедіяти обліківку",
|
||||
"Legal": "Правова інформація",
|
||||
"Credits": "Подяки",
|
||||
"For help with using Riot, click <a>here</a>.": "Якщо необхідна допомога у користуванні Riot'ом, клацніть <a>тут</a>.",
|
||||
@ -624,7 +624,7 @@
|
||||
"Link this email with your account in Settings to receive invites directly in Riot.": "Зв'яжіть цю е-пошту з вашою обліківкою у Налаштуваннях щоб отримувати сповіщення прямо у Riot.",
|
||||
"This invite to %(roomName)s was sent to %(email)s": "Це запрошення до %(roomName)s було надіслане на %(email)s",
|
||||
"Use an identity server in Settings to receive invites directly in Riot.": "Використовувати сервер ідентифікації у Налаштуваннях щоб отримувати запрошення прямо у Riot.",
|
||||
"Are you sure you want to deactivate your account? This is irreversible.": "Ви впевнені у тому, що бажаєте деактивувати вашу обліківку? Це є безповоротним.",
|
||||
"Are you sure you want to deactivate your account? This is irreversible.": "Ви впевнені у тому, що бажаєте знедіяти вашу обліківку? Це є безповоротним.",
|
||||
"Confirm account deactivation": "Підтвердьте деактивацію обліківки",
|
||||
"To continue, please enter your password:": "Щоб продовжити, введіть, будь ласка, ваш пароль:",
|
||||
"This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. <b>This action is irreversible.</b>": "Ваша обліківка стане назавжди невикористовною. Ви не матимете змоги увійти в неї і ніхто не зможе перереєструватись під цим користувацьким ID. Це призведе до виходу вашої обліківки з усіх кімнат та до видалення деталей вашої обліківки з вашого серверу ідентифікації. <b>Ця дія є безповоротною.</b>",
|
||||
@ -660,5 +660,12 @@
|
||||
"Room": "Кімната",
|
||||
"Failed to reject invite": "Не вдалось відхилити запрошення",
|
||||
"You have %(count)s unread notifications in a prior version of this room.|other": "Ви маєте %(count)s непрочитаних сповіщень у попередній версії цієї кімнати.",
|
||||
"You have %(count)s unread notifications in a prior version of this room.|one": "У вас одне непрочитане сповіщення у попередній версії цієї кімнати."
|
||||
"You have %(count)s unread notifications in a prior version of this room.|one": "У вас одне непрочитане сповіщення у попередній версії цієї кімнати.",
|
||||
"Deactivate user?": "Знедіяти користувача?",
|
||||
"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?": "Знедіювання цього користувача виведе їх з системи і унеможливить вхід у майбутньому. До того ж, вони залишать усі кімнати, в яких перебувають. Ця дія є безповоротною. Ви впевнені, що хочете знедіяти цього користувача?",
|
||||
"Deactivate user": "Знедіяти користувача",
|
||||
"Failed to deactivate user": "Не вдалось знедіяти користувача",
|
||||
"Deactivating your account <b>does not by default cause us to forget messages you have sent.</b> If you would like us to forget your messages, please tick the box below.": "Знедіювання вашої обліківки <b>типово не призводить до забуття надісланих вами повідомлень.</b> Якщо ви бажаєте щоб ми забули ваші повідомлення, поставте прапорець внизу.",
|
||||
"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.": "Видність повідомлень у Matrix є схожою до е-пошти. Забування нами ваших повідомлень означає, що надіслані вами повідомлення не будуть поширені будь-яким новим чи незареєстрованим користувачам, але зареєстровані користувачі, які мають доступ до цих повідомлень, і надалі матимуть доступ до їхніх копій.",
|
||||
"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)": "Забудьте, будь ласка, усі надіслані мною повідомлення після знедіювання моєї обліківки. (<b>Попередження:</b> після цього майбутні користувачі бачитимуть неповні бесіди)"
|
||||
}
|
||||
|
@ -2527,5 +2527,91 @@
|
||||
"Upgrade your Recovery Key": "升級您的復原金鑰",
|
||||
"Store your Recovery Key": "儲存您的復原金鑰",
|
||||
"Use the improved room list (in development - will refresh to apply changes)": "使用改進的聊天室清單(開發中 ── 將會重新整理以套用變更)",
|
||||
"Use the improved room list (will refresh to apply changes)": "使用改進的聊天室清單(將會重新整理以套用變更)"
|
||||
"Use the improved room list (will refresh to apply changes)": "使用改進的聊天室清單(將會重新整理以套用變更)",
|
||||
"Enable IRC layout option in the appearance tab": "在外觀分頁中啟用 IRC 佈局選項",
|
||||
"Use custom size": "使用自訂大小",
|
||||
"Hey you. You're the best!": "你是最棒的!",
|
||||
"Message layout": "訊息佈局",
|
||||
"Compact": "簡潔",
|
||||
"Modern": "現代",
|
||||
"Use a system font": "使用系統字型",
|
||||
"System font name": "系統字型名稱",
|
||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "無法在此裝置上保證加密訊息的真實性。",
|
||||
"You joined the call": "您加入了通話",
|
||||
"%(senderName)s joined the call": "%(senderName)s 加入了通話",
|
||||
"Call in progress": "通話進行中",
|
||||
"You left the call": "您離開了通話",
|
||||
"%(senderName)s left the call": "%(senderName)s 離開了通話",
|
||||
"Call ended": "通話結束",
|
||||
"You started a call": "您開始了通話",
|
||||
"%(senderName)s started a call": "%(senderName)s 開始了通話",
|
||||
"Waiting for answer": "正在等待回應",
|
||||
"%(senderName)s is calling": "%(senderName)s 正在通話",
|
||||
"You created the room": "您建立了聊天室",
|
||||
"%(senderName)s created the room": "%(senderName)s 建立了聊天室",
|
||||
"You made the chat encrypted": "您讓聊天加密",
|
||||
"%(senderName)s made the chat encrypted": "%(senderName)s 讓聊天加密",
|
||||
"You made history visible to new members": "您讓歷史紀錄對新成員可見",
|
||||
"%(senderName)s made history visible to new members": "%(senderName)s 讓歷史紀錄對新成員可見",
|
||||
"You made history visible to anyone": "您讓歷史紀錄對所有人可見",
|
||||
"%(senderName)s made history visible to anyone": "%(senderName)s 讓歷史紀錄對所有人可見",
|
||||
"You made history visible to future members": "您讓歷史紀錄對未來成員可見",
|
||||
"%(senderName)s made history visible to future members": "%(senderName)s 讓歷史紀錄對未來成員可見",
|
||||
"You were invited": "您被邀請",
|
||||
"%(targetName)s was invited": "%(targetName)s 被邀請",
|
||||
"You left": "您離開",
|
||||
"%(targetName)s left": "%(targetName)s 離開",
|
||||
"You were kicked (%(reason)s)": "您被踢除(%(reason)s)",
|
||||
"%(targetName)s was kicked (%(reason)s)": "%(targetName)s 被踢除(%(reason)s)",
|
||||
"You were kicked": "您被踢除",
|
||||
"%(targetName)s was kicked": "%(targetName)s 被踢除",
|
||||
"You rejected the invite": "您回絕了邀請",
|
||||
"%(targetName)s rejected the invite": "%(targetName)s 回絕了邀請",
|
||||
"You were uninvited": "您被取消邀請",
|
||||
"%(targetName)s was uninvited": "%(targetName)s 被取消邀請",
|
||||
"You were banned (%(reason)s)": "您被封鎖(%(reason)s)",
|
||||
"%(targetName)s was banned (%(reason)s)": "%(targetName)s 被封鎖(%(reason)s)",
|
||||
"You were banned": "您被封鎖",
|
||||
"%(targetName)s was banned": "%(targetName)s 被封鎖",
|
||||
"You joined": "您加入",
|
||||
"%(targetName)s joined": "%(targetName)s 加入",
|
||||
"You changed your name": "您變更了您的名稱",
|
||||
"%(targetName)s changed their name": "%(targetName)s 變更了他們的名稱",
|
||||
"You changed your avatar": "您變更了您的大頭貼",
|
||||
"%(targetName)s changed their avatar": "%(targetName)s 變更了他們的大頭貼",
|
||||
"%(senderName)s %(emote)s": "%(senderName)s %(emote)s",
|
||||
"%(senderName)s: %(message)s": "%(senderName)s: %(message)s",
|
||||
"You changed the room name": "您變更了聊天室名稱",
|
||||
"%(senderName)s changed the room name": "%(senderName)s 變更了聊天室名稱",
|
||||
"%(senderName)s: %(reaction)s": "%(senderName)s: %(reaction)s",
|
||||
"%(senderName)s: %(stickerName)s": "%(senderName)s: %(stickerName)s",
|
||||
"You uninvited %(targetName)s": "您取消邀請了 %(targetName)s",
|
||||
"%(senderName)s uninvited %(targetName)s": "%(senderName)s 取消邀請了 %(targetName)s",
|
||||
"You invited %(targetName)s": "您邀請了 %(targetName)s",
|
||||
"%(senderName)s invited %(targetName)s": "%(senderName)s 邀請了 %(targetName)s",
|
||||
"You changed the room topic": "您變更了聊天室主題",
|
||||
"%(senderName)s changed the room topic": "%(senderName)s 變更了聊天室主題",
|
||||
"New spinner design": "新的微調器設計",
|
||||
"Use a more compact ‘Modern’ layout": "使用更簡潔的「現代」佈局",
|
||||
"Message deleted on %(date)s": "訊息刪除於 %(date)s",
|
||||
"Wrong file type": "錯誤的檔案類型",
|
||||
"Wrong Recovery Key": "錯誤的復原金鑰",
|
||||
"Invalid Recovery Key": "無效的復原金鑰",
|
||||
"Security Phrase": "安全密語",
|
||||
"Enter your Security Phrase or <button>Use your Security Key</button> to continue.": "輸入您的安全密語或<button>使用您的安全金鑰</button>以繼續。",
|
||||
"Security Key": "安全金鑰",
|
||||
"Use your Security Key to continue.": "使用您的安全金鑰以繼續。",
|
||||
"Safeguard against losing access to encrypted messages & data by backing up encryption keys on your server.": "透過備份您伺服器上的加密金鑰來防止失去對您已加密的訊息與資料的存取權。",
|
||||
"Generate a Security Key": "生成加密金鑰",
|
||||
"We’ll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": "我們將會為您生成一把安全金鑰,供您存放在安全的地方,如密碼管理員或保險櫃等。",
|
||||
"Enter a Security Phrase": "輸入安全密語",
|
||||
"Use a secret phrase only you know, and optionally save a Security Key to use for backup.": "使用僅有您知道的祕密短語,並選擇性地儲存安全金鑰以供備用。",
|
||||
"Enter a security phrase only you know, as it’s used to safeguard your data. To be secure, you shouldn’t re-use your account password.": "輸入僅有您知道的安全短語,其用於保護您的資料。安全起見,請勿重複使用您的帳號密碼。",
|
||||
"Store your Security Key somewhere safe, like a password manager or a safe, as it’s used to safeguard your encrypted data.": "將您的安全金鑰存放在某個安全的地方,如密碼管理員或保險櫃,其用於保護您的加密資料。",
|
||||
"If you cancel now, you may lose encrypted messages & data if you lose access to your logins.": "如果您現在取消,在您失去對您的登入的存取權時可能會遺失已加密的訊息與資料。",
|
||||
"You can also set up Secure Backup & manage your keys in Settings.": "您也可以在設定中設定安全備份並管理您的金鑰。",
|
||||
"Set up Secure backup": "設定安全備份",
|
||||
"Set a Security Phrase": "設定安全密語",
|
||||
"Confirm Security Phrase": "確認安全密語",
|
||||
"Save your Security Key": "儲存您的安全金鑰"
|
||||
}
|
||||
|
@ -478,11 +478,13 @@ export const SETTINGS = {
|
||||
deny: [],
|
||||
},
|
||||
},
|
||||
// TODO: Remove setting: https://github.com/vector-im/riot-web/issues/14231
|
||||
"RoomList.orderAlphabetically": {
|
||||
supportedLevels: LEVELS_ACCOUNT_SETTINGS,
|
||||
displayName: _td("Order rooms by name"),
|
||||
default: false,
|
||||
},
|
||||
// TODO: Remove setting: https://github.com/vector-im/riot-web/issues/14231
|
||||
"RoomList.orderByImportance": {
|
||||
supportedLevels: LEVELS_ACCOUNT_SETTINGS,
|
||||
displayName: _td("Show rooms with unread notifications first"),
|
||||
|
@ -29,6 +29,7 @@ import { IFilterCondition } from "./filters/IFilterCondition";
|
||||
import { TagWatcher } from "./TagWatcher";
|
||||
import RoomViewStore from "../RoomViewStore";
|
||||
import { Algorithm, LIST_UPDATED_EVENT } from "./algorithms/Algorithm";
|
||||
import { EffectiveMembership, getEffectiveMembership } from "./membership";
|
||||
|
||||
interface IState {
|
||||
tagsEnabled?: boolean;
|
||||
@ -49,8 +50,6 @@ export class RoomListStore2 extends AsyncStore<ActionPayload> {
|
||||
private tagWatcher = new TagWatcher(this);
|
||||
|
||||
private readonly watchedSettings = [
|
||||
'RoomList.orderAlphabetically',
|
||||
'RoomList.orderByImportance',
|
||||
'feature_custom_tags',
|
||||
];
|
||||
|
||||
@ -97,8 +96,10 @@ export class RoomListStore2 extends AsyncStore<ActionPayload> {
|
||||
this.algorithm.stickyRoom = null;
|
||||
} else if (activeRoomId) {
|
||||
const activeRoom = this.matrixClient.getRoom(activeRoomId);
|
||||
if (!activeRoom) throw new Error(`${activeRoomId} is current in RVS but missing from client`);
|
||||
if (activeRoom !== this.algorithm.stickyRoom) {
|
||||
if (!activeRoom) {
|
||||
console.warn(`${activeRoomId} is current in RVS but missing from client - clearing sticky room`);
|
||||
this.algorithm.stickyRoom = null;
|
||||
} else if (activeRoom !== this.algorithm.stickyRoom) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||
console.log(`Changing sticky room to ${activeRoomId}`);
|
||||
this.algorithm.stickyRoom = activeRoom;
|
||||
@ -187,10 +188,13 @@ export class RoomListStore2 extends AsyncStore<ActionPayload> {
|
||||
console.log(`[RoomListDebug] Live timeline event ${eventPayload.event.getId()} in ${updatedRoom.roomId}`);
|
||||
if (eventPayload.event.getType() === 'm.room.tombstone' && eventPayload.event.getStateKey() === '') {
|
||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||
console.log(`[RoomListDebug] Got tombstone event - regenerating room list`);
|
||||
// TODO: We could probably be smarter about this: https://github.com/vector-im/riot-web/issues/14035
|
||||
await this.regenerateAllLists();
|
||||
return; // don't pass the update down - we will have already handled it in the regen
|
||||
console.log(`[RoomListDebug] Got tombstone event - trying to remove now-dead room`);
|
||||
const newRoom = this.matrixClient.getRoom(eventPayload.event.getContent()['replacement_room']);
|
||||
if (newRoom) {
|
||||
// If we have the new room, then the new room check will have seen the predecessor
|
||||
// and did the required updates, so do nothing here.
|
||||
return;
|
||||
}
|
||||
}
|
||||
await this.handleRoomUpdate(updatedRoom, RoomUpdateCause.Timeline);
|
||||
};
|
||||
@ -242,18 +246,49 @@ export class RoomListStore2 extends AsyncStore<ActionPayload> {
|
||||
}
|
||||
} else if (payload.action === 'MatrixActions.Room.myMembership') {
|
||||
const membershipPayload = (<any>payload); // TODO: Type out the dispatcher types
|
||||
if (membershipPayload.oldMembership !== "join" && membershipPayload.membership === "join") {
|
||||
const oldMembership = getEffectiveMembership(membershipPayload.oldMembership);
|
||||
const newMembership = getEffectiveMembership(membershipPayload.membership);
|
||||
if (oldMembership !== EffectiveMembership.Join && newMembership === EffectiveMembership.Join) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||
console.log(`[RoomListDebug] Handling new room ${membershipPayload.room.roomId}`);
|
||||
await this.algorithm.handleRoomUpdate(membershipPayload.room, RoomUpdateCause.NewRoom);
|
||||
|
||||
// If we're joining an upgraded room, we'll want to make sure we don't proliferate
|
||||
// the dead room in the list.
|
||||
const createEvent = membershipPayload.room.currentState.getStateEvents("m.room.create", "");
|
||||
if (createEvent && createEvent.getContent()['predecessor']) {
|
||||
console.log(`[RoomListDebug] Room has a predecessor`);
|
||||
const prevRoom = this.matrixClient.getRoom(createEvent.getContent()['predecessor']['room_id']);
|
||||
if (prevRoom) {
|
||||
const isSticky = this.algorithm.stickyRoom === prevRoom;
|
||||
if (isSticky) {
|
||||
console.log(`[RoomListDebug] Clearing sticky room due to room upgrade`);
|
||||
await this.algorithm.setStickyRoomAsync(null);
|
||||
}
|
||||
|
||||
// Note: we hit the algorithm instead of our handleRoomUpdate() function to
|
||||
// avoid redundant updates.
|
||||
console.log(`[RoomListDebug] Removing previous room from room list`);
|
||||
await this.algorithm.handleRoomUpdate(prevRoom, RoomUpdateCause.RoomRemoved);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`[RoomListDebug] Adding new room to room list`);
|
||||
await this.handleRoomUpdate(membershipPayload.room, RoomUpdateCause.NewRoom);
|
||||
return;
|
||||
}
|
||||
|
||||
if (oldMembership !== EffectiveMembership.Invite && newMembership === EffectiveMembership.Invite) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||
console.log(`[RoomListDebug] Handling invite to ${membershipPayload.room.roomId}`);
|
||||
await this.handleRoomUpdate(membershipPayload.room, RoomUpdateCause.NewRoom);
|
||||
return;
|
||||
}
|
||||
|
||||
// If it's not a join, it's transitioning into a different list (possibly historical)
|
||||
if (membershipPayload.oldMembership !== membershipPayload.membership) {
|
||||
if (oldMembership !== newMembership) {
|
||||
// TODO: Remove debug: https://github.com/vector-im/riot-web/issues/14035
|
||||
console.log(`[RoomListDebug] Handling membership change in ${membershipPayload.room.roomId}`);
|
||||
await this.algorithm.handleRoomUpdate(membershipPayload.room, RoomUpdateCause.PossibleTagChange);
|
||||
await this.handleRoomUpdate(membershipPayload.room, RoomUpdateCause.PossibleTagChange);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -301,11 +336,8 @@ export class RoomListStore2 extends AsyncStore<ActionPayload> {
|
||||
}
|
||||
|
||||
private async updateAlgorithmInstances() {
|
||||
const orderByImportance = SettingsStore.getValue("RoomList.orderByImportance");
|
||||
const orderAlphabetically = SettingsStore.getValue("RoomList.orderAlphabetically");
|
||||
|
||||
const defaultSort = orderAlphabetically ? SortAlgorithm.Alphabetic : SortAlgorithm.Recent;
|
||||
const defaultOrder = orderByImportance ? ListAlgorithm.Importance : ListAlgorithm.Natural;
|
||||
const defaultSort = SortAlgorithm.Alphabetic;
|
||||
const defaultOrder = ListAlgorithm.Natural;
|
||||
|
||||
for (const tag of Object.keys(this.orderedLists)) {
|
||||
const definedSort = this.getTagSorting(tag);
|
||||
|
@ -30,7 +30,7 @@ import {
|
||||
SortAlgorithm
|
||||
} from "./models";
|
||||
import { FILTER_CHANGED, FilterPriority, IFilterCondition } from "../filters/IFilterCondition";
|
||||
import { EffectiveMembership, splitRoomsByMembership } from "../membership";
|
||||
import { EffectiveMembership, getEffectiveMembership, splitRoomsByMembership } from "../membership";
|
||||
import { OrderingAlgorithm } from "./list-ordering/OrderingAlgorithm";
|
||||
import { getListAlgorithmInstance } from "./list-ordering";
|
||||
|
||||
@ -99,6 +99,14 @@ export class Algorithm extends EventEmitter {
|
||||
return this._cachedRooms;
|
||||
}
|
||||
|
||||
/**
|
||||
* Awaitable version of the sticky room setter.
|
||||
* @param val The new room to sticky.
|
||||
*/
|
||||
public async setStickyRoomAsync(val: Room) {
|
||||
await this.updateStickyRoom(val);
|
||||
}
|
||||
|
||||
public getTagSorting(tagId: TagID): SortAlgorithm {
|
||||
return this.sortAlgorithms[tagId];
|
||||
}
|
||||
@ -160,10 +168,13 @@ export class Algorithm extends EventEmitter {
|
||||
// It's possible to have no selected room. In that case, clear the sticky room
|
||||
if (!val) {
|
||||
if (this._stickyRoom) {
|
||||
const stickyRoom = this._stickyRoom.room;
|
||||
this._stickyRoom = null; // clear before we go to update the algorithm
|
||||
|
||||
// Lie to the algorithm and re-add the room to the algorithm
|
||||
await this.handleRoomUpdate(this._stickyRoom.room, RoomUpdateCause.NewRoom);
|
||||
await this.handleRoomUpdate(stickyRoom, RoomUpdateCause.NewRoom);
|
||||
return;
|
||||
}
|
||||
this._stickyRoom = null;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -289,6 +300,8 @@ export class Algorithm extends EventEmitter {
|
||||
}
|
||||
|
||||
protected recalculateFilteredRoomsForTag(tagId: TagID): void {
|
||||
if (!this.hasFilters) return; // don't bother doing work if there's nothing to do
|
||||
|
||||
console.log(`Recalculating filtered rooms for ${tagId}`);
|
||||
delete this.filteredRooms[tagId];
|
||||
const rooms = this.cachedRooms[tagId].map(r => r); // cheap clone
|
||||
@ -428,6 +441,13 @@ export class Algorithm extends EventEmitter {
|
||||
if (isNullOrUndefined(rooms)) throw new Error(`Array of rooms cannot be null`);
|
||||
if (!this.sortAlgorithms) throw new Error(`Cannot set known rooms without a tag sorting map`);
|
||||
|
||||
console.warn("Resetting known rooms, initiating regeneration");
|
||||
|
||||
// Before we go any further we need to clear (but remember) the sticky room to
|
||||
// avoid accidentally duplicating it in the list.
|
||||
const oldStickyRoom = this._stickyRoom;
|
||||
await this.updateStickyRoom(null);
|
||||
|
||||
this.rooms = rooms;
|
||||
|
||||
const newTags: ITagMap = {};
|
||||
@ -458,14 +478,7 @@ export class Algorithm extends EventEmitter {
|
||||
|
||||
// Now process all the joined rooms. This is a bit more complicated
|
||||
for (const room of memberships[EffectiveMembership.Join]) {
|
||||
let tags = Object.keys(room.tags || {});
|
||||
|
||||
if (tags.length === 0) {
|
||||
// Check to see if it's a DM if it isn't anything else
|
||||
if (DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
|
||||
tags = [DefaultTagID.DM];
|
||||
}
|
||||
}
|
||||
const tags = this.getTagsOfJoinedRoom(room);
|
||||
|
||||
let inTag = false;
|
||||
if (tags.length > 0) {
|
||||
@ -494,6 +507,54 @@ export class Algorithm extends EventEmitter {
|
||||
|
||||
this.cachedRooms = newTags;
|
||||
this.updateTagsFromCache();
|
||||
this.recalculateFilteredRooms();
|
||||
|
||||
// Now that we've finished generation, we need to update the sticky room to what
|
||||
// it was. It's entirely possible that it changed lists though, so if it did then
|
||||
// we also have to update the position of it.
|
||||
if (oldStickyRoom && oldStickyRoom.room) {
|
||||
await this.updateStickyRoom(oldStickyRoom.room);
|
||||
if (this._stickyRoom && this._stickyRoom.room) { // just in case the update doesn't go according to plan
|
||||
if (this._stickyRoom.tag !== oldStickyRoom.tag) {
|
||||
// We put the sticky room at the top of the list to treat it as an obvious tag change.
|
||||
this._stickyRoom.position = 0;
|
||||
this.recalculateStickyRoom(this._stickyRoom.tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private getTagsForRoom(room: Room): TagID[] {
|
||||
// XXX: This duplicates a lot of logic from setKnownRooms above, but has a slightly
|
||||
// different use case and therefore different performance curve
|
||||
|
||||
const tags: TagID[] = [];
|
||||
|
||||
const membership = getEffectiveMembership(room.getMyMembership());
|
||||
if (membership === EffectiveMembership.Invite) {
|
||||
tags.push(DefaultTagID.Invite);
|
||||
} else if (membership === EffectiveMembership.Leave) {
|
||||
tags.push(DefaultTagID.Archived);
|
||||
} else {
|
||||
tags.push(...this.getTagsOfJoinedRoom(room));
|
||||
}
|
||||
|
||||
if (!tags.length) tags.push(DefaultTagID.Untagged);
|
||||
|
||||
return tags;
|
||||
}
|
||||
|
||||
private getTagsOfJoinedRoom(room: Room): TagID[] {
|
||||
let tags = Object.keys(room.tags || {});
|
||||
|
||||
if (tags.length === 0) {
|
||||
// Check to see if it's a DM if it isn't anything else
|
||||
if (DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
|
||||
tags = [DefaultTagID.DM];
|
||||
}
|
||||
}
|
||||
|
||||
return tags;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -548,6 +609,14 @@ export class Algorithm extends EventEmitter {
|
||||
public async handleRoomUpdate(room: Room, cause: RoomUpdateCause): Promise<boolean> {
|
||||
if (!this.algorithms) throw new Error("Not ready: no algorithms to determine tags from");
|
||||
|
||||
if (cause === RoomUpdateCause.NewRoom) {
|
||||
const roomTags = this.roomIdsToTags[room.roomId];
|
||||
if (roomTags && roomTags.length > 0) {
|
||||
console.warn(`${room.roomId} is reportedly new but is already known - assuming TagChange instead`);
|
||||
cause = RoomUpdateCause.PossibleTagChange;
|
||||
}
|
||||
}
|
||||
|
||||
if (cause === RoomUpdateCause.PossibleTagChange) {
|
||||
// TODO: Be smarter and splice rather than regen the planet. https://github.com/vector-im/riot-web/issues/14035
|
||||
// TODO: No-op if no change. https://github.com/vector-im/riot-web/issues/14035
|
||||
@ -566,6 +635,19 @@ export class Algorithm extends EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
if (cause === RoomUpdateCause.NewRoom && !this.roomIdsToTags[room.roomId]) {
|
||||
console.log(`[RoomListDebug] Updating tags for new 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;
|
||||
}
|
||||
|
||||
let tags = this.roomIdsToTags[room.roomId];
|
||||
if (!tags) {
|
||||
console.warn(`No tags known for "${room.name}" (${room.roomId})`);
|
||||
|
@ -179,45 +179,51 @@ export class ImportanceAlgorithm extends OrderingAlgorithm {
|
||||
}
|
||||
|
||||
public async handleRoomUpdate(room: Room, cause: RoomUpdateCause): Promise<boolean> {
|
||||
if (cause === RoomUpdateCause.NewRoom || cause === RoomUpdateCause.RoomRemoved) {
|
||||
return this.handleSplice(room, cause);
|
||||
try {
|
||||
await this.updateLock.acquireAsync();
|
||||
|
||||
if (cause === RoomUpdateCause.NewRoom || cause === RoomUpdateCause.RoomRemoved) {
|
||||
return this.handleSplice(room, cause);
|
||||
}
|
||||
|
||||
if (cause !== RoomUpdateCause.Timeline && cause !== RoomUpdateCause.ReadReceipt) {
|
||||
throw new Error(`Unsupported update cause: ${cause}`);
|
||||
}
|
||||
|
||||
const category = this.getRoomCategory(room);
|
||||
if (this.sortingAlgorithm === SortAlgorithm.Manual) {
|
||||
return; // Nothing to do here.
|
||||
}
|
||||
|
||||
const roomIdx = this.getRoomIndex(room);
|
||||
if (roomIdx === -1) {
|
||||
throw new Error(`Room ${room.roomId} has no index in ${this.tagId}`);
|
||||
}
|
||||
|
||||
// Try to avoid doing array operations if we don't have to: only move rooms within
|
||||
// the categories if we're jumping categories
|
||||
const oldCategory = this.getCategoryFromIndices(roomIdx, this.indices);
|
||||
if (oldCategory !== category) {
|
||||
// Move the room and update the indices
|
||||
this.moveRoomIndexes(1, oldCategory, category, this.indices);
|
||||
this.cachedOrderedRooms.splice(roomIdx, 1); // splice out the old index (fixed position)
|
||||
this.cachedOrderedRooms.splice(this.indices[category], 0, room); // splice in the new room (pre-adjusted)
|
||||
// Note: if moveRoomIndexes() is called after the splice then the insert operation
|
||||
// will happen in the wrong place. Because we would have already adjusted the index
|
||||
// for the category, we don't need to determine how the room is moving in the list.
|
||||
// If we instead tried to insert before updating the indices, we'd have to determine
|
||||
// whether the room was moving later (towards IDLE) or earlier (towards RED) from its
|
||||
// current position, as it'll affect the category's start index after we remove the
|
||||
// room from the array.
|
||||
}
|
||||
|
||||
// Sort the category now that we've dumped the room in
|
||||
await this.sortCategory(category);
|
||||
|
||||
return true; // change made
|
||||
} finally {
|
||||
await this.updateLock.release();
|
||||
}
|
||||
|
||||
if (cause !== RoomUpdateCause.Timeline && cause !== RoomUpdateCause.ReadReceipt) {
|
||||
throw new Error(`Unsupported update cause: ${cause}`);
|
||||
}
|
||||
|
||||
const category = this.getRoomCategory(room);
|
||||
if (this.sortingAlgorithm === SortAlgorithm.Manual) {
|
||||
return; // Nothing to do here.
|
||||
}
|
||||
|
||||
const roomIdx = this.getRoomIndex(room);
|
||||
if (roomIdx === -1) {
|
||||
throw new Error(`Room ${room.roomId} has no index in ${this.tagId}`);
|
||||
}
|
||||
|
||||
// Try to avoid doing array operations if we don't have to: only move rooms within
|
||||
// the categories if we're jumping categories
|
||||
const oldCategory = this.getCategoryFromIndices(roomIdx, this.indices);
|
||||
if (oldCategory !== category) {
|
||||
// Move the room and update the indices
|
||||
this.moveRoomIndexes(1, oldCategory, category, this.indices);
|
||||
this.cachedOrderedRooms.splice(roomIdx, 1); // splice out the old index (fixed position)
|
||||
this.cachedOrderedRooms.splice(this.indices[category], 0, room); // splice in the new room (pre-adjusted)
|
||||
// Note: if moveRoomIndexes() is called after the splice then the insert operation
|
||||
// will happen in the wrong place. Because we would have already adjusted the index
|
||||
// for the category, we don't need to determine how the room is moving in the list.
|
||||
// If we instead tried to insert before updating the indices, we'd have to determine
|
||||
// whether the room was moving later (towards IDLE) or earlier (towards RED) from its
|
||||
// current position, as it'll affect the category's start index after we remove the
|
||||
// room from the array.
|
||||
}
|
||||
|
||||
// Sort the category now that we've dumped the room in
|
||||
await this.sortCategory(category);
|
||||
|
||||
return true; // change made
|
||||
}
|
||||
|
||||
private async sortCategory(category: Category) {
|
||||
|
@ -38,23 +38,29 @@ export class NaturalAlgorithm extends OrderingAlgorithm {
|
||||
}
|
||||
|
||||
public async handleRoomUpdate(room, cause): Promise<boolean> {
|
||||
const isSplice = cause === RoomUpdateCause.NewRoom || cause === RoomUpdateCause.RoomRemoved;
|
||||
const isInPlace = cause === RoomUpdateCause.Timeline || cause === RoomUpdateCause.ReadReceipt;
|
||||
if (!isSplice && !isInPlace) {
|
||||
throw new Error(`Unsupported update cause: ${cause}`);
|
||||
try {
|
||||
await this.updateLock.acquireAsync();
|
||||
|
||||
const isSplice = cause === RoomUpdateCause.NewRoom || cause === RoomUpdateCause.RoomRemoved;
|
||||
const isInPlace = cause === RoomUpdateCause.Timeline || cause === RoomUpdateCause.ReadReceipt;
|
||||
if (!isSplice && !isInPlace) {
|
||||
throw new Error(`Unsupported update cause: ${cause}`);
|
||||
}
|
||||
|
||||
if (cause === RoomUpdateCause.NewRoom) {
|
||||
this.cachedOrderedRooms.push(room);
|
||||
} else if (cause === RoomUpdateCause.RoomRemoved) {
|
||||
const idx = this.cachedOrderedRooms.indexOf(room);
|
||||
if (idx >= 0) this.cachedOrderedRooms.splice(idx, 1);
|
||||
}
|
||||
|
||||
// TODO: Optimize this to avoid useless operations: https://github.com/vector-im/riot-web/issues/14035
|
||||
// For example, we can skip updates to alphabetic (sometimes) and manually ordered tags
|
||||
this.cachedOrderedRooms = await sortRoomsWithAlgorithm(this.cachedOrderedRooms, this.tagId, this.sortingAlgorithm);
|
||||
|
||||
return true;
|
||||
} finally {
|
||||
await this.updateLock.release();
|
||||
}
|
||||
|
||||
if (cause === RoomUpdateCause.NewRoom) {
|
||||
this.cachedOrderedRooms.push(room);
|
||||
} else if (cause === RoomUpdateCause.RoomRemoved) {
|
||||
const idx = this.cachedOrderedRooms.indexOf(room);
|
||||
if (idx >= 0) this.cachedOrderedRooms.splice(idx, 1);
|
||||
}
|
||||
|
||||
// TODO: Optimize this to avoid useless operations: https://github.com/vector-im/riot-web/issues/14035
|
||||
// For example, we can skip updates to alphabetic (sometimes) and manually ordered tags
|
||||
this.cachedOrderedRooms = await sortRoomsWithAlgorithm(this.cachedOrderedRooms, this.tagId, this.sortingAlgorithm);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||
import { Room } from "matrix-js-sdk/src/models/room";
|
||||
import { RoomUpdateCause, TagID } from "../../models";
|
||||
import { SortAlgorithm } from "../models";
|
||||
import AwaitLock from "await-lock";
|
||||
|
||||
/**
|
||||
* Represents a list ordering algorithm. Subclasses should populate the
|
||||
@ -25,6 +26,7 @@ import { SortAlgorithm } from "../models";
|
||||
export abstract class OrderingAlgorithm {
|
||||
protected cachedOrderedRooms: Room[];
|
||||
protected sortingAlgorithm: SortAlgorithm;
|
||||
protected readonly updateLock = new AwaitLock();
|
||||
|
||||
protected constructor(protected tagId: TagID, initialSortingAlgorithm: SortAlgorithm) {
|
||||
// noinspection JSIgnoredPromiseFromCall
|
||||
|
@ -22,8 +22,11 @@ import { _t } from "../../../languageHandler";
|
||||
|
||||
export class ReactionEventPreview implements IPreview {
|
||||
public getTextFor(event: MatrixEvent, tagId?: TagID): string {
|
||||
const reaction = event.getRelation().key;
|
||||
if (!reaction) return;
|
||||
const relation = event.getRelation();
|
||||
if (!relation) return null; // invalid reaction (probably redacted)
|
||||
|
||||
const reaction = relation.key;
|
||||
if (!reaction) return null; // invalid reaction (unknown format)
|
||||
|
||||
if (isSelf(event) || !shouldPrefixMessagesIn(event.getRoomId(), tagId)) {
|
||||
return reaction;
|
||||
|
Loading…
Reference in New Issue
Block a user