- New password
+ { _t('New password') }
@@ -166,7 +169,7 @@ module.exports = React.createClass({
);
diff --git a/src/components/views/settings/DevicesPanelEntry.js b/src/components/views/settings/DevicesPanelEntry.js
index 51f3a83010..f295a7c2d5 100644
--- a/src/components/views/settings/DevicesPanelEntry.js
+++ b/src/components/views/settings/DevicesPanelEntry.js
@@ -17,6 +17,7 @@ limitations under the License.
import React from 'react';
import sdk from '../../../index';
+import { _t } from '../../../languageHandler';
import MatrixClientPeg from '../../../MatrixClientPeg';
import Modal from '../../../Modal';
import DateUtils from '../../../DateUtils';
@@ -48,7 +49,7 @@ export default class DevicesPanelEntry extends React.Component {
display_name: value,
}).catch((e) => {
console.error("Error setting device display name", e);
- throw new Error("Failed to set display name");
+ throw new Error(_t("Failed to set display name"));
});
}
@@ -71,6 +72,7 @@ export default class DevicesPanelEntry extends React.Component {
var InteractiveAuthDialog = sdk.getComponent("dialogs.InteractiveAuthDialog");
Modal.createDialog(InteractiveAuthDialog, {
+ title: _t("Authentication"),
matrixClient: MatrixClientPeg.get(),
authData: error.data,
makeRequest: this._makeDeleteRequest,
@@ -84,7 +86,7 @@ export default class DevicesPanelEntry extends React.Component {
if (this._unmounted) { return; }
this.setState({
deleting: false,
- deleteError: "Failed to delete device",
+ deleteError: _t("Failed to delete device"),
});
}).done();
}
@@ -132,7 +134,7 @@ export default class DevicesPanelEntry extends React.Component {
deleteButton = (
- Delete
+ { _t("Delete") }
);
}
diff --git a/src/createRoom.js b/src/createRoom.js
index 674fe23d28..0a21f68208 100644
--- a/src/createRoom.js
+++ b/src/createRoom.js
@@ -17,6 +17,7 @@ limitations under the License.
var MatrixClientPeg = require('./MatrixClientPeg');
var Modal = require('./Modal');
var sdk = require('./index');
+import { _t } from './languageHandler';
var dis = require("./dispatcher");
var Rooms = require("./Rooms");
@@ -43,8 +44,8 @@ function createRoom(opts) {
if (client.isGuest()) {
setTimeout(()=>{
Modal.createDialog(NeedToRegisterDialog, {
- title: "Please Register",
- description: "Guest users can't create new rooms. Please register to create room and start a chat."
+ title: _t('Please Register'),
+ description: _t('Guest users can\'t create new rooms. Please register to create room and start a chat') + '.'
});
}, 0);
return q(null);
@@ -104,8 +105,8 @@ function createRoom(opts) {
}, function(err) {
console.error("Failed to create room " + roomId + " " + err);
Modal.createDialog(ErrorDialog, {
- title: "Failure to create room",
- description: "Server may be unavailable, overloaded, or you hit a bug.",
+ title: _t("Failure to create room"),
+ description: _t("Server may be unavailable, overloaded, or you hit a bug") + ".",
});
return null;
});
diff --git a/src/i18n/strings/basefile.json b/src/i18n/strings/basefile.json
new file mode 100644
index 0000000000..9e26dfeeb6
--- /dev/null
+++ b/src/i18n/strings/basefile.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/i18n/strings/da.json b/src/i18n/strings/da.json
new file mode 100644
index 0000000000..72e0ae60c2
--- /dev/null
+++ b/src/i18n/strings/da.json
@@ -0,0 +1,215 @@
+{
+ "Filter room members": "Filter medlemmer",
+ "You have no visible notifications": "Du har ingen synlige meddelelser",
+ "Invites": "Invitationer",
+ "Favourites": "Favoritter",
+ "People": "Personilg chat",
+ "Rooms": "Rum",
+ "Low priority": "Lav prioritet",
+ "Historical": "Historisk",
+ "New passwords must match each other.": "Nye adgangskoder skal matche hinanden.",
+ "A new password must be entered.": "Der skal indtastes en ny adgangskode.",
+ "The email address linked to your account must be entered.": "Den emailadresse, der tilhører til din adgang, skal indtastes.",
+ "Failed to send email: ": "Kunne ikke sende e-mail: ",
+ "unknown device": "ukendt enhed",
+ "NOT verified": "IKKE verificeret",
+ "Blacklisted": "blokeret",
+ "verified": "verificeret",
+ "Name": "Navn",
+ "Device ID": "Enheds-ID",
+ "Verification": "Verifikation",
+ "Ed25519 fingerprint": "Ed25519 fingerprint",
+ "User ID": "Bruger ID",
+ "Curve25519 identity key": "Curve25519 identitetsnøgle",
+ "Claimed Ed25519 fingerprint key": "Påstået Ed25519 fingeraftryk nøgle",
+ "none": "ingen",
+ "Algorithm": "Algoritme",
+ "unencrypted": "ukrypteret",
+ "Decryption error": "Dekrypteringsfejl",
+ "Session ID": "Sessions ID",
+ "End-to-end encryption information": "End-to-end krypterings oplysninger",
+ "Event information": "Hændelses information",
+ "Sender device information": "Afsende enheds-oplysning",
+ "Displays action": "Viser handling",
+ "Bans user with given id": "Forbyder bruger med givet id",
+ "Deops user with given id": "Fjerner OP af bruger med givet id",
+ "Invites user with given id to current room": "Inviterer bruger med givet id til nuværende rum",
+ "Joins room with given alias": "Kommer ind i rum med givet alias",
+ "Kicks user with given id": "Smid bruger med givet id ud",
+ "Changes your display nickname": "Ændrer dit visningsnavn",
+ "Searches DuckDuckGo for results": "Søger DuckDuckGo for resultater",
+ "Commands": "kommandoer",
+ "Emoji": "Emoji",
+ "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar.": "Kan ikke oprette forbindelse til hjemmeserver via HTTP, når en HTTPS-URL er i din browserbjælke.",
+ "Sorry, this homeserver is using a login which is not recognised ": "Beklager, denne homeerver bruger et login, der ikke kan genkendes ",
+ "Login as guest": "Log ind som gæst",
+ "Return to app": "Tilbage til app",
+ "Sign in": "Log ind",
+ "Create a new account": "Oprette en ny bruger",
+ "Send an encrypted message": "Send en krypteret meddelelse",
+ "Send a message (unencrypted)": "Send en meddelelse (ukrypteret)",
+ "Warning!": "Advarsel!",
+ "accept": "acceptere",
+ "accepted an invitation": "Godkendt en invitation",
+ "accepted the invitation for": "Accepteret invitationen til",
+ "Account": "Konto",
+ "Add email address": "Tilføj e-mail-adresse",
+ "Add phone number": "Tilføj telefonnummer",
+ "Admin": "Administrator",
+ "Advanced": "Avanceret",
+ "all room members": "Alle rum medlemmer",
+ "all room members, from the point they are invited": "Alle rum medlemmer, siden invitations-tidspunkt",
+ "all room members, from the point they joined": "Alle rum medlemmer, siden de deltog",
+ "an address": "en adresse",
+ "and": "og",
+ "An email has been sent to": "En e-mail blev sendt til",
+ "answered the call.": "svarede på kaldet",
+ "anyone.": "alle",
+ "Anyone who knows the room's link, apart from guests": "Alle der kender link til rummet, bortset fra gæster",
+ "Anyone who knows the room's link, including guests": "Alle der kender link til rummet, inklusiv gæster",
+ "Are you sure you want to leave the room?": "Er du sikker på du vil forlade rummet?",
+ "Are you sure you want to reject the invitation?": "Er du sikker på du vil afvise invitationen?",
+ "Are you sure you want upload the following files?": "Er du sikker på du vil sende de følgende filer?",
+ "banned": "bortvist",
+ "Banned users": "Bortviste brugere",
+ "Bug Report": "Fejlrapport",
+ "Bulk Options": "Masseindstillinger",
+ "Can't connect to homeserver - please check your connectivity and ensure your": "Kan ikke oprette forbindelse til homeserver - Kontroller din forbindelse og sørg for din ",
+ "Can't load user settings": "Kan ikke indlæse brugerindstillinger",
+ "changed avatar": "Ændret avatar",
+ "changed name": "Ændret navn",
+ "changed their display name from": "Ændret deres visningsnavn fra",
+ "changed their profile picture": "Ændret deres profilbillede",
+ "changed the power level of": "Ændret effektniveauet på",
+ "changed the room name to": "Ændrede rumnavnet til",
+ "changed the topic to": "Ændret emnet til",
+ "Changes to who can read history will only apply to future messages in this room": "Ændringer til hvem der kan læse historie gælder kun for fremtidige meddelelser i dette rum",
+ "Clear Cache and Reload": "Ryd cache og genindlæs",
+ "Clear Cache": "Ryd cache",
+ "Click here": "Klik her",
+ "Click here to fix": "Klik her for at rette",
+ "*️⃣ Commands": "kommandoer",
+ "Confirm your new password": "Bekræft din nye adgangskode",
+ "Continue": "fortsætte",
+ "Could not connect to the integration server": "Kunne ikke oprette forbindelse til integrationsserveren",
+ "Create an account": "Opret en brugerkonto",
+ "Create Room": "Opret rum",
+ "Cryptography": "Kryptografi",
+ "Deactivate Account": "Deaktiver brugerkonto",
+ "Deactivate my account": "Deaktiver min brugerkonto",
+ "decline": "nedgang",
+ "Default": "Standard",
+ "demote": "degradere",
+ "Devices will not yet be able to decrypt history from before they joined the room": "Enhederne vil ikke være i stand til at dekryptere historikken fra, før de kom til rummet",
+ "Direct Chat": "Personligt Chat",
+ "Disable inline URL previews by default": "Deaktiver forrige weblinks forhåndsvisninger som standard",
+ "Display name": "Visningsnavn",
+ "Email Address": "Email adresse",
+ "Email, name or matrix ID": "E-mail, navn eller matrix-id",
+ "Encrypted messages will not be visible on clients that do not yet implement encryption": "Krypterede meddelelser vil ikke være synlige på klienter, der endnu ikke implementerer kryptering",
+ "Encrypted room": "Krypteret rummet",
+ "Encryption is enabled in this room": "Kryptering er aktiveret i dette rum",
+ "Encryption is not enabled in this room": "Kryptering er ikke aktiveret i dette rum",
+ "ended the call.": "Afsluttede opkaldet.",
+ "End-to-end encryption is in beta and may not be reliable": "End-to-end kryptering er i beta og kan ikke være pålidelig",
+ "Error": "Fejl",
+ "Export E2E room keys": "Eksporter E2E rum nøgler",
+ "Failed to change password. Is your password correct?": "Kunne ikke ændre adgangskode. Er din adgangskode korrekt?",
+ "Failed to forget room": "Kunne ikke glemme rummet",
+ "Failed to leave room": "Kunne ikke forlade rum",
+ "Failed to reject invitation": "Kunne ikke afvise invitationen",
+ "Failed to send email": "Kunne ikke sende e-mail",
+ "Failed to set avatar.": "Kunne ikke angive avatar.",
+ "Failed to unban": "Var ikke i stand til at ophæve forbuddet",
+ "Favourite": "Favorit",
+ "Notifications": "Meddelser",
+ "Please Register": "Vær venlig at registrere",
+ "Remove": "Fjerne",
+ "Settings": "Indstillinger",
+ "unknown error code": "Ukendt fejlkode",
+ "en": "Engelsk",
+ "pt-br": "Brasiliansk Portugisisk",
+ "de": "Tysk",
+ "da": "Dansk",
+ "ru": "Russisk",
+ "%(targetName)s accepted an invitation": "%(targetName)s accepterede en invitation",
+ "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s accepteret invitationen til %(displayName)s.",
+ "%(names)s and %(lastPerson)s are typing": "%(names)s og %(lastPerson)s er ved at skrive",
+ "%(names)s and one other are typing": "%(names)s og den anden skriver",
+ "%(names)s and %(count)s others are typing": "%(names)s og %(count)s andre skriver",
+ "%(senderName)s answered the call.": "%(senderName)s besvarede opkaldet.",
+ "af": "Afrikaans",
+ "ar-eg": "Arabisk (Egypten)",
+ "ar-ma": "Arabisk (Marokko)",
+ "ar-sa": "Arabisk (Saudiarabien",
+ "ar-sy": "Arabisk (Syrien)",
+ "be": "Hviderussisk",
+ "bg": "Bulgarisk",
+ "ca": "Katalansk",
+ "cs": "Tjekkisk",
+ "de-at": "Tysk (Østrig)",
+ "de-ch": "Tysk (Schweitz)",
+ "el": "Græsk",
+ "en-au": "Engelsk (Australien)",
+ "en-ca": "Engelsk (Canada)",
+ "en-ie": "Engelsk (Irland)",
+ "en-nz": "Engelsk (New Zealand)",
+ "en-us": "Engelsk (USA)",
+ "en-za": "Engelsk (Sydafrika)",
+ "es-ar": "Spansk (Argentina)",
+ "es-bo": "Spansk (Bolivia)",
+ "es-cl": "Spansk (Chile)",
+ "es-ec": "Spansk (Ecuador)",
+ "es-hn": "Spansk (Honduras)",
+ "es-mx": "Spansk (Mexico)",
+ "es-ni": "Spansk (Nicaragua)",
+ "es-py": "Spansk (Paraguay)",
+ "es": "Spansk (Spanien)",
+ "es-uy": "Spansk (Uruguay)",
+ "es-ve": "Spansk (Venezuela)",
+ "et": "Estonsk",
+ "fa": "Farsi",
+ "fi": "Finsk",
+ "fr-be": "Fransk (Belgien)",
+ "fr-ca": "Fransk (Canada)",
+ "fr-ch": "Fransk (Schweitz)",
+ "fr": "French",
+ "ga": "Irsk",
+ "he": "Hebræisk",
+ "hi": "Hindi",
+ "hr": "Kroatisk",
+ "hu": "Ungarsk",
+ "id": "Indonesisk",
+ "is": "Islandsk",
+ "it": "Italian",
+ "ja": "Japansk",
+ "ji": "Yiddish",
+ "lt": "Littauisk",
+ "lv": "Lettisk",
+ "ms": "Malaysisk",
+ "mt": "Maltesisk",
+ "nl": "Dutch",
+ "no": "Norsk",
+ "pl": "Polsk",
+ "pt": "Portuguese",
+ "ro": "Rumænsk",
+ "sb": "Sorbisk",
+ "sk": "Slovakisk",
+ "sl": "Slovensk",
+ "sq": "Albansk",
+ "sr": "Serbisk (Latin)",
+ "sv": "Svensk",
+ "th": "Thai",
+ "tn": "Tswana",
+ "tr": "Tyrkisk",
+ "ts": "Tonga",
+ "uk": "Ukrainsk",
+ "ur": "Urdu",
+ "ve": "Venda",
+ "vi": "Vietnamesisk",
+ "xh": "Xhosa",
+ "zh-cn": "Kinesisk (Folkerepublikken Kina)",
+ "zh-sg": "Kinesisk (Singapore)",
+ "zh-tw": "Kinesisk (Taiwan)",
+ "zu": "Zulu"
+}
diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json
new file mode 100644
index 0000000000..f09ff9f99b
--- /dev/null
+++ b/src/i18n/strings/de_DE.json
@@ -0,0 +1,703 @@
+{
+ "Filter room members": "Raum Benutzer filtern",
+ "You have no visible notifications": "Du hast keine sichtbaren Benachrichtigungen",
+ "Invites": "Einladungen",
+ "Favourites": "Favoriten",
+ "People": "Direkt-Chats",
+ "Rooms": "Räume",
+ "Low priority": "Niedrige Priorität",
+ "Historical": "Historisch",
+ "New passwords must match each other.": "Die neuen Passwörter müssen identisch sein.",
+ "A new password must be entered.": "Es muss ein neues Passwort eingegeben werden.",
+ "The email address linked to your account must be entered.": "Es muss die Email-Adresse eingeben werden, welche zum Account gehört.",
+ "Failed to send email: ": "Email konnte nicht versendet werden: ",
+ "unknown device": "Unbekanntes Gerät",
+ "NOT verified": "NICHT verifiziert",
+ "Blacklisted": "Blockiert",
+ "verified": "verifiziert",
+ "Name": "Name",
+ "Device ID": "Geräte ID",
+ "Verification": "Verifizierung",
+ "Ed25519 fingerprint": "Ed25519 Fingerprint",
+ "User ID": "Benutzer ID",
+ "Curve25519 identity key": "Curve25519 Identity Schlüssel",
+ "Claimed Ed25519 fingerprint key": "Geforderter Ed25519 Fingerprint Schlüssel",
+ "none": "keiner",
+ "Algorithm": "Algorithmus",
+ "unencrypted": "unverschlüsselt",
+ "Decryption error": "Entschlüsselungs Fehler",
+ "Session ID": "Sitzungs-ID",
+ "End-to-end encryption information": "Ende-zu-Ende Verschlüsselungs Informationen",
+ "Event information": "Ereignis Informationen",
+ "Sender device information": "Absender Geräte Informationen",
+ "Displays action": "Zeigt Aktionen an",
+ "Bans user with given id": "Sperrt Benutzer mit der angegebenen ID",
+ "Deops user with given id": "Entfernt OP beim Benutzer mit der angegebenen ID",
+ "Invites user with given id to current room": "Lädt Benutzer mit der angegebenen ID in den aktuellen Raum ein",
+ "Joins room with given alias": "Betrete Raum mit angegebenen Alias",
+ "Kicks user with given id": "Kickt Benutzer mit angegebener ID",
+ "Changes your display nickname": "Ändert deinen angezeigten Nicknamen",
+ "Change Password": "Passwort ändern",
+ "Searches DuckDuckGo for results": "Suche in DuckDuckGo nach Ergebnissen",
+ "Commands": "Kommandos",
+ "Emoji": "Smileys",
+ "Sorry, this homeserver is using a login which is not recognised ": "Entschuldigung, dieser homeserver nutzt eine Anmeldetechnik die nicht bekannt ist ",
+ "Login as guest": "Anmelden als Gast",
+ "Return to app": "Zurück zur Anwendung",
+ "Sign in": "Anmelden",
+ "Create a new account": "Erstelle einen neuen Benutzer",
+ "Send an encrypted message": "Sende eine verschlüsselte Nachricht",
+ "Send a message (unencrypted)": "Sende eine Nachricht (unverschlüsselt)",
+ "Warning!": "Warnung!",
+ "Direct Chat": "Privater Chat",
+ "Error": "Fehler",
+ "accept": "akzeptiere",
+ "accepted an invitation": "Einladung akzeptieren",
+ "accepted the invitation for": "Akzeptierte die Einladung für",
+ "Add email address": "Füge E-Mail-Adresse hinzu",
+ "Advanced": "Erweitert",
+ "all room members, from the point they joined": "Alle Raum-Mitglieder - seitdem sie beigetreten sind",
+ "and": "und",
+ "An email has been sent to": "Eine E-Mail wurde gesendet an",
+ "anyone.": "Jeder",
+ "Anyone who knows the room's link, apart from guests": "Jeder der den Raum-Link kennt - abgesehen von Gästen",
+ "Anyone who knows the room's link, including guests": "Jeder der den Raum-Link kennt - auch Gäste",
+ "Are you sure you want to leave the room?": "Bist du sicher, dass du den Raum verlassen willst?",
+ "Are you sure you want to reject the invitation?": "Bist du sicher, dass die die Einladung ablehnen willst?",
+ "Are you sure you want upload the following files?": "Bist du sicher, dass du die folgenden Dateien hochladen willst?",
+ "banned": "gebannt",
+ "Banned users": "Gebannte Nutzer",
+ "Bug Report": "Fehlerbericht",
+ "changed avatar": "änderte Avatar",
+ "changed their display name from": "änderte seinen Anzeigenamen von",
+ "changed their profile picture": "änderte sein Profilbild",
+ "changed the room name to": "änderte den Raumnamen zu",
+ "changed the topic to": "änderte das Thema zu",
+ "Changes to who can read history will only apply to future messages in this room": "Änderungen bzgl. wer die Historie lesen kann betrifft nur zukünftige Nachrichten in diesem Raum",
+ "Clear Cache and Reload": "Leere Cache und lade neu",
+ "Click here": "Klicke hier",
+ "Confirm your new password": "Bestätige dein neues Passwort",
+ "Continue": "Fortfahren",
+ "Create an account": "Erstelle einen Account",
+ "Create Room": "Erstelle Raum",
+ "Cryptography": "Kryptografie",
+ "Deactivate Account": "Deaktiviere Account",
+ "Deactivate my account": "Deaktiviere meinen Account",
+ "decline": "Ablehnen",
+ "Devices will not yet be able to decrypt history from before they joined the room": "Geräte werden nicht in der Lage sein, die Historie vor dem Beitritt in den Raum zu entschlüsseln",
+ "Display name": "Anzeigename",
+ "Email Address": "E-Mail-Adresse",
+ "Email, name or matrix ID": "E-Mail, Name oder Matrix-ID",
+ "Encrypted messages will not be visible on clients that do not yet implement encryption": "Verschlüsselte Nachrichten werden an Clients nicht sichtbar sein, die Verschlüsselung noch nicht implementiert haben",
+ "Encrypted room": "Verschlüsselter Raum",
+ "Encryption is enabled in this room": "Verschlüsselung ist in diesem Raum aktiviert",
+ "Encryption is not enabled in this room": "Verschlüsselung ist in diesem Raum nicht aktiviert",
+ "ended the call.": "beendete den Anruf.",
+ "End-to-end encryption is in beta and may not be reliable": "Ende-zu-Ende-Verschlüsselung ist im Beta-Status und ist evtl. nicht zuverlässig",
+ "Failed to send email": "Fehler beim Senden der E-Mail",
+ "Account": "Konto",
+ "Add phone number": "Füge Telefonnummer hinzu",
+ "an address": "an Adresse",
+ "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Dein Passwort wurde erfolgreich geändert. Du wirst keine Benachrichtigungen an anderen Geräten empfangen bis du dich dort erneut anmeldest",
+ "all room members": "Alle Raum-Mitglieder",
+ "all room members, from the point they are invited": "Alle Raum-Mitglieder - seitdem sie eingeladen wurden",
+ "answered the call.": "beantwortete den Anruf.",
+ "Can't load user settings": "Kann Nutzereinstellungen nicht laden",
+ "changed name": "änderte Namen",
+ "changed the power level of": "änderte Berechtigungslevel von",
+ "Clear Cache": "Leere Cache",
+ "Click here to fix": "Klicke hier zum reparieren",
+ "*️⃣ Commands": "*️⃣ Befehle",
+ "Default": "Standard",
+ "demote": "Zum zurückstufen",
+ "Export E2E room keys": "Exportiere E2E-Raum-Schlüssel",
+ "Failed to change password. Is your password correct?": "Passwort-Änderung schlug fehl. Ist dein Passwort korrekt?",
+ "Failed to forget room": "Vergessen des Raums schlug fehl",
+ "Failed to leave room": "Fehler beim Verlassen des Raums",
+ "Failed to reject invitation": "Fehler beim Abweisen der Einladung",
+ "Failed to set avatar.": "Fehler beim Setzen des Avatars.",
+ "Failed to unban": "Entbannen fehlgeschlagen",
+ "Failed to upload file": "Dateiupload fehlgeschlagen",
+ "Favourite": "Favorit",
+ "favourite": "Favoriten",
+ "Forget room": "Raum vergessen",
+ "Forgot your password?": "Passwort vergessen?",
+ "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Aus Sicherheitsgründen werden beim Ausloggen alle Ende-zu-Ende-Verschlüsselungsschlüssel von diesem Browser gelöscht. Wenn du in späteren Riot-Sitzungen die Konversationshistorie entschlüsseln möchtest, exportiere bitte deine Schlüssel zur sicheren Verwahrung.",
+ "For security, this session has been signed out. Please sign in again": "Zur Sicherheit wurde diese Sitzung abgemeldet. Bitte melde dich erneut an",
+ "Found a bug?": "Fehler gefunden?",
+ "Guests cannot join this room even if explicitly invited": "Gäste können diesem Raum nicht beitreten auch wenn sie explizit eingeladen werden",
+ "Guests can't set avatars. Please register.": "Gäste können keine Avatare setzen. Bitte registriere dich.",
+ "Guest users can't upload files. Please register to upload.": "Gäste können keine Dateien hochladen. Bitte registrieren um hochzuladen.",
+ "had": "hatte",
+ "Hangup": "Auflegen",
+ "Homeserver is": "Der Homeserver ist",
+ "Identity Server is": "Der Identitätsserver ist",
+ "I have verified my email address": "Ich habe meine E-Mail-Adresse verifiziert",
+ "Import E2E room keys": "Importe E2E-Raum-Schlüssel",
+ "Invalid Email Address": "Ungültige E-Mail-Adresse",
+ "invited": "eingeladen",
+ "Invite new room members": "Lade neue Raum-Mitglieder ein",
+ "is a": "ist ein",
+ "is trusted": "wird vertraut",
+ "I want to sign in with": "Ich möchte mich anmelden mit",
+ "joined and left": "trat bei und ging",
+ "joined": "trat bei",
+ "joined the room": "trat dem Raum bei",
+ "Leave room": "Verlasse Raum",
+ "left and rejoined": "ging(en) und trat(en) erneut bei",
+ "left": "ging",
+ "left the room": "verließ den Raum",
+ "Logged in as": "Angemeldet als",
+ "Logout": "Abmelden",
+ "made future room history visible to": "mache kommende Raum-Historie sichtbar für",
+ "Manage Integrations": "Verwalte Integrationen",
+ "Members only": "Nur Mitglieder",
+ "Mobile phone number": "Mobile Telefonnummer",
+ "Moderator": "Moderator",
+ "my Matrix ID": "Meine Matrix-ID",
+ "Never send encrypted messages to unverified devices from this device": "Niemals verschlüsselte Nachrichten an unverifizierte Geräte von diesem Gerät aus versenden",
+ "Never send encrypted messages to unverified devices in this room from this device": "Niemals verschlüsselte Nachrichten an unverifizierte Geräte in diesem Raum von diesem Gerät aus senden",
+ "New password": "Neues Passwort",
+ "Notifications": "Benachrichtigungen",
+ " (not supported by this browser)": " (von diesem Browser nicht unterstützt)",
+ "
": "",
+ "No users have specific privileges in this room": "Keine Nutzer haben in diesem Raum besondere Berechtigungen",
+ "olm version": "OLM-Version",
+ "Once encryption is enabled for a room it cannot be turned off again (for now)": "Sobald Verschlüsselung für einen Raum aktiviert wird, kann diese (aktuell noch) nicht wieder deaktiviert werden",
+ "Only people who have been invited": "Nur Personen die eingeladen wurden",
+ "or": "oder",
+ "other": "weiteres",
+ "others": "andere",
+ "Password": "Passwort",
+ "Permissions": "Berechtigungen",
+ "Phone": "Telefon",
+ "placed a": "plazierte einen",
+ "Please check your email and click on the link it contains. Once this is done, click continue.": "Bitte prüfen sie ihre E-Mails und klicken sie auf den enthaltenden Link. Anschließend klicke auf \"Fortsetzen\".",
+ "Please Register": "Bitte registrieren",
+ "Privacy warning": "Datenschutzwarnung",
+ "Privileged Users": "Privilegierte Nutzer",
+ "Profile": "Profil",
+ "Refer a friend to Riot": "Lade eine(n) Freund(in) zu Riot ein",
+ "rejected": "abgeleht",
+ "Once you've followed the link it contains, click below": "Nachdem du dem Link gefolgt bist, klicke unten",
+ "rejected the invitation.": "lehnte die Einladung ab.",
+ "Reject invitation": "Einladung ablehnen",
+ "Remove Contact Information?": "Lösche Kontakt-Informationen?",
+ "removed their display name": "löschte den eigenen Anzeigenamen",
+ "Remove": "Entferne",
+ "requested a VoIP conference": "hat eine VoIP-Konferenz angefordert",
+ "Resetting password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved": "Eine Passwortänderung sorgt aktuell dafür, dass alle Ende-zu-Ende-Schlüssel von allen Geräten zurückgesetzt werden. Dadurch wird die verschlüsselte Chat-Historie unlesbar, es sei denn Sie exportieren vorher Ihre Raum-Schlüssel und importieren sie nachher wieder. In Zukunft wird dies verbessert",
+ "restore": "Zum zurücksetzen",
+ "Return to login screen": "Zur Anmeldung zurückkehren",
+ "Room Colour": "Raumfarbe",
+ "Room name (optional)": "Raumname (optional)",
+ "Scroll to unread messages": "Scrolle zu ungelesenen Nachrichten",
+ "Send Invites": "Sende Einladungen",
+ "Send Reset Email": "Sende Rücksetz-E-mail",
+ "sent an image": "sandte ein Bild",
+ "sent an invitation to": "sandte eine Einladung an",
+ "sent a video": "sandte ein Video",
+ "Server may be unavailable or overloaded": "Server könnte nicht verfügbar oder überlastet sein",
+ "set a profile picture": "setzte ein Profilbild",
+ "set their display name to": "setzte den Anzeigenamen auf",
+ "Settings": "Einstellungen",
+ "Signed Out": "Abgemeldet",
+ "Sign out": "Abmelden",
+ "since the point in time of selecting this option": "seitdem diese Option gewählt wird",
+ "since they joined": "seitdem sie beitraten",
+ "since they were invited": "seitdem sie eingeladen wurden",
+ "Someone": "Jemand",
+ "Start a chat": "Starte einen Chat",
+ "Start Chat": "Starte Chat",
+ "Success": "Erfolg",
+ "tag direct chat": "Zum kennzeichnen als direkten Chat",
+ "The default role for new room members is": "Die Standard-Rolle for neue Raum-Mitglieder ist",
+ "their invitations": "ihre Einladungen",
+ "their invitation": "ihre Einladung",
+ "These are experimental features that may break in unexpected ways. Use with caution": "Dies sind experimentelle Funktionen die in unerwarteter Weise Fehler verursachen können. Mit Vorsicht benutzen",
+ "The visibility of existing history will be unchanged": "Die Sichtbarkeit der existenten Historie bleibt unverändert",
+ "This doesn't appear to be a valid email address": "Die scheint keine valide E-Mail-Adresse zu sein",
+ "this invitation?": "diese Einladung?",
+ "This is a preview of this room. Room interactions have been disabled": "Dies ist eine Vorschau dieses Raumes. Raum-Interaktionen wurden deaktiviert",
+ "This room is not accessible by remote Matrix servers": "Dieser Raum ist über entfernte Matrix-Server nicht zugreifbar",
+ "This room's internal ID is": "Die interne ID dieses Raumes ist",
+ "To ban users": "Zum Nutzer bannen",
+ "To configure the room": "Zum Raum konfigurieren",
+ "To invite users into the room": "Zum Nutzer in den Raum einladen",
+ "to join the discussion": "Zum mitdiskutieren",
+ "To kick users": "Zum Nutzer kicken",
+ "Admin": "Administrator",
+ "Server may be unavailable, overloaded, or you hit a bug": "Server könnte nicht verfügbar oder überlastet sein oder du bist auf einen Fehler gestoßen",
+ "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar": "Verbindung zum Homeserver ist über HTTP nicht möglich, wenn HTTPS in deiner Browserleiste steht",
+ "Could not connect to the integration server": "Konnte keine Verbindung zum Integrations-Server herstellen",
+ "Disable inline URL previews by default": "Deaktiviere URL-Vorschau im Chat standardmäßig",
+ "Guests can't use labs features. Please register.": "Gäste können keine Labor-Funktionen nutzen. Bitte registrieren.",
+ "Labs": "Labor",
+ "Show panel": "Zeige Panel",
+ "To redact messages": "Zum Nachrichten verbergen",
+ "Can't connect to homeserver - please check your connectivity and ensure your": "Die Verbindung mit dem Homeserver ist fehlgeschlagen. Bitte überprüfe deine Verbindung und stelle sicher, dass dein(e) ",
+ "tag as": "kennzeichne als",
+ "To reset your password, enter the email address linked to your account": "Um dein Passwort zurückzusetzen, gebe deine E-Mail-Adresse, die mit deinem Account verbunden ist, ein",
+ "To send messages": "Zum Nachrichten senden",
+ "turned on end-to-end encryption (algorithm": "aktivierte Ende-zu-Ende-Verschlüsselung (Algorithmus",
+ "Unable to add email address": "Unfähig die E-Mail-Adresse hinzuzufügen",
+ "Unable to remove contact information": "Unfähig die Kontakt-Informationen zu löschen",
+ "Unable to verify email address": "Unfähig die E-Mail-Adresse zu verifizieren",
+ "Unban": "Entbannen",
+ "Unencrypted room": "Unverschlüsselter Raum",
+ "unknown error code": "Unbekannter Fehlercode",
+ "unknown": "unbekannt",
+ "Upload avatar": "Avatar hochladen",
+ "uploaded a file": "lud eine Datei hoch",
+ "Upload Files": "Dateien hochladen",
+ "Upload file": "Datei hochladen",
+ "User Interface": "Nutzerschnittstelle",
+ "username": "Nutzername",
+ "Users": "Nutzer",
+ "User": "Nutzer",
+ "Verification Pending": "Verifizierung ausstehend",
+ "Video call": "Videoanruf",
+ "Voice call": "Sprachanruf",
+ "VoIP conference finished": "VoIP-Konferenz beendet",
+ "VoIP conference started": "VoIP-Konferenz gestartet",
+ "(warning: cannot be disabled again!)": "(Warnung: Kann nicht wieder deaktiviert werden!)",
+ "was banned": "wurde gebannt",
+ "was invited": "wurde eingeladen",
+ "was kicked": "wurde gekickt",
+ "was unbanned": "wurde entbannt",
+ "was": "wurde",
+ "Who can access this room?": "Wer hat Zugang zu diesem Raum?",
+ "Who can read history?": "Wer kann die Historie lesen?",
+ "Who would you like to add to this room?": "Wen möchtest du zu diesem Raum hinzufügen?",
+ "Who would you like to communicate with?": "Mit wem möchtest du kommunizieren?",
+ "Would you like to": "Möchtest du",
+ "You are trying to access": "Du möchtest Zugang zu %(sth)s bekommen",
+ "You do not have permission to post to this room": "Du hast keine Berechtigung an diesen Raum etwas zu senden",
+ "You have been invited to join this room by %(inviterName)s": "Du wurdest in diesen Raum eingeladen von %(inviterName)s",
+ "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "Du wurdest von allen Geräten ausgeloggt und wirst keine Push-Benachrichtigungen mehr bekommen. Um Benachrichtigungen zu reaktivieren melde dich auf jedem Gerät neu an",
+ "you must be a": "nötige Rolle",
+ "Your password has been reset": "Dein Passwort wurde zurückgesetzt",
+ "You should not yet trust it to secure data": "Du solltest nicht darauf vertrauen um deine Daten abzusichern",
+ "removed their profile picture": "löschte das eigene Profilbild",
+ "times": "mal",
+ "Bulk Options": "Bulk-Optionen",
+ "Call Timeout": "Anruf-Timeout",
+ "Conference call failed": "Konferenzgespräch fehlgeschlagen",
+ "Conference calling is in development and may not be reliable": "Konferenzgespräche sind in Entwicklung und evtl. nicht zuverlässig",
+ "Conference calls are not supported in encrypted rooms": "Konferenzgespräche sind in verschlüsselten Räumen nicht unterstützt",
+ "Conference calls are not supported in this client": "Konferenzgespräche sind in diesem Client nicht unterstützt",
+ "Existing Call": "Existierender Anruf",
+ "Failed to set up conference call": "Aufbau des Konferenzgesprächs fehlgeschlagen",
+ "Failed to verify email address: make sure you clicked the link in the email": "Verifizierung der E-Mail-Adresse fehlgeschlagen: Stelle sicher, dass du den Link in der E-Mail anklicktest",
+ "Failure to create room": "Raumerstellung fehlgeschlagen",
+ "Guest users can't create new rooms. Please register to create room and start a chat": "Gäste können keine neuen Räume erstellen. Bitte registrieren um einen Raum zu erstellen und einen Chat zu starten",
+ "Riot does not have permission to send you notifications - please check your browser settings": "Riot hat keine Berechtigung Benachrichtigungen zu senden - bitte prüfe deine Browser-Einstellungen",
+ "Riot was not given permission to send notifications - please try again": "Riot hat das Recht nicht bekommen Benachrichtigungen zu senden. Bitte erneut probieren",
+ "This email address is already in use": "Diese E-Mail-Adresse wird bereits verwendet",
+ "This email address was not found": "Diese E-Mail-Adresse wurde nicht gefunden",
+ "The file '%(fileName)s' exceeds this home server's size limit for uploads": "Die Datei '%(fileName)s' überschreitet das Größen-Limit für Uploads auf diesem Homeserver",
+ "The file '%(fileName)s' failed to upload": "Das Hochladen der Datei '%(fileName)s' schlug fehl",
+ "The remote side failed to pick up": "Die Gegenstelle konnte nicht abheben",
+ "This phone number is already in use": "Diese Telefonnummer wird bereits verwendet",
+ "Unable to restore previous session": "Frühere Sitzung nicht wiederherstellbar",
+ "Unable to capture screen": "Unfähig den Bildschirm aufzunehmen",
+ "Unable to enable Notifications": "Unfähig Benachrichtigungen zu aktivieren",
+ "Upload Failed": "Upload fehlgeschlagen",
+ "VoIP is unsupported": "VoIP ist nicht unterstützt",
+ "You are already in a call": "Du bist bereits bei einem Anruf",
+ "You cannot place a call with yourself": "Du kannst keinen Anruf mit dir selbst starten",
+ "You cannot place VoIP calls in this browser": "Du kannst kein VoIP-Gespräch in diesem Browser starten",
+ "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience": "Du musst dich erneut anmelden um Ende-zu-Ende-Verschlüsselungscodes für dieses Gerät zu generieren und den öffentl. Schlüssel an deinen Homeserver zu senden. Dies muss einmal gemacht werden. Entschuldige die Unannehmlichkeit",
+ "Your email address does not appear to be associated with a Matrix ID on this Homeserver": "Deine E-Mail-Adresse scheint nicht mit einer Matrix-ID auf diesem Homeserver verknüpft zu sein",
+ "Sun": "So",
+ "Mon": "Mo",
+ "Tue": "Di",
+ "Wed": "Mi",
+ "Thu": "Do",
+ "Fri": "Fr",
+ "Sat": "Sa",
+ "Jan": "Jan",
+ "Feb": "Feb",
+ "Mar": "März",
+ "Apr": "April",
+ "May": "Mai",
+ "Jun": "Juni",
+ "Jul": "Juli",
+ "Aug": "Aug",
+ "Sep": "Sep",
+ "Oct": "Okt",
+ "Nov": "Nov",
+ "Dec": "Dez",
+ "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(day)s. %(monthName)s %(time)s",
+ "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s",
+ "Set a display name:": "Setze einen Anzeigenamen:",
+ "Upload an avatar:": "Lade einen Avatar hoch:",
+ "This server does not support authentication with a phone number.": "Dieser Server unterstützt keine Authentifizierung mittels Telefonnummer.",
+ "Missing password.": "Fehlendes Passwort.",
+ "Passwords don't match.": "Passwörter passen nicht zusammen.",
+ "Password too short (min %(MIN_PASSWORD_LENGTH)s).": "Passwort zu kurz (min. %(MIN_PASSWORD_LENGTH)s).",
+ "This doesn't look like a valid email address.": "Dies sieht nicht nach einer validen E-Mail-Adresse aus.",
+ "This doesn't look like a valid phone number.": "Dies sieht nicht nach einer validen Telefonnummer aus.",
+ "User names may only contain letters, numbers, dots, hyphens and underscores.": "Benutzernamen sollen nur Buchstaben, Nummern, Binde- und Unterstriche enthalten.",
+ "An unknown error occurred.": "Ein unbekannter Fehler trat auf.",
+ "I already have an account": "Ich habe bereits einen Account",
+ "An error occured: %(error_string)s": "Ein Fehler trat auf: %(error_string)s",
+ "Topic": "Thema",
+ "Make this room private": "Mache diesen Raum privat",
+ "Share message history with new users": "Teile Nachrichtenhistorie mit neuen Nutzern",
+ "Encrypt room": "Entschlüssele Raum",
+ "To send events of type": "Zum Senden von Ereignissen mit Typ",
+ "%(names)s and %(lastPerson)s are typing": "%(names)s und %(lastPerson)s schreiben",
+ "%(targetName)s accepted an invitation": "%(targetName)s akzeptierte eine Einladung",
+ "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s akzeptierte eine Einladung für %(displayName)s.",
+ "%(names)s and one other are typing": "%(names)s und eine weitere Person tippen",
+ "%(names)s and %(count)s others are typing": "%(names)s und %(count)s weitere Personen tippen",
+ "%(senderName)s answered the call.": "%(senderName)s beantwortete den Anruf.",
+ "%(senderName)s banned %(targetName)s.": "%(senderName)s bannte %(targetName)s.",
+ "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s": "%(senderName)s änderte den Anzeigenamen von %(oldDisplayName)s zu %(displayName)s",
+ "%(senderName)s changed their profile picture": "%(senderName)s änderte das Profilbild",
+ "%(senderName)s changed the power level of %(powerLevelDiffText)s": "%(senderName)s änderte das Berechtigungslevel von %(powerLevelDiffText)s",
+ "%(senderDisplayName)s changed the room name to %(roomName)s": "%(senderDisplayName)s änderte den Raumnamen zu %(roomName)s",
+ "%(senderDisplayName)s changed the topic to %(topic)s": "%(senderDisplayName)s änderte das Thema zu %(topic)s",
+ "/ddg is not a command": "/ddg ist kein Kommando",
+ "%(senderName)s ended the call": "%(senderName)s beendete den Anruf",
+ "Failed to lookup current room": "Aktuellen Raum nachzuschlagen schlug fehl",
+ "Failed to send request.": "Anfrage zu senden schlug fehl.",
+ "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s von %(fromPowerLevel)s zu %(toPowerLevel)s",
+ "%(senderName)s invited %(targetName)s.": "%(senderName)s lud %(targetName)s ein.",
+ "%(displayName)s is typing": "%(displayName)s tippt",
+ "%(targetName)s joined the room.": "%(targetName)s trat dem Raum bei.",
+ "%(senderName)s kicked %(targetName)s.": "%(senderName)s kickte %(targetName)s.",
+ "%(targetName)s left the room.": "%(targetName)s verließ den Raum.",
+ "%(senderName)s made future room history visible to": "%(senderName)s machte die zukünftige Raumhistorie sichtbar für",
+ "Missing room_id in request": "Fehlende room_id in Anfrage",
+ "Missing user_id in request": "Fehlende user_id in Anfrage",
+ "Must be viewing a room": "Muss einen Raum ansehen",
+ "New Composer & Autocomplete": "Neuer Eingabeverarbeiter & Autovervollständigung",
+ "(not supported by this browser)": "(nicht von diesem Browser unterstützt)",
+ "%(senderName)s placed a %(callType)s call.": "%(senderName)s startete einen %(callType)s-Anruf.",
+ "Power level must be positive integer.": "Berechtigungslevel muss eine positive Zahl sein.",
+ "Reason": "Grund",
+ "%(targetName)s rejected the invitation.": "%(targetName)s lehnte die Einladung ab.",
+ "%(senderName)s removed their display name (%(oldDisplayName)s)": "%(senderName)s löschte den Anzeigenamen (%(oldDisplayName)s)",
+ "%(senderName)s removed their profile picture": "%(senderName)s löschte das Profilbild",
+ "%(senderName)s requested a VoIP conference": "%(senderName)s fragte nach einer VoIP-Konferenz",
+ "Room %(roomId)s not visible": "Raum %(roomId)s ist nicht sichtbar",
+ "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s hat ein Bild gesendet.",
+ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s sandte eine Einladung an %(targetDisplayName)s um diesem Raum beizutreten.",
+ "%(senderName)s set a profile picture": "%(senderName)s setzte ein Profilbild",
+ "%(senderName)s set their display name to %(displayName)s": "%(senderName)s setzte den Anzeigenamen zu %(displayName)s",
+ "This room is not recognised.": "Dieser Raum wurde nicht erkannt.",
+ "These are experimental features that may break in unexpected ways": "Dies sind experimentelle Funktionen, die in unerwarteter Weise Fehler verursachen können",
+ "To use it, just wait for autocomplete results to load and tab through them.": "Um dies zu nutzen, warte auf die Autovervollständigungsergebnisse und benutze die TAB Taste.",
+ "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s)": "%(senderName)s schaltete Ende-zu-Ende-Verschlüsselung ein (Algorithmus: %(algorithm)s)",
+ "%(senderName)s unbanned %(targetName)s.": "%(senderName)s zog Bann für %(targetName)s zurück.",
+ "Usage": "Verwendung",
+ "Use with caution": "Mit Vorsicht benutzen",
+ "%(senderName)s withdrew %(targetName)s's inivitation.": "%(senderName)s zog die Einladung für %(targetName)s zurück.",
+ "You need to be able to invite users to do that.": "Du musst in der Lage sein Nutzer einzuladen um dies zu tun.",
+ "You need to be logged in.": "Du musst angemeldet sein.",
+ "There are no visible files in this room": "Es gibt keine sichtbaren Dateien in diesem Raum",
+ "Error changing language": "Fehler beim Ändern der Sprache",
+ "Riot was unable to find the correct Data for the selected Language.": "Riot war nicht in der Lage die korrekten Daten für die ausgewählte Sprache zu finden.",
+ "Connectivity to the server has been lost.": "Verbindung zum Server untergebrochen.",
+ "Sent messages will be stored until your connection has returned.": "Gesendete Nachrichten werden gespeichert bis die Verbindung wiederhergestellt wurde.",
+ "Auto-complete": "Autovervollständigung",
+ "Resend all": "Alles erneut senden",
+ "cancel all": "alles abbrechen",
+ "now. You can also select individual messages to resend or cancel.": "jetzt. Du kannst auch einzelne Nachrichten zum erneuten Senden oder Abbrechen auswählen.",
+ "Active call": "Aktiver Anruf",
+ "withdrawn": "zurückgezogen",
+ "To link to a room it must have": "Um einen Raum zu verlinken, benötigt er",
+ "were": "wurden",
+ "en": "Englisch",
+ "pt-br": "Portugisisch (Brasilien)",
+ "de": "Deutsch",
+ "da": "Dänisch",
+ "ru": "Russisch",
+ "Drop here %(toAction)s": "Hierher ziehen: %(toAction)s",
+ "Drop here to tag %(section)s": "Hierher ziehen: %(section)s taggen",
+ "Press": "Drücke",
+ "tag as %(tagName)s": "als %(tagName)s taggen",
+ "to browse the directory": "um das Verzeichnis anzusehen",
+ "to demote": "um die Priorität herabzusetzen",
+ "to favourite": "zum Favorisieren",
+ "to make a room or": "um einen Raum zu erstellen, oder",
+ "to restore": "zum wiederherstellen",
+ "to start a chat with someone": "um einen Chat mit jemandem zu starten",
+ "to tag direct chat": "als direkten Chat markieren",
+ "You're not in any rooms yet! Press": "Du bist noch keinem Raum beigetreten! Drücke",
+ "click to reveal": "Klicke zum anzeigen",
+ "To redact other users' messages": "Um Nachrichten anderer zu verbergen",
+ "You are trying to access %(roomName)s": "Du versuchst auf %(roomName)s zuzugreifen",
+ "af": "Afrikaans",
+ "ar-ae": "Arabisch (U.A.E.)",
+ "ar-bh": "Arabisch (Bahrain)",
+ "ar-dz": "Arabisch (Algeria)",
+ "ar-eg": "Arabisch (Ägypten)",
+ "ar-iq": "Arabisch (Irak)",
+ "ar-jo": "Arabisch (Jordanien)",
+ "ar-kw": "Arabisch (Kuwait)",
+ "ar-lb": "Arabisch (Libanon)",
+ "ar-ly": "Arabisch (Lybien)",
+ "ar-ma": "Arabisch (Marokko)",
+ "ar-om": "Arabisch (Oman)",
+ "ar-qa": "Arabisch (Qatar)",
+ "ar-sa": "Arabisch (Saudi Arabien)",
+ "ar-sy": "Arabisch (Syrien)",
+ "ar-tn": "Arabisch (Tunisien)",
+ "ar-ye": "Arabisch (Yemen)",
+ "be": "Weißrussisch",
+ "bg": "Bulgarisch",
+ "cs": "Tschechisch",
+ "de-at": "Deutsch (Österreich)",
+ "de-ch": "Deutsch (Schweiz)",
+ "de-li": "Deutsch (Liechtenstein)",
+ "de-lu": "Deutsch (Luxemburg)",
+ "el": "Griechisch",
+ "en-au": "Englisch (Australien)",
+ "en-bz": "Englisch (Belize)",
+ "en-ca": "Englisch (Kanada)",
+ "en-gb": "Englisch (Vereintes Königreich)",
+ "en-ie": "Englisch (Irland)",
+ "en-jm": "Englisch (Jamaika)",
+ "en-nz": "Englisch (Neuseeland)",
+ "en-tt": "Englisch (Trinidad)",
+ "en-us": "Englisch (Vereinigte Staaten)",
+ "en-za": "Englisch (Süd-Afrika)",
+ "es-ar": "Spanisch (Argentinien)",
+ "es-bo": "Spanisch (Bolivien)",
+ "es-cl": "Spanisch (Chile)",
+ "es-co": "Spanisch (Kolombien)",
+ "es-cr": "Spanisch (Costa Rica)",
+ "es-do": "Spanisch (Dominikanische Republik)",
+ "es-ec": "Spanisch (Ecuador)",
+ "es-gt": "Spanisch (Guatemala)",
+ "es-hn": "Spanisch (Honduras)",
+ "es-mx": "Spanisch (Mexico)",
+ "es-ni": "Spanisch (Nicaragua)",
+ "es-pa": "Spanisch (Panama)",
+ "es-pe": "Spanisch (Peru)",
+ "es-pr": "Spanisch (Puerto Rico)",
+ "es-py": "Spanisch (Paraguay)",
+ "es": "Spanisch (Spanien)",
+ "es-sv": "Spanisch (El Salvador)",
+ "es-uy": "Spanisch (Uruguay)",
+ "es-ve": "Spanisch (Venezuela)",
+ "et": "Estländisch",
+ "eu": "Baskisch (Baskenland)",
+ "fa": "Persisch (Farsi)",
+ "fr-be": "Französisch (Belgien)",
+ "fr-ca": "Französisch (Kanada)",
+ "fr-ch": "Französisch (Schweiz)",
+ "fr": "Französisch",
+ "fr-lu": "Französisch (Luxemburg)",
+ "gd": "Gälisch (Schottland)",
+ "he": "Hebräisch",
+ "hr": "Kroatisch",
+ "hu": "Ungarisch",
+ "id": "Indonesisch",
+ "is": "Isländisch",
+ "it-ch": "Italienisch (Schweiz)",
+ "it": "Italienisch",
+ "ja": "Japanisch",
+ "ji": "Jiddisch",
+ "ko": "Koreanisch (Johab)",
+ "lt": "Litauisch",
+ "lv": "lettisch",
+ "mk": "Mazedonisch (FYROM)",
+ "ms": "Malaysisch",
+ "mt": "Maltesisch",
+ "nl-be": "Niederländisch (Belgien)",
+ "nl": "Niederländisch",
+ "no": "Norwegisch",
+ "pl": "Polnisch",
+ "pt": "Portugiesisch",
+ "rm": "Rätoromanisch",
+ "ro-mo": "Rumänisch (Republik von Moldavien)",
+ "ro": "Romanian",
+ "ru-mo": "Russisch",
+ "sb": "Sorbian",
+ "sk": "Slowakisch",
+ "sl": "Slowenisch",
+ "sq": "Albanisch",
+ "sr": "Serbisch (lateinisch)",
+ "sv-fi": "Schwedisch (Finnland)",
+ "sv": "Schwedisch",
+ "sx": "Sutu",
+ "sz": "Samisch (Lappish)",
+ "th": "Thailändisch",
+ "tn": "Setswana",
+ "tr": "Türkisch",
+ "ts": "Tsonga",
+ "uk": "Ukrainisch",
+ "ur": "Urdu",
+ "ve": "Tshivenda",
+ "vi": "Vietnamesisch",
+ "zh-cn": "Chinesisch (PRC)",
+ "zh-hk": "Chinesisch (Hong Kong SAR)",
+ "zh-sg": "Chinesisch (Singapur)",
+ "zh-tw": "Chinesisch (Taiwan)",
+ "zu": "Zulu",
+ "ca": "katalanisch",
+ "fi": "Finnish",
+ "fo": "Färöisch",
+ "ga": "Irisch",
+ "hi": "Hindi",
+ "xh": "Xhosa",
+ "Monday": "Montag",
+ "Tuesday": "Dienstag",
+ "Wednesday": "Mittwoch",
+ "Thursday": "Donnerstag",
+ "Friday": "Freitag",
+ "Saturday": "Samstag",
+ "Sunday": "Sonntag",
+ "Failed to forget room %(errCode)s": "Das Entfernen des Raums %(errCode)s aus deiner Liste ist fehlgeschlagen",
+ "Failed to join the room": "Fehler beim Betreten des Raumes",
+ "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains": "Eine Textnachricht wurde an +%(msisdn)s gesendet. Bitte gebe den Verifikationscode ein, den er beinhaltet",
+ "and %(overflowCount)s others...": "und %(overflowCount)s weitere...",
+ "and one other...": "und ein(e) weitere(r)...",
+ "Are you sure?": "Bist du sicher?",
+ "Attachment": "Anhang",
+ "Ban": "Banne",
+ "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Kann nicht zum Heimserver verbinden - bitte checke eine Verbindung und stelle sicher, dass dem %(urlStart)s SSL-Zertifikat deines Heimservers %(urlEnd)s vertraut wird",
+ "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Kann nicht zum Heimserver via HTTP verbinden, wenn eine HTTPS-Url in deiner Adresszeile steht. Nutzer HTTPS oder %(urlStart)s aktiviere unsichere Skripte %(urlEnd)s",
+ "changing room on a RoomView is not supported": "Das Ändern eines Raumes in einer RaumAnsicht wird nicht unterstützt",
+ "Click to mute audio": "Klicke um den Ton stumm zu stellen",
+ "Click to mute video": "Klicke um das Video stumm zu stellen",
+ "Command error": "Befehlsfehler",
+ "Decrypt %(text)s": "Entschlüssele %(text)s",
+ "Delete": "Lösche",
+ "Devices": "Geräte",
+ "Direct chats": "Direkte Chats",
+ "Disinvite": "Ausladen",
+ "Download %(text)s": "%(text)s herunterladen",
+ "Enter Code": "Code eingeben",
+ "Failed to ban user": "Bannen des Nutzers fehlgeschlagen",
+ "Failed to change power level": "Ändern des Berechtigungslevels fehlgeschlagen",
+ "Failed to delete device": "Löschen des Geräts fehlgeschlagen",
+ "Failed to join room": "Raumbeitritt fehlgeschlagen",
+ "Failed to kick": "Kicken fehlgeschlagen",
+ "Failed to mute user": "Nutzer lautlos zu stellen fehlgeschlagen",
+ "Failed to reject invite": "Einladung abzulehnen fehlgeschlagen",
+ "Failed to save settings": "Einstellungen speichern fehlgeschlagen",
+ "Failed to set display name": "Anzeigenamen zu ändern fehlgeschlagen",
+ "Fill screen": "Fülle Bildschirm",
+ "Guest users can't upload files. Please register to upload": "Gäste können Dateien nicht hochlagen. Bitte registrieren um hochzuladen",
+ "Hide Text Formatting Toolbar": "Verberge Text-Formatierungs-Toolbar",
+ "Incorrect verification code": "Verifikationscode inkorrekt",
+ "Invalid alias format": "Ungültiges Alias-Format",
+ "Invalid address format": "Ungültiges Adressformat",
+ "'%(alias)s' is not a valid format for an address": "'%(alias)s' ist kein valides Adressformat",
+ "'%(alias)s' is not a valid format for an alias": "'%(alias)s' hat kein valides Aliasformat",
+ "Join Room": "Raum beitreten",
+ "Kick": "Kicke",
+ "Level": "Level",
+ "Local addresses for this room:": "Lokale Adressen dieses Raumes:",
+ "Markdown is disabled": "Markdown ist deaktiviert",
+ "Markdown is enabled": "Markdown ist aktiviert",
+ "Message not sent due to unknown devices being present": "Nachrichten wurden nicht gesendet, da unbekannte Geräte anwesend sind",
+ "New address (e.g. #foo:%(localDomain)s)": "Neue Adresse (z.B. #foo:%(localDomain)s)",
+ "not set": "nicht gesetzt",
+ "not specified": "nicht spezifiziert",
+ "No devices with registered encryption keys": "Keine Geräte mit registrierten Verschlüsselungsschlüsseln",
+ "No more results": "Keine weiteren Ergebnisse",
+ "No results": "Keine Ergebnisse",
+ "OK": "OK",
+ "Revoke Moderator": "Moderator zurückziehen",
+ "Search": "Suche",
+ "Search failed": "Suche fehlgeschlagen",
+ "Server error": "Serverfehler",
+ "Server may be unavailable, overloaded, or search timed out :(": "Server ist entweder nicht verfügbar, überlastet oder die Suchezeit ist abgelaufen :(",
+ "Server may be unavailable, overloaded, or the file too big": "Server ist entweder nicht verfügbar, überlastet oder die Datei ist zu groß",
+ "Server unavailable, overloaded, or something else went wrong": "Server ist entweder nicht verfügbar, überlastet oder etwas anderes schlug fehl",
+ "Some of your messages have not been sent": "Einige deiner Nachrichten wurden noch nicht gesendet",
+ "Submit": "Absenden",
+ "The main address for this room is: %(canonical_alias_section)s": "Die Hauptadresse für diesen Raum ist: %(canonical_alias_section)s",
+ "This action cannot be performed by a guest user. Please register to be able to do this": "Diese Aktion kann nicht von einem Gast ausgeführt werden. Bitte registriere dich um dies zu tun",
+ "%(actionVerb)s this person?": "Diese Person %(actionVerb)s?",
+ "This room has no local addresses": "Dieser Raum hat keine lokale Adresse",
+ "This room is private or inaccessible to guests. You may be able to join if you register": "Dieser Raum ist privat oder für Gäste nicht zugreifbar. Du kannst evtl. zugreifen, wenn du dich registrierst",
+ "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question": "Versuchte einen spezifischen Punkt in der Raum-Chronik zu laden, aber du hast keine Berechtigung die angeforderte Nachricht anzuzeigen",
+ "Tried to load a specific point in this room's timeline, but was unable to find it": "Versuchte einen spezifischen Punkt in der Raum-Chronik zu laden, aber er konnte nicht gefunden werden",
+ "Turn Markdown off": "Markdown abschalten",
+ "Turn Markdown on": "Markdown einschalten",
+ "Unable to load device list": "Laden der Geräteliste nicht möglich",
+ "Unknown command": "Unbekannter Befehl",
+ "Unknown room %(roomId)s": "Unbekannter Raum %(roomId)s",
+ "Usage: /markdown on|off": "Verwendung: /markdown on|off",
+ "You seem to be in a call, are you sure you want to quit?": "Du scheinst in einem Anruf zu sein. Bist du sicher schließen zu wollen?",
+ "You seem to be uploading files, are you sure you want to quit?": "Du scheinst Dateien hochzuladen. Bist du sicher schließen zu wollen?",
+ "You will not be able to undo this change as you are promoting the user to have the same power level as yourself": "Du wirst nicht in der Lage sein, diese Änderung zu ändern da den Nutzer auf dasselbe Berechtigungslevel wie du hebst",
+ "Make Moderator": "Mache zum Moderator",
+ "Room": "Raum",
+ "(~%(searchCount)s results)": "(~%(searchCount)s Ergebnisse)",
+ "Cancel": "Abbrechen",
+ "bold": "fett",
+ "italic": "kursiv",
+ "strike": "durchstreichen",
+ "underline": "unterstreichen",
+ "code": "Code",
+ "quote": "Zitat",
+ "bullet": "Aufzählung",
+ "Click to unmute video": "Klicke um Video zu reaktivieren",
+ "Click to unmute audio": "Klicke um Ton zu reaktivieren",
+ "Failed to load timeline position": "Laden der Position im Zeitstrahl fehlgeschlagen",
+ "Failed to toggle moderator status": "Umschalten des Moderatorstatus fehlgeschlagen",
+ "Enable encryption": "Verschlüsselung aktivieren",
+ "The main address for this room is": "Die Hauptadresse für diesen Raum ist",
+ "Autoplay GIFs and videos": "Automatisch GIF's und Videos abspielen",
+ "Don't send typing notifications": "Nicht senden, wenn ich tippe",
+ "Hide read receipts": "Verberge Lesebestätigungen",
+ "Never send encrypted messages to unverified devices in this room": "In diesem Raum keine verschlüsselten Nachrichten an unverifizierte Geräte senden",
+ "numbullet": "Nummerierung",
+ "%(items)s and %(remaining)s others": "%(items)s und %(remaining)s weitere",
+ "%(items)s and one other": "%(items)s und ein(e) weitere(r)",
+ "%(items)s and %(lastItem)s": "%(items)s und %(lastItem)s",
+ "%(severalUsers)sjoined %(repeats)s times": "%(severalUsers)strat(en) %(repeats)s mal bei",
+ "%(oneUser)sjoined %(repeats)s times": "%(oneUser)strat %(repeats)s mal bei",
+ "%(severalUsers)sjoined": "%(severalUsers)straten bei",
+ "%(oneUser)sjoined": "%(oneUser)strat bei",
+ "%(severalUsers)sleft %(repeats)s times": "%(severalUsers)sgingen %(repeats)s mal",
+ "%(oneUser)sleft %(repeats)s times": "%(oneUser)sging %(repeats)s mal",
+ "%(severalUsers)sleft": "%(severalUsers)sgingen",
+ "%(oneUser)sleft": "%(oneUser)sging",
+ "%(severalUsers)sjoined and left %(repeats)s times": "%(severalUsers)straten bei und gingen %(repeats)s mal",
+ "%(oneUser)sjoined and left %(repeats)s times": "%(oneUser)strat bei und ging %(repeats)s mal",
+ "%(severalUsers)sjoined and left": "%(severalUsers)straten bei und gingen",
+ "%(oneUser)sjoined and left": "%(oneUser)strat bei und ging",
+ "%(severalUsers)sleft and rejoined %(repeats)s times": "%(severalUsers)sgingen und traten erneut bei - %(repeats)s mal",
+ "%(oneUser)sleft and rejoined %(repeats)s times": "%(oneUser)sging und trat erneut bei - %(repeats)s mal",
+ "%(severalUsers)sleft and rejoined": "%(severalUsers)sgingen und traten erneut bei",
+ "%(oneUser)sleft left and rejoined": "%(oneUser)sging und trat erneut bei",
+ "%(severalUsers)srejected their invitations %(repeats)s times": "%(severalUsers)slehnten %(repeats)s mal ihre Einladung ab",
+ "%(oneUser)srejected their invitation %(repeats)s times": "%(oneUser)slehnte seine/ihre Einladung %(repeats)s mal ab",
+ "%(severalUsers)srejected their invitations": "%(severalUsers)slehnten ihre Einladung ab",
+ "%(oneUser)srejected their invitation": "%(oneUser)slehnte seine/ihre Einladung ab",
+ "%(severalUsers)shad their invitations withdrawn %(repeats)s times": "%(severalUsers)szogen ihre Einladungen %(repeats)s mal zurück",
+ "%(oneUser)shad their invitation withdrawn %(repeats)s times": "%(oneUser)szog seine/ihre Einladung %(repeats)s mal zurück",
+ "%(severalUsers)shad their invitations withdrawn": "%(severalUsers)szogen ihre Einladungen zurück",
+ "%(oneUser)shad their invitation withdrawn": "%(oneUser)szog seine/ihre Einladung zurück",
+ "were invited %(repeats)s times": "wurden %(repeats)s mal eingeladen",
+ "was invited %(repeats)s times": "wurde %(repeats)s mal eingeladen",
+ "were invited": "wurden eingeladen",
+ "were banned %(repeats)s times": "wurden %(repeats)s mal gebannt",
+ "was banned %(repeats)s times": "wurde %(repeats)s mal gebannt",
+ "were banned": "wurden gebannt",
+ "were unbanned %(repeats)s times": "wurden %(repeats)s mal entbannt",
+ "was unbanned %(repeats)s times": "wurde %(repeats)s mal entbannt",
+ "were unbanned": "wurden entbannt",
+ "were kicked %(repeats)s times": "wurden %(repeats)s mal gekickt",
+ "was kicked %(repeats)s times": "wurde %(repeats)s mal gekickt",
+ "were kicked": "wurden gekickt",
+ "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)sänderten %(repeats)s mal ihre Namen",
+ "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)sänderte %(repeats)s mal seinen/ihren Namen",
+ "%(severalUsers)schanged their name": "%(severalUsers)sänderten ihre Namen",
+ "%(oneUser)schanged their name": "%(oneUser)sänderte seinen/ihren Namen",
+ "%(severalUsers)schanged their avatar %(repeats)s times": "%(severalUsers)sänderten %(repeats)s mal ihren Avatar",
+ "%(oneUser)schanged their avatar %(repeats)s times": "%(oneUser)sänderte %(repeats)s mal seinen/ihren Avatar",
+ "%(severalUsers)schanged their avatar": "%(severalUsers)sänderten ihre Avatare",
+ "%(oneUser)schanged their avatar": "%(oneUser)sänderte seinen/ihren Avatar",
+ "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(day)s. %(monthName)s %(fullYear)s %(time)s",
+ "%(oneUser)sleft and rejoined": "%(oneUser)sging und trat erneut bei"
+}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
new file mode 100644
index 0000000000..73ae8c5515
--- /dev/null
+++ b/src/i18n/strings/en_EN.json
@@ -0,0 +1,666 @@
+{
+ "af":"Afrikaans",
+ "ar-ae":"Arabic (U.A.E.)",
+ "ar-bh":"Arabic (Bahrain)",
+ "ar-dz":"Arabic (Algeria)",
+ "ar-eg":"Arabic (Egypt)",
+ "ar-iq":"Arabic (Iraq)",
+ "ar-jo":"Arabic (Jordan)",
+ "ar-kw":"Arabic (Kuwait)",
+ "ar-lb":"Arabic (Lebanon)",
+ "ar-ly":"Arabic (Libya)",
+ "ar-ma":"Arabic (Morocco)",
+ "ar-om":"Arabic (Oman)",
+ "ar-qa":"Arabic (Qatar)",
+ "ar-sa":"Arabic (Saudi Arabia)",
+ "ar-sy":"Arabic (Syria)",
+ "ar-tn":"Arabic (Tunisia)",
+ "ar-ye":"Arabic (Yemen)",
+ "be":"Belarusian",
+ "bg":"Bulgarian",
+ "ca":"Catalan",
+ "cs":"Czech",
+ "da":"Danish",
+ "de-at":"German (Austria)",
+ "de-ch":"German (Switzerland)",
+ "de":"German",
+ "de-li":"German (Liechtenstein)",
+ "de-lu":"German (Luxembourg)",
+ "el":"Greek",
+ "en-au":"English (Australia)",
+ "en-bz":"English (Belize)",
+ "en-ca":"English (Canada)",
+ "en":"English",
+ "en-gb":"English (United Kingdom)",
+ "en-ie":"English (Ireland)",
+ "en-jm":"English (Jamaica)",
+ "en-nz":"English (New Zealand)",
+ "en-tt":"English (Trinidad)",
+ "en-us":"English (United States)",
+ "en-za":"English (South Africa)",
+ "es-ar":"Spanish (Argentina)",
+ "es-bo":"Spanish (Bolivia)",
+ "es-cl":"Spanish (Chile)",
+ "es-co":"Spanish (Colombia)",
+ "es-cr":"Spanish (Costa Rica)",
+ "es-do":"Spanish (Dominican Republic)",
+ "es-ec":"Spanish (Ecuador)",
+ "es-gt":"Spanish (Guatemala)",
+ "es-hn":"Spanish (Honduras)",
+ "es-mx":"Spanish (Mexico)",
+ "es-ni":"Spanish (Nicaragua)",
+ "es-pa":"Spanish (Panama)",
+ "es-pe":"Spanish (Peru)",
+ "es-pr":"Spanish (Puerto Rico)",
+ "es-py":"Spanish (Paraguay)",
+ "es":"Spanish (Spain)",
+ "es-sv":"Spanish (El Salvador)",
+ "es-uy":"Spanish (Uruguay)",
+ "es-ve":"Spanish (Venezuela)",
+ "et":"Estonian",
+ "eu":"Basque (Basque)",
+ "fa":"Farsi",
+ "fi":"Finnish",
+ "fo":"Faeroese",
+ "fr-be":"French (Belgium)",
+ "fr-ca":"French (Canada)",
+ "fr-ch":"French (Switzerland)",
+ "fr":"French",
+ "fr-lu":"French (Luxembourg)",
+ "ga":"Irish",
+ "gd":"Gaelic (Scotland)",
+ "he":"Hebrew",
+ "hi":"Hindi",
+ "hr":"Croatian",
+ "hu":"Hungarian",
+ "id":"Indonesian",
+ "is":"Icelandic",
+ "it-ch":"Italian (Switzerland)",
+ "it":"Italian",
+ "ja":"Japanese",
+ "ji":"Yiddish",
+ "ko":"Korean",
+ "ko":"Korean (Johab)",
+ "lt":"Lithuanian",
+ "lv":"Latvian",
+ "mk":"Macedonian (FYROM)",
+ "ms":"Malaysian",
+ "mt":"Maltese",
+ "nl-be":"Dutch (Belgium)",
+ "nl":"Dutch",
+ "no":"Norwegian",
+ "pl":"Polish",
+ "pt-br":"Brazilian Portuguese",
+ "pt":"Portuguese",
+ "rm":"Rhaeto-Romanic",
+ "ro-mo":"Romanian (Republic of Moldova)",
+ "ro":"Romanian",
+ "ru-mo":"Russian (Republic of Moldova)",
+ "ru":"Russian",
+ "sb":"Sorbian",
+ "sk":"Slovak",
+ "sl":"Slovenian",
+ "sq":"Albanian",
+ "sr":"Serbian (Cyrillic)",
+ "sr":"Serbian (Latin)",
+ "sv-fi":"Swedish (Finland)",
+ "sv":"Swedish",
+ "sx":"Sutu",
+ "sz":"Sami (Lappish)",
+ "th":"Thai",
+ "tn":"Tswana",
+ "tr":"Turkish",
+ "ts":"Tsonga",
+ "uk":"Ukrainian",
+ "ur":"Urdu",
+ "ve":"Venda",
+ "vi":"Vietnamese",
+ "xh":"Xhosa",
+ "zh-cn":"Chinese (PRC)",
+ "zh-hk":"Chinese (Hong Kong SAR)",
+ "zh-sg":"Chinese (Singapore)",
+ "zh-tw":"Chinese (Taiwan)",
+ "zu":"Zulu",
+ "A registered account is required for this action": "A registered account is required for this action",
+ "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains": "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains",
+ "accept": "accept",
+ "%(targetName)s accepted an invitation": "%(targetName)s accepted an invitation",
+ "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s accepted the invitation for %(displayName)s.",
+ "Account": "Account",
+ "Access Token:": "Access Token:",
+ "Add email address": "Add email address",
+ "Add phone number": "Add phone number",
+ "Admin": "Admin",
+ "Advanced": "Advanced",
+ "Algorithm": "Algorithm",
+ "Always show message timestamps": "Always show message timestamps",
+ "Authentication": "Authentication",
+ "all room members": "all room members",
+ "all room members, from the point they are invited": "all room members, from the point they are invited",
+ "all room members, from the point they joined": "all room members, from the point they joined",
+ "an address": "an address",
+ "and": "and",
+ "%(items)s and %(remaining)s others": "%(items)s and %(remaining)s others",
+ "%(items)s and one other": "%(items)s and one other",
+ "%(items)s and %(lastItem)s": "%(items)s and %(lastItem)s",
+ "and %(overflowCount)s others...": "and %(overflowCount)s others...",
+ "and one other...": "and one other...",
+ "%(names)s and %(lastPerson)s are typing": "%(names)s and %(lastPerson)s are typing",
+ "%(names)s and one other are typing": "%(names)s and one other are typing",
+ "%(names)s and %(count)s others are typing": "%(names)s and %(count)s others are typing",
+ "An email has been sent to": "An email has been sent to",
+ "A new password must be entered.": "A new password must be entered.",
+ "%(senderName)s answered the call.": "%(senderName)s answered the call.",
+ "anyone.": "anyone",
+ "An error has occurred.": "An error has occurred.",
+ "Anyone who knows the room's link, apart from guests": "Anyone who knows the room's link, apart from guests",
+ "Anyone who knows the room's link, including guests": "Anyone who knows the room's link, including guests",
+ "Are you sure?": "Are you sure?",
+ "Are you sure you want to reject the invitation?": "Are you sure you want to reject the invitation?",
+ "Are you sure you want upload the following files?": "Are you sure you want upload the following files?",
+ "Attachment": "Attachment",
+ "Autoplay GIFs and videos": "Autoplay GIFs and videos",
+ "%(senderName)s banned %(targetName)s.": "%(senderName)s banned %(targetName)s.",
+ "Ban": "Ban",
+ "Banned users": "Banned users",
+ "Bans user with given id": "Bans user with given id",
+ "Blacklisted": "Blacklisted",
+ "Bug Report": "Bug Report",
+ "Bulk Options": "Bulk Options",
+ "Call Timeout": "Call Timeout",
+ "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted",
+ "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s",
+ "Can't load user settings": "Can't load user settings",
+ "Change Password": "Change Password",
+ "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s": "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s",
+ "%(senderName)s changed their profile picture": "%(senderName)s changed their profile picture",
+ "%(senderName)s changed the power level of %(powerLevelDiffText)s": "%(senderName)s changed the power level of %(powerLevelDiffText)s",
+ "%(senderDisplayName)s changed the room name to %(roomName)s": "%(senderDisplayName)s changed the room name to %(roomName)s",
+ "%(senderDisplayName)s changed the topic to \"%(topic)s\"": "%(senderDisplayName)s changed the topic to \"%(topic)s\"",
+ "Changes to who can read history will only apply to future messages in this room": "Changes to who can read history will only apply to future messages in this room",
+ "Changes your display nickname": "Changes your display nickname",
+ "changing room on a RoomView is not supported": "changing room on a RoomView is not supported",
+ "Claimed Ed25519 fingerprint key": "Claimed Ed25519 fingerprint key",
+ "Clear Cache and Reload": "Clear Cache and Reload",
+ "Clear Cache": "Clear Cache",
+ "Click here": "Click here",
+ "Click here to fix": "Click here to fix",
+ "Click to mute audio": "Click to mute audio",
+ "Click to mute video": "Click to mute video",
+ "click to reveal": "click to reveal",
+ "Click to unmute video": "Click to unmute video",
+ "Click to unmute audio": "Click to unmute audio",
+ "Command error": "Command error",
+ "Commands": "Commands",
+ "Conference call failed": "Conference call failed",
+ "Conference calling is in development and may not be reliable": "Conference calling is in development and may not be reliable",
+ "Conference calls are not supported in encrypted rooms": "Conference calls are not supported in encrypted rooms",
+ "Conference calls are not supported in this client": "Conference calls are not supported in this client",
+ "Confirm password": "Confirm password",
+ "Confirm your new password": "Confirm your new password",
+ "Continue": "Continue",
+ "Could not connect to the integration server": "Could not connect to the integration server",
+ "Create an account": "Create an account",
+ "Create Room": "Create Room",
+ "Cryptography": "Cryptography",
+ "Current password": "Current password",
+ "Curve25519 identity key": "Curve25519 identity key",
+ "/ddg is not a command": "/ddg is not a command",
+ "Deactivate Account": "Deactivate Account",
+ "Deactivate my account": "Deactivate my account",
+ "decline": "decline",
+ "Decrypt %(text)s": "Decrypt %(text)s",
+ "Decryption error": "Decryption error",
+ "Delete": "Delete",
+ "demote": "demote",
+ "Deops user with given id": "Deops user with given id",
+ "Device ID": "Device ID",
+ "Devices": "Devices",
+ "Devices will not yet be able to decrypt history from before they joined the room": "Devices will not yet be able to decrypt history from before they joined the room",
+ "Direct Chat": "Direct Chat",
+ "Direct chats": "Direct chats",
+ "Disable inline URL previews by default": "Disable inline URL previews by default",
+ "Disinvite": "Disinvite",
+ "Display name": "Display name",
+ "Displays action": "Displays action",
+ "Don't send typing notifications": "Don't send typing notifications",
+ "Download %(text)s": "Download %(text)s",
+ "Drop here %(toAction)s": "Drop here %(toAction)s",
+ "Drop here to tag %(section)s": "Drop here to tag %(section)s",
+ "Ed25519 fingerprint": "Ed25519 fingerprint",
+ "Email": "Email",
+ "Email Address": "Email Address",
+ "Email, name or matrix ID": "Email, name or matrix ID",
+ "Emoji": "Emoji",
+ "Enable encryption": "Enable encryption",
+ "Encrypted messages will not be visible on clients that do not yet implement encryption": "Encrypted messages will not be visible on clients that do not yet implement encryption",
+ "Encrypted room": "Encrypted room",
+ "%(senderName)s ended the call": "%(senderName)s ended the call",
+ "End-to-end encryption information": "End-to-end encryption information",
+ "End-to-end encryption is in beta and may not be reliable": "End-to-end encryption is in beta and may not be reliable",
+ "Enter Code": "Enter Code",
+ "Error": "Error",
+ "Event information": "Event information",
+ "Existing Call": "Existing Call",
+ "Export E2E room keys": "Export E2E room keys",
+ "Failed to ban user": "Failed to ban user",
+ "Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
+ "Failed to change power level": "Failed to change power level",
+ "Failed to delete device": "Failed to delete device",
+ "Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s",
+ "Failed to join room": "Failed to join room",
+ "Failed to join the room": "Failed to join the room",
+ "Failed to kick": "Failed to kick",
+ "Failed to leave room": "Failed to leave room",
+ "Failed to load timeline position": "Failed to load timeline position",
+ "Failed to lookup current room": "Failed to lookup current room",
+ "Failed to mute user": "Failed to mute user",
+ "Failed to reject invite": "Failed to reject invite",
+ "Failed to reject invitation": "Failed to reject invitation",
+ "Failed to save settings": "Failed to save settings",
+ "Failed to send email": "Failed to send email",
+ "Failed to send request.": "Failed to send request.",
+ "Failed to set display name": "Failed to set display name",
+ "Failed to set up conference call": "Failed to set up conference call",
+ "Failed to toggle moderator status": "Failed to toggle moderator status",
+ "Failed to unban": "Failed to unban",
+ "Failed to upload file": "Failed to upload file",
+ "Failed to verify email address: make sure you clicked the link in the email": "Failed to verify email address: make sure you clicked the link in the email",
+ "Failure to create room": "Failure to create room",
+ "Favourite": "Favourite",
+ "favourite": "favourite",
+ "Favourites": "Favourites",
+ "Fill screen": "Fill screen",
+ "Filter room members": "Filter room members",
+ "Forget room": "Forget room",
+ "Forgot your password?": "Forgot your password?",
+ "For security, this session has been signed out. Please sign in again": "For security, this session has been signed out. Please sign in again",
+ "Found a bug?": "Found a bug?",
+ "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s",
+ "Guest users can't create new rooms. Please register to create room and start a chat": "Guest users can't create new rooms. Please register to create room and start a chat",
+ "Guest users can't upload files. Please register to upload": "Guest users can't upload files. Please register to upload",
+ "had": "had",
+ "Hangup": "Hangup",
+ "Hide read receipts": "Hide read receipts",
+ "Hide Text Formatting Toolbar": "Hide Text Formatting Toolbar",
+ "Historical": "Historical",
+ "Homeserver is": "Homeserver is",
+ "Identity Server is": "Identity Server is",
+ "I have verified my email address": "I have verified my email address",
+ "Import E2E room keys": "Import E2E room keys",
+ "Incorrect verification code": "Incorrect verification code",
+ "Interface Language": "Interface Language",
+ "Invalid alias format": "Invalid alias format",
+ "Invalid address format": "Invalid address format",
+ "Invalid Email Address": "Invalid Email Address",
+ "%(senderName)s invited %(targetName)s.": "%(senderName)s invited %(targetName)s.",
+ "Invite new room members": "Invite new room members",
+ "Invites": "Invites",
+ "Invites user with given id to current room": "Invites user with given id to current room",
+ "is a": "is a",
+ "'%(alias)s' is not a valid format for an address": "'%(alias)s' is not a valid format for an address",
+ "'%(alias)s' is not a valid format for an alias": "'%(alias)s' is not a valid format for an alias",
+ "%(displayName)s is typing": "%(displayName)s is typing",
+ "I want to sign in with": "I want to sign in with",
+ "Join Room": "Join Room",
+ "joined and left": "joined and left",
+ "joined": "joined",
+ "%(targetName)s joined the room.": "%(targetName)s joined the room.",
+ "Joins room with given alias": "Joins room with given alias",
+ "%(senderName)s kicked %(targetName)s.": "%(senderName)s kicked %(targetName)s.",
+ "Kick": "Kick",
+ "Kicks user with given id": "Kicks user with given id",
+ "Labs": "Labs",
+ "Leave room": "Leave room",
+ "left and rejoined": "left and rejoined",
+ "left": "left",
+ "%(targetName)s left the room.": "%(targetName)s left the room.",
+ "Level": "Level",
+ "Local addresses for this room:": "Local addresses for this room:",
+ "Logged in as:": "Logged in as:",
+ "Login as guest": "Login as guest",
+ "Logout": "Logout",
+ "Low priority": "Low priority",
+ "%(senderName)s made future room history visible to": "%(senderName)s made future room history visible to",
+ "Manage Integrations": "Manage Integrations",
+ "Markdown is disabled": "Markdown is disabled",
+ "Markdown is enabled": "Markdown is enabled",
+ "matrix-react-sdk version:": "matrix-react-sdk version:",
+ "Members only": "Members only",
+ "Message not sent due to unknown devices being present": "Message not sent due to unknown devices being present",
+ "Missing room_id in request": "Missing room_id in request",
+ "Missing user_id in request": "Missing user_id in request",
+ "Mobile phone number": "Mobile phone number",
+ "Moderator": "Moderator",
+ "Must be viewing a room": "Must be viewing a room",
+ "my Matrix ID": "my Matrix ID",
+ "Name": "Name",
+ "Never send encrypted messages to unverified devices from this device": "Never send encrypted messages to unverified devices from this device",
+ "Never send encrypted messages to unverified devices in this room": "Never send encrypted messages to unverified devices in this room",
+ "Never send encrypted messages to unverified devices in this room from this device": "Never send encrypted messages to unverified devices in this room from this device",
+ "New address (e.g. #foo:%(localDomain)s)": "New address (e.g. #foo:%(localDomain)s)",
+ "New Composer & Autocomplete": "New Composer & Autocomplete",
+ "New password": "New password",
+ "New passwords don't match": "New passwords don't match",
+ "New passwords must match each other.": "New passwords must match each other.",
+ "none": "none",
+ "not set": "not set",
+ "not specified": "not specified",
+ "Notifications": "Notifications",
+ "(not supported by this browser)": "(not supported by this browser)",
+ "": "",
+ "NOT verified": "NOT verified",
+ "No devices with registered encryption keys": "No devices with registered encryption keys",
+ "No more results": "No more results",
+ "No results": "No results",
+ "No users have specific privileges in this room": "No users have specific privileges in this room",
+ "OK": "OK",
+ "olm version:": "olm version:",
+ "Once encryption is enabled for a room it cannot be turned off again (for now)": "Once encryption is enabled for a room it cannot be turned off again (for now)",
+ "Once you've followed the link it contains, click below": "Once you've followed the link it contains, click below",
+ "Only people who have been invited": "Only people who have been invited",
+ "or": "or",
+ "Password": "Password",
+ "Passwords can't be empty": "Passwords can't be empty",
+ "People": "People",
+ "Permissions": "Permissions",
+ "Phone": "Phone",
+ "%(senderName)s placed a %(callType)s call.": "%(senderName)s placed a %(callType)s call.",
+ "Please check your email and click on the link it contains. Once this is done, click continue.": "Please check your email and click on the link it contains. Once this is done, click continue.",
+ "Please Register": "Please Register",
+ "Power level must be positive integer.": "Power level must be positive integer.",
+ "Press": "Press",
+ "Privacy warning": "Privacy warning",
+ "Privileged Users": "Privileged Users",
+ "Profile": "Profile",
+ "Reason": "Reason",
+ "Revoke Moderator": "Revoke Moderator",
+ "Refer a friend to Riot": "Refer a friend to Riot",
+ "Registration required": "Registration required",
+ "rejected": "rejected",
+ "%(targetName)s rejected the invitation.": "%(targetName)s rejected the invitation.",
+ "Reject invitation": "Reject invitation",
+ "Remove Contact Information?": "Remove Contact Information?",
+ "%(senderName)s removed their display name (%(oldDisplayName)s)": "%(senderName)s removed their display name (%(oldDisplayName)s)",
+ "%(senderName)s removed their profile picture": "%(senderName)s removed their profile picture",
+ "Remove": "Remove",
+ "%(senderName)s requested a VoIP conference": "%(senderName)s requested a VoIP conference",
+ "Report it": "Report it",
+ "Resetting password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved": "Resetting password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved",
+ "restore": "restore",
+ "Return to app": "Return to app",
+ "Return to login screen": "Return to login screen",
+ "Riot does not have permission to send you notifications - please check your browser settings": "Riot does not have permission to send you notifications - please check your browser settings",
+ "Riot was not given permission to send notifications - please try again": "Riot was not given permission to send notifications - please try again",
+ "riot-web version:": "riot-web version:",
+ "Room %(roomId)s not visible": "Room %(roomId)s not visible",
+ "Room Colour": "Room Colour",
+ "Room name (optional)": "Room name (optional)",
+ "Rooms": "Rooms",
+ "Scroll to bottom of page": "Scroll to bottom of page",
+ "Scroll to unread messages": "Scroll to unread messages",
+ "Search": "Search",
+ "Search failed": "Search failed",
+ "Searches DuckDuckGo for results": "Searches DuckDuckGo for results",
+ "Send a message (unencrypted)": "Send a message (unencrypted)",
+ "Send an encrypted message": "Send an encrypted message",
+ "Sender device information": "Sender device information",
+ "Send Invites": "Send Invites",
+ "Send Reset Email": "Send Reset Email",
+ "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s sent an image.",
+ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.",
+ "sent a video": "sent a video",
+ "Server error": "Server error",
+ "Server may be unavailable or overloaded": "Server may be unavailable or overloaded",
+ "Server may be unavailable, overloaded, or search timed out :(": "Server may be unavailable, overloaded, or search timed out :(",
+ "Server may be unavailable, overloaded, or the file too big": "Server may be unavailable, overloaded, or the file too big",
+ "Server may be unavailable, overloaded, or you hit a bug": "Server may be unavailable, overloaded, or you hit a bug",
+ "Server unavailable, overloaded, or something else went wrong": "Server unavailable, overloaded, or something else went wrong",
+ "Session ID": "Session ID",
+ "%(senderName)s set a profile picture": "%(senderName)s set a profile picture",
+ "%(senderName)s set their display name to %(displayName)s": "%(senderName)s set their display name to %(displayName)s",
+ "Settings": "Settings",
+ "Show panel": "Show panel",
+ "Show timestamps in 12 hour format (e.g. 2:30pm)": "Show timestamps in 12 hour format (e.g. 2:30pm)",
+ "Signed Out": "Signed Out",
+ "Sign in": "Sign in",
+ "Sign out": "Sign out",
+ "since the point in time of selecting this option": "since the point in time of selecting this option",
+ "since they joined": "since they joined",
+ "since they were invited": "since they were invited",
+ "Some of your messages have not been sent": "Some of your messages have not been sent",
+ "Someone": "Someone",
+ "Sorry, this homeserver is using a login which is not recognised ": "Sorry, this homeserver is using a login which is not recognised ",
+ "Start a chat": "Start a chat",
+ "Start Chat": "Start Chat",
+ "Submit": "Submit",
+ "Success": "Success",
+ "tag as %(tagName)s": "tag as %(tagName)s",
+ "tag direct chat": "tag direct chat",
+ "The default role for new room members is": "The default role for new room members is",
+ "The main address for this room is": "The main address for this room is",
+ "This action cannot be performed by a guest user. Please register to be able to do this": "This action cannot be performed by a guest user. Please register to be able to do this",
+ "This email address is already in use": "This email address is already in use",
+ "This email address was not found": "This email address was not found",
+ "%(actionVerb)s this person?": "%(actionVerb)s this person?",
+ "The email address linked to your account must be entered.": "The email address linked to your account must be entered.",
+ "The file '%(fileName)s' exceeds this home server's size limit for uploads": "The file '%(fileName)s' exceeds this home server's size limit for uploads",
+ "The file '%(fileName)s' failed to upload": "The file '%(fileName)s' failed to upload",
+ "The remote side failed to pick up": "The remote side failed to pick up",
+ "This room has no local addresses": "This room has no local addresses",
+ "This room is not recognised.": "This room is not recognised.",
+ "This room is private or inaccessible to guests. You may be able to join if you register": "This room is private or inaccessible to guests. You may be able to join if you register",
+ "These are experimental features that may break in unexpected ways": "These are experimental features that may break in unexpected ways",
+ "The visibility of existing history will be unchanged": "The visibility of existing history will be unchanged",
+ "This doesn't appear to be a valid email address": "This doesn't appear to be a valid email address",
+ "this invitation?": "this invitation?",
+ "This is a preview of this room. Room interactions have been disabled": "This is a preview of this room. Room interactions have been disabled",
+ "This phone number is already in use": "This phone number is already in use",
+ "This room is not accessible by remote Matrix servers": "This room is not accessible by remote Matrix servers",
+ "This room's internal ID is": "This room's internal ID is",
+ "times": "times",
+ "To ban users": "To ban users",
+ "to browse the directory": "to browse the directory",
+ "To configure the room": "To configure the room",
+ "to demote": "to demote",
+ "to favourite": "to favourite",
+ "To invite users into the room": "To invite users into the room",
+ "to join the discussion": "to join the discussion",
+ "To kick users": "To kick users",
+ "To link to a room it must have": "To link to a room it must have",
+ "to make a room or": "to make a room or",
+ "To redact other users' messages": "To redact other users' messages",
+ "To reset your password, enter the email address linked to your account": "To reset your password, enter the email address linked to your account",
+ "to restore": "to restore",
+ "To send events of type": "To send events of type",
+ "To send messages": "To send messages",
+ "to start a chat with someone": "to start a chat with someone",
+ "to tag as %(tagName)s": "to tag as %(tagName)s",
+ "to tag direct chat": "to tag direct chat",
+ "To use it, just wait for autocomplete results to load and tab through them.": "To use it, just wait for autocomplete results to load and tab through them.",
+ "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question": "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question",
+ "Tried to load a specific point in this room's timeline, but was unable to find it": "Tried to load a specific point in this room's timeline, but was unable to find it",
+ "Turn Markdown off": "Turn Markdown off",
+ "Turn Markdown on": "Turn Markdown on",
+ "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s)": "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s)",
+ "Unable to add email address": "Unable to add email address",
+ "Unable to remove contact information": "Unable to remove contact information",
+ "Unable to restore previous session": "Unable to restore previous session",
+ "Unable to verify email address": "Unable to verify email address",
+ "Unban": "Unban",
+ "%(senderName)s unbanned %(targetName)s.": "%(senderName)s unbanned %(targetName)s.",
+ "Unable to capture screen": "Unable to capture screen",
+ "Unable to enable Notifications": "Unable to enable Notifications",
+ "Unable to load device list": "Unable to load device list",
+ "Unencrypted room": "Unencrypted room",
+ "unencrypted": "unencrypted",
+ "Unknown command": "Unknown command",
+ "unknown device": "unknown device",
+ "unknown error code": "unknown error code",
+ "Unknown room %(roomId)s": "Unknown room %(roomId)s",
+ "unknown": "unknown",
+ "uploaded a file": "uploaded a file",
+ "Upload avatar": "Upload avatar",
+ "Upload Failed": "Upload Failed",
+ "Upload Files": "Upload Files",
+ "Upload file": "Upload file",
+ "Usage": "Usage",
+ "Use with caution": "Use with caution",
+ "User ID": "User ID",
+ "User Interface": "User Interface",
+ "username": "username",
+ "Users": "Users",
+ "User": "User",
+ "Verification Pending": "Verification Pending",
+ "Verification": "Verification",
+ "verified": "verified",
+ "Video call": "Video call",
+ "Voice call": "Voice call",
+ "VoIP conference finished": "VoIP conference finished",
+ "VoIP conference started": "VoIP conference started",
+ "VoIP is unsupported": "VoIP is unsupported",
+ "(warning: cannot be disabled again!)": "(warning: cannot be disabled again!)",
+ "Warning!": "Warning!",
+ "Who can access this room?": "Who can access this room?",
+ "Who can read history?": "Who can read history?",
+ "Who would you like to add to this room?": "Who would you like to add to this room?",
+ "Who would you like to communicate with?": "Who would you like to communicate with?",
+ "%(senderName)s withdrew %(targetName)s's inivitation.": "%(senderName)s withdrew %(targetName)s's inivitation.",
+ "Would you like to": "Would you like to",
+ "You are already in a call": "You are already in a call",
+ "You're not in any rooms yet! Press": "You're not in any rooms yet! Press",
+ "You are trying to access %(roomName)s": "You are trying to access %(roomName)s",
+ "You cannot place a call with yourself": "You cannot place a call with yourself",
+ "You cannot place VoIP calls in this browser": "You cannot place VoIP calls in this browser",
+ "You do not have permission to post to this room": "You do not have permission to post to this room",
+ "You have been invited to join this room by %(inviterName)s": "You have been invited to join this room by %(inviterName)s",
+ "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device",
+ "You have no visible notifications": "You have no visible notifications",
+ "you must be a": "you must be a",
+ "You need to be able to invite users to do that.": "You need to be able to invite users to do that.",
+ "You need to be logged in.": "You need to be logged in.",
+ "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience": "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience",
+ "Your email address does not appear to be associated with a Matrix ID on this Homeserver": "Your email address does not appear to be associated with a Matrix ID on this Homeserver",
+ "Your password has been reset": "Your password has been reset",
+ "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them",
+ "You seem to be in a call, are you sure you want to quit?": "You seem to be in a call, are you sure you want to quit?",
+ "You seem to be uploading files, are you sure you want to quit?": "You seem to be uploading files, are you sure you want to quit?",
+ "You should not yet trust it to secure data": "You should not yet trust it to secure data",
+ "You will not be able to undo this change as you are promoting the user to have the same power level as yourself": "You will not be able to undo this change as you are promoting the user to have the same power level as yourself",
+ "Sun": "Sun",
+ "Mon": "Mon",
+ "Tue": "Tue",
+ "Wed": "Wed",
+ "Thu": "Thu",
+ "Fri": "Fri",
+ "Sat": "Sat",
+ "Jan": "Jan",
+ "Feb": "Feb",
+ "Mar": "Mar",
+ "Apr": "Apr",
+ "May": "May",
+ "Jun": "Jun",
+ "Jul": "Jul",
+ "Aug": "Aug",
+ "Sep": "Sep",
+ "Oct": "Oct",
+ "Nov": "Nov",
+ "Dec": "Dec",
+ "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s",
+ "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s",
+ "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s",
+ "Set a display name:": "Set a display name:",
+ "Upload an avatar:": "Upload an avatar:",
+ "This server does not support authentication with a phone number.": "This server does not support authentication with a phone number.",
+ "Missing password.": "Missing password.",
+ "Passwords don't match.": "Passwords don't match.",
+ "Password too short (min %(MIN_PASSWORD_LENGTH)s).": "Password too short (min %(MIN_PASSWORD_LENGTH)s).",
+ "This doesn't look like a valid email address.": "This doesn't look like a valid email address.",
+ "This doesn't look like a valid phone number.": "This doesn't look like a valid phone number.",
+ "User names may only contain letters, numbers, dots, hyphens and underscores.": "User names may only contain letters, numbers, dots, hyphens and underscores.",
+ "An unknown error occurred.": "An unknown error occurred.",
+ "I already have an account": "I already have an account",
+ "An error occured: %(error_string)s": "An error occured: %(error_string)s",
+ "Topic": "Topic",
+ "Make Moderator": "Make Moderator",
+ "Make this room private": "Make this room private",
+ "Share message history with new users": "Share message history with new users",
+ "Encrypt room": "Encrypt room",
+ "There are no visible files in this room": "There are no visible files in this room",
+ "Room": "Room",
+ "Room name (optional)": "Room name (optional)",
+ "Who would you like to add to this room?": "Who would you like to add to this room?",
+ "Connectivity to the server has been lost.": "Connectivity to the server has been lost.",
+ "Sent messages will be stored until your connection has returned.": "Sent messages will be stored until your connection has returned.",
+ "Auto-complete": "Auto-complete",
+ "Resend all": "Resend all",
+ "(~%(searchCount)s results)": "(~%(searchCount)s results)",
+ "Cancel": "Cancel",
+ "cancel all": "cancel all",
+ "or": "or",
+ "now. You can also select individual messages to resend or cancel.": "now. You can also select individual messages to resend or cancel.",
+ "Active call": "Active call",
+ "Monday": "Monday",
+ "Tuesday": "Tuesday",
+ "Wednesday": "Wednesday",
+ "Thursday": "Thursday",
+ "Friday": "Friday",
+ "Saturday": "Saturday",
+ "Sunday": "Sunday",
+ "bold": "bold",
+ "italic": "italic",
+ "strike": "strike",
+ "underline": "underline",
+ "code":"code",
+ "quote":"quote",
+ "bullet":"bullet",
+ "numbullet":"numbullet",
+ "%(severalUsers)sjoined %(repeats)s times": "%(severalUsers)sjoined %(repeats)s times",
+ "%(oneUser)sjoined %(repeats)s times": "%(oneUser)sjoined %(repeats)s times",
+ "%(severalUsers)sjoined": "%(severalUsers)sjoined",
+ "%(oneUser)sjoined": "%(oneUser)sjoined",
+ "%(severalUsers)sleft %(repeats)s times": "%(severalUsers)sleft %(repeats)s times",
+ "%(oneUser)sleft %(repeats)s times": "%(oneUser)sleft %(repeats)s times",
+ "%(severalUsers)sleft": "%(severalUsers)sleft",
+ "%(oneUser)sleft": "%(oneUser)sleft",
+ "%(severalUsers)sjoined and left %(repeats)s times": "%(severalUsers)sjoined and left %(repeats)s times",
+ "%(oneUser)sjoined and left %(repeats)s times": "%(oneUser)sjoined and left %(repeats)s times",
+ "%(severalUsers)sjoined and left": "%(severalUsers)sjoined and left",
+ "%(oneUser)sjoined and left": "%(oneUser)sjoined and left",
+ "%(severalUsers)sleft and rejoined %(repeats)s times": "%(severalUsers)sleft and rejoined %(repeats)s times",
+ "%(oneUser)sleft and rejoined %(repeats)s times": "%(oneUser)sleft and rejoined %(repeats)s times",
+ "%(severalUsers)sleft and rejoined": "%(severalUsers)sleft and rejoined",
+ "%(oneUser)sleft and rejoined": "%(oneUser)sleft and rejoined",
+ "%(severalUsers)srejected their invitations %(repeats)s times": "%(severalUsers)srejected their invitations %(repeats)s times",
+ "%(oneUser)srejected their invitation %(repeats)s times": "%(oneUser)srejected their invitation %(repeats)s times",
+ "%(severalUsers)srejected their invitations": "%(severalUsers)srejected their invitations",
+ "%(oneUser)srejected their invitation": "%(oneUser)srejected their invitation",
+ "%(severalUsers)shad their invitations withdrawn %(repeats)s times": "%(severalUsers)shad their invitations withdrawn %(repeats)s times",
+ "%(oneUser)shad their invitation withdrawn %(repeats)s times": "%(oneUser)shad their invitation withdrawn %(repeats)s times",
+ "%(severalUsers)shad their invitations withdrawn": "%(severalUsers)shad their invitations withdrawn",
+ "%(oneUser)shad their invitation withdrawn": "%(oneUser)shad their invitation withdrawn",
+ "were invited %(repeats)s times": "were invited %(repeats)s times",
+ "was invited %(repeats)s times": "was invited %(repeats)s times",
+ "were invited": "were invited",
+ "was invited": "was invited",
+ "were banned %(repeats)s times": "were banned %(repeats)s times",
+ "was banned %(repeats)s times": "was banned %(repeats)s times",
+ "were banned": "were banned",
+ "was banned": "was banned",
+ "were unbanned %(repeats)s times": "were unbanned %(repeats)s times",
+ "was unbanned %(repeats)s times": "was unbanned %(repeats)s times",
+ "were unbanned": "were unbanned",
+ "was unbanned": "was unbanned",
+ "were kicked %(repeats)s times": "were kicked %(repeats)s times",
+ "was kicked %(repeats)s times": "was kicked %(repeats)s times",
+ "were kicked": "were kicked",
+ "was kicked": "was kicked",
+ "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)schanged their name %(repeats)s times",
+ "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)schanged their name %(repeats)s times",
+ "%(severalUsers)schanged their name": "%(severalUsers)schanged their name",
+ "%(oneUser)schanged their name": "%(oneUser)schanged their name",
+ "%(severalUsers)schanged their avatar %(repeats)s times": "%(severalUsers)schanged their avatar %(repeats)s times",
+ "%(oneUser)schanged their avatar %(repeats)s times": "%(oneUser)schanged their avatar %(repeats)s times",
+ "%(severalUsers)schanged their avatar": "%(severalUsers)schanged their avatar",
+ "%(oneUser)schanged their avatar": "%(oneUser)schanged their avatar"
+}
diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json
new file mode 100644
index 0000000000..e393d27bda
--- /dev/null
+++ b/src/i18n/strings/fr.json
@@ -0,0 +1,170 @@
+{
+ "af": "Afrikaans",
+ "ar-ae": "Arabic (U.A.E.)",
+ "ar-bh": "Arabic (Bahrain)",
+ "ar-dz": "Arabic (Algeria)",
+ "ar-eg": "Arabic (Egypt)",
+ "ar-iq": "Arabic (Iraq)",
+ "ar-jo": "Arabic (Jordan)",
+ "ar-kw": "Arabic (Kuwait)",
+ "ar-lb": "Arabic (Lebanon)",
+ "ar-ly": "Arabic (Libya)",
+ "ar-ma": "Arabic (Morocco)",
+ "ar-om": "Arabic (Oman)",
+ "ar-qa": "Arabic (Qatar)",
+ "ar-sa": "Arabic (Saudi Arabia)",
+ "ar-sy": "Arabic (Syria)",
+ "ar-tn": "Arabic (Tunisia)",
+ "ar-ye": "Arabic (Yemen)",
+ "be": "Belarusian",
+ "bg": "Bulgarian",
+ "ca": "Catalan",
+ "cs": "Czech",
+ "da": "Danish",
+ "de-at": "German (Austria)",
+ "de-ch": "German (Switzerland)",
+ "de": "German",
+ "de-li": "German (Liechtenstein)",
+ "de-lu": "German (Luxembourg)",
+ "el": "Greek",
+ "en-au": "English (Australia)",
+ "en-bz": "English (Belize)",
+ "en-ca": "English (Canada)",
+ "en": "English",
+ "en-gb": "English (United Kingdom)",
+ "en-ie": "English (Ireland)",
+ "en-jm": "English (Jamaica)",
+ "en-nz": "English (New Zealand)",
+ "en-tt": "English (Trinidad)",
+ "en-us": "English (United States)",
+ "en-za": "English (South Africa)",
+ "es-ar": "Spanish (Argentina)",
+ "es-bo": "Spanish (Bolivia)",
+ "es-cl": "Spanish (Chile)",
+ "es-co": "Spanish (Colombia)",
+ "es-cr": "Spanish (Costa Rica)",
+ "es-do": "Spanish (Dominican Republic)",
+ "es-ec": "Spanish (Ecuador)",
+ "es-gt": "Spanish (Guatemala)",
+ "es-hn": "Spanish (Honduras)",
+ "es-mx": "Spanish (Mexico)",
+ "es-ni": "Spanish (Nicaragua)",
+ "es-pa": "Spanish (Panama)",
+ "es-pe": "Spanish (Peru)",
+ "es-pr": "Spanish (Puerto Rico)",
+ "es-py": "Spanish (Paraguay)",
+ "es": "Spanish (Spain)",
+ "es-sv": "Spanish (El Salvador)",
+ "es-uy": "Spanish (Uruguay)",
+ "es-ve": "Spanish (Venezuela)",
+ "et": "Estonian",
+ "eu": "Basque (Basque)",
+ "fa": "Farsi",
+ "fi": "Finnish",
+ "fo": "Faeroese",
+ "fr-be": "French (Belgium)",
+ "fr-ca": "French (Canada)",
+ "fr-ch": "French (Switzerland)",
+ "fr": "French",
+ "fr-lu": "French (Luxembourg)",
+ "ga": "Irish",
+ "gd": "Gaelic (Scotland)",
+ "he": "Hebrew",
+ "hi": "Hindi",
+ "hr": "Croatian",
+ "hu": "Hungarian",
+ "id": "Indonesian",
+ "is": "Icelandic",
+ "it-ch": "Italian (Switzerland)",
+ "it": "Italian",
+ "ja": "Japanese",
+ "ji": "Yiddish",
+ "ko": "Korean (Johab)",
+ "lt": "Lithuanian",
+ "lv": "Latvian",
+ "mk": "Macedonian (FYROM)",
+ "ms": "Malaysian",
+ "mt": "Maltese",
+ "nl-be": "Dutch (Belgium)",
+ "nl": "Dutch",
+ "no": "Norwegian",
+ "pl": "Polish",
+ "pt-br": "Brazilian Portuguese",
+ "pt": "Portuguese",
+ "rm": "Rhaeto-Romanic",
+ "ro-mo": "Romanian (Republic of Moldova)",
+ "ro": "Romanian",
+ "ru-mo": "Russian (Republic of Moldova)",
+ "ru": "Russian",
+ "sb": "Sorbian",
+ "sk": "Slovak",
+ "sl": "Slovenian",
+ "sq": "Albanian",
+ "sr": "Serbian (Latin)",
+ "sv-fi": "Swedish (Finland)",
+ "sv": "Swedish",
+ "sx": "Sutu",
+ "sz": "Sami (Lappish)",
+ "th": "Thai",
+ "tn": "Tswana",
+ "tr": "Turkish",
+ "ts": "Tsonga",
+ "uk": "Ukrainian",
+ "ur": "Urdu",
+ "ve": "Venda",
+ "vi": "Vietnamese",
+ "xh": "Xhosa",
+ "zh-cn": "Chinese (PRC)",
+ "zh-hk": "Chinese (Hong Kong SAR)",
+ "zh-sg": "Chinese (Singapore)",
+ "zh-tw": "Chinese (Taiwan)",
+ "zu": "Zulu",
+ "anyone.": "anyone",
+ "Direct Chat": "Chat direct",
+ "Direct chats": "Direct chats",
+ "Disable inline URL previews by default": "Disable inline URL previews by default",
+ "Disinvite": "Disinvite",
+ "Display name": "Display name",
+ "Displays action": "Displays action",
+ "Don't send typing notifications": "Don't send typing notifications",
+ "Download %(text)s": "Download %(text)s",
+ "Drop here %(toAction)s": "Drop here %(toAction)s",
+ "Drop here to tag %(section)s": "Drop here to tag %(section)s",
+ "Ed25519 fingerprint": "Ed25519 fingerprint",
+ "Email Address": "Email Address",
+ "Email, name or matrix ID": "Email, name or matrix ID",
+ "Emoji": "Emoji",
+ "Enable encryption": "Enable encryption",
+ "Encrypted messages will not be visible on clients that do not yet implement encryption": "Encrypted messages will not be visible on clients that do not yet implement encryption",
+ "Encrypted room": "Encrypted room",
+ "%(senderName)s ended the call": "%(senderName)s ended the call",
+ "End-to-end encryption information": "End-to-end encryption information",
+ "End-to-end encryption is in beta and may not be reliable": "End-to-end encryption is in beta and may not be reliable",
+ "Enter Code": "Enter Code",
+ "Error": "Erreur",
+ "Event information": "Event information",
+ "Existing Call": "Existing Call",
+ "Export E2E room keys": "Export E2E room keys",
+ "Failed to ban user": "Failed to ban user",
+ "Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
+ "Failed to change power level": "Failed to change power level",
+ "Failed to delete device": "Failed to delete device",
+ "Failed to forget room %(errCode)s": "Echec lors de l'oublie du salon %(errCode)s",
+ "Please Register": "Veuillez vous enregistrer",
+ "Remove": "Supprimer",
+ "was banned": "banned",
+ "was invited": "invited",
+ "was kicked": "kicked",
+ "was unbanned": "unbanned",
+ "Monday": "Lundi",
+ "Tuesday": "Mardi",
+ "Wednesday": "Mercredi",
+ "Thursday": "Jeudi",
+ "Friday": "Vendredi",
+ "Saturday": "Samedi",
+ "Sunday": "Dimanche",
+ "bold": "gras",
+ "italic": "italique",
+ "strike": "barré",
+ "underline": "souligné"
+}
diff --git a/src/i18n/strings/ml.json b/src/i18n/strings/ml.json
new file mode 100644
index 0000000000..2c63c08510
--- /dev/null
+++ b/src/i18n/strings/ml.json
@@ -0,0 +1,2 @@
+{
+}
diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json
new file mode 100644
index 0000000000..f14f2b31f4
--- /dev/null
+++ b/src/i18n/strings/pt.json
@@ -0,0 +1,503 @@
+{
+ "accept": "aceitar",
+ "accepted an invitation": "aceitou um convite",
+ "accepted the invitation for": "aceitou o convite para",
+ "Account": "Conta",
+ "Add email address": "Adicionar endereço de email",
+ "Add phone number": "Adicionar número de telefone",
+ "Admin": "Administrador/a",
+ "Advanced": "Avançado",
+ "Algorithm": "Algoritmo",
+ "all room members, from the point they are invited.": "todos os membros da sala, a partir de quando foram convidados",
+ "all room members, from the point they joined.": "todos os membros da sala, a partir de quando entraram",
+ "all room members": "todos os membros da sala",
+ "an address": "um endereço",
+ "and": "e",
+ "An email has been sent to": "Um email foi enviado para",
+ "A new password must be entered.": "Uma nova senha precisa ser informada.",
+ "answered the call.": "respondeu à chamada.",
+ "anyone": "qualquer um",
+ "Anyone who knows the room's link, apart from guests": "Qualquer pessoa que tenha o link da sala, exceto visitantes",
+ "Anyone who knows the room's link, including guests": "Qualquer pessoa que tenha o link da sala, incluindo visitantes",
+ "Are you sure you want to leave the room?": "Você tem certeza que deseja sair da sala?",
+ "Are you sure you want to reject the invitation?": "Você tem certeza que deseja rejeitar este convite?",
+ "Are you sure you want upload the following files?": "Você tem certeza que deseja enviar os seguintes arquivos?",
+ "banned": "baniu",
+ "Banned users": "Usuárias/os banidas/os",
+ "Bans user with given id": "Banir usuários com o identificador informado",
+ "Blacklisted": "Bloqueado",
+ "Bug Report": "Repotar problemas de funcionamento",
+ "Bulk Options": "Opcões de Batelada",
+ "Can't load user settings": "Não é possível carregar configurações de usuário",
+ "changed avatar": "mudou sua imagem de perfil (avatar)",
+ "changed name": "mudou seu nome",
+ "changed their display name from": "mudou seu nome para",
+ "changed their profile picture": "alterou sua foto de perfil",
+ "changed the power level of": "mudou o nível de permissões de",
+ "changed the room name to": "mudou o nome da sala para",
+ "changed the topic to": "mudou o tópico para",
+ "Changes to who can read history will only apply to future messages in this room": "As mudanças sobre quem pode ler o histórico da sala só serão aplicadas às mensagens futuras nesta sala",
+ "Changes your display nickname": "Troca o seu apelido",
+ "Claimed Ed25519 fingerprint key": "Chave reivindicada da Impressão Digital Ed25519",
+ "Clear Cache and Reload": "Limpar Memória Cache e Recarregar",
+ "Clear Cache": "Limpar Memória Cache",
+ "Click here": "Clique aqui",
+ "Click here to fix": "Clique aqui para resolver isso",
+ "Commands": "Comandos",
+ "Confirm your new password": "Confirme a nova senha",
+ "Continue": "Continuar",
+ "Could not connect to the integration server": "Não foi possível conectar ao servidor de integrações",
+ "Create an account": "Criar uma conta",
+ "Create a new account": "Criar uma conta",
+ "Create Room": "Criar Sala",
+ "Cryptography": "Criptografia",
+ "Curve25519 identity key": "Chave de Indetificação Curve25519",
+ "Deactivate Account": "Desativar conta",
+ "Deactivate my account": "Desativar minha conta",
+ "decline": "rejeitar",
+ "Decryption error": "Erro de descriptografia",
+ "Default": "Padrão",
+ "demote": "reduzir prioridade",
+ "Deops user with given id": "Retirar função de moderador do usuário com o identificador informado",
+ "Device ID": "Identificador do dispositivo",
+ "Devices will not yet be able to decrypt history from before they joined the room": "Os dispositivos não serão ainda capazes de descriptografar o histórico anterior à sua entrada na sala",
+ "Direct Chat": "Conversa pessoal",
+ "Disable inline URL previews by default": "Desabilitar visualizações prévias por padrão",
+ "Display name": "Nome",
+ "Displays action": "Visualizar atividades",
+ "Ed25519 fingerprint": "Impressão Digital Ed25519",
+ "Email Address": "endereço de email",
+ "Email, name or matrix ID": "Email, nome ou ID matrix",
+ "Emoji": "Emoji",
+ "Encrypted messages will not be visible on clients that do not yet implement encryption": "Mensagens criptografadas não serão visíveis em clientes que ainda não implementaram criptografia",
+ "Encrypted room": "Sala criptografada",
+ "Encryption is enabled in this room": "Criptografia está habilitada nesta sala",
+ "Encryption is not enabled in this room": "Criptografia não está habilitada nesta sala",
+ "ended the call.": "chamada encerrada.",
+ "End-to-end encryption information": "Informação criptografada ponta-a-ponta",
+ "End-to-end encryption is in beta and may not be reliable": "A criptografia ponta a ponta está em estágio beta e não deve ser totalmente confiável",
+ "Error": "Erro",
+ "Event information": "Informação do evento",
+ "Export E2E room keys": "Exportar chaves ponta-a-ponta da sala",
+ "Failed to change password. Is your password correct?": "Não foi possível modificar a senha. A senha informada está correta?",
+ "Failed to forget room": "Não foi possível esquecer a sala",
+ "Failed to leave room": "Falha ao tentar deixar a sala",
+ "Failed to reject invitation": "Falha ao tentar rejeitar convite",
+ "Failed to send email: ": "Falha ao tentar enviar email",
+ "Failed to set avatar.": "Falha ao tentar definir foto do perfil.",
+ "Failed to unban": "Não foi possível desfazer o banimento",
+ "Failed to upload file": "Falha ao enviar o arquivo",
+ "favourite": "favoritar",
+ "Favourite": "Favorito",
+ "Favourites": "Favoritos",
+ "Filter room members": "Filtrar membros de sala",
+ "Forget room": "Esquecer sala",
+ "Forgot your password?": "Esqueceu sua senha?",
+ "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Por segurança, deslogar irá remover qualquer chave de criptografia ponta-a-ponta deste navegador. Caso deseje descriptografar o histórico das suas conversas E2E em sessões Riot futuras, por favor exporte as chaves da sala para sua garantia.",
+ "For security, this session has been signed out. Please sign in again": "Por questões de segurança, esta sessão foi encerrada. Por gentileza conecte-se novamente",
+ "Found a bug?": "Encontrou um problema de funcionamento do sistema?",
+ "Guests cannot join this room even if explicitly invited": "Visitantes não podem entrar nesta sala, mesmo se forem explicitamente convidadas/os",
+ "Guests can't set avatars. Please register": "Convidados não podem definir uma foto do perfil. Por favor, registre-se",
+ "Guests can't use labs features. Please register": "Convidados não podem usar as funcionalidades de laboratório (lab), por gentileza se registre",
+ "Guest users can't upload files. Please register to upload": "Usuários não podem fazer envio de arquivos. Por favor se cadastre para enviar arquivos",
+ "had": "teve",
+ "Hangup": "Desligar",
+ "Historical": "Histórico",
+ "Homeserver is": "Servidor padrão é",
+ "Identity Server is": "O servidor de identificação é",
+ "I have verified my email address": "Eu verifiquei o meu endereço de email",
+ "Import E2E room keys": "Importar chave de criptografia ponta-a-ponta (E2E) da sala",
+ "Invalid Email Address": "Endereço de email inválido",
+ "invited": "convidou",
+ "Invite new room members": "Convidar novo membros para sala",
+ "Invites": "Convidar",
+ "Invites user with given id to current room": "Convidar usuários com um dado identificador para esta sala",
+ "is a": "é um(a)",
+ "I want to sign in with": "Quero entrar",
+ "joined and left": "entrou e saiu",
+ "joined": "entrou",
+ "joined the room": "entrou na sala",
+ "Joins room with given alias": "Entra na sala com o nome informado",
+ "Kicks user with given id": "Remove usuário com o identificador informado",
+ "Labs": "Laboratório",
+ "Leave room": "Sair da sala",
+ "left and rejoined": "saiu e entrou novamente",
+ "left": "saiu",
+ "left the room": "saiu da sala",
+ "Logged in as": "Logado como",
+ "Login as guest": "Entrar como visitante",
+ "Logout": "Sair",
+ "Low priority": "Baixa prioridade",
+ "made future room history visible to": "deixou o histórico futuro da sala visível para",
+ "Manage Integrations": "Gerenciar integrações",
+ "Members only": "Apenas integrantes da sala",
+ "Mobile phone number": "Telefone celular",
+ "Moderator": "Moderador/a",
+ "my Matrix ID": "com meu ID do Matrix",
+ "Name": "Nome",
+ "Never send encrypted messages to unverified devices from this device": "Nunca envie mensagens criptografada para um dispositivo não verificado a partir deste dispositivo",
+ "Never send encrypted messages to unverified devices in this room from this device": "Nunca envie mensagens criptografadas para dispositivos não verificados nesta sala a partir deste dispositivo",
+ "New password": "Nova senha",
+ "New passwords must match each other.": "As novas senhas informadas precisam ser idênticas.",
+ "none": "nenhum",
+ "Notifications": "Notificações",
+ " (not supported by this browser)": "não suportado por este navegador",
+ "": "",
+ "NOT verified": "NÃO verificado",
+ "No users have specific privileges in this room": "Nenhum/a usuário/a possui privilégios específicos nesta sala",
+ "olm version: ": "Versão do olm: ",
+ "Once encryption is enabled for a room it cannot be turned off again (for now)": "Assim que a criptografia é ativada para uma sala, ela não poderá ser desativada novamente (ainda)",
+ "Once you've followed the link it contains, click below": "Quando você tiver clicado no link que está no email, clique o botão abaixo",
+ "Only people who have been invited": "Apenas pessoas que tenham sido convidadas",
+ "or": "ou",
+ "other": "outro",
+ "others": "outros",
+ "Password": "Senha",
+ "People": "Pessoas",
+ "Permissions": "Permissões",
+ "Phone": "Telefone",
+ "placed a": "iniciou uma",
+ "Please check your email and click on the link it contains. Once this is done, click continue.": "Por favor verifique seu email e clique no link enviado. Quando finalizar este processo, clique para continuar.",
+ "Please Register": "Por favor, cadastre-se",
+ "Privacy warning": "Alerta sobre privacidade",
+ "Privileged Users": "Usuárias/os privilegiadas/os",
+ "Profile": "Perfil",
+ "Refer a friend to Riot: ": "Indicar um amigo para participar",
+ "rejected": "recusou",
+ "rejected the invitation.": "rejeitou o convite.",
+ "Reject invitation": "Rejeitar convite",
+ "Remove Contact Information?": "Remover informação de contato?",
+ "removed their display name": "removeu seu nome",
+ "removed their profile picture": "removeu sua foto de perfil",
+ "Remove": "Remover",
+ "requested a VoIP conference": "requisitou uma conferência VoIP",
+ "Resetting password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved": "Atualmente, ao alterar sua senha, você também zera todas as chaves de criptografia ponta-a-ponta em todos os dipositivos, fazendo com que o histórico de conversas da sala não possa mais ser lido, a não ser que você antes exporte suas chaves de sala e as reimporte após a alteração da senha. No futuro, isso será melhorado",
+ "restore": "restaurar",
+ "Return to app": "Retornar ao aplicativo",
+ "Return to login screen": "Retornar à tela de login",
+ "Room Colour": "Cores da sala",
+ "Room name (optional)": "Título da Sala (opcional)",
+ "Rooms": "Salas",
+ "Scroll to unread messages": "Rolar para baixo para ver as mensagens não lidas",
+ "Searches DuckDuckGo for results": "Buscar por resultados no buscador DuckDuckGo",
+ "Send a message (unencrypted)": "Enviar uma mensagem",
+ "Send an encrypted message": "Enviar uma mensagem criptografada",
+ "Sender device information": "Informação do dispositivo emissor",
+ "Send Invites": "Enviar convites",
+ "Send Reset Email": "Enviar email para redefinição de senha",
+ "sent an image": "enviou uma imagem",
+ "sent an invitation to": "enviou um convite para",
+ "sent a video": "enviou um vídeo",
+ "Server may be unavailable or overloaded": "Servidor pode estar indisponível ou sobrecarregado",
+ "Server may be unavailable, overloaded, or you hit a bug": "Servidor pode estar indisponível, sobrecarregado ou aconteceu um erro de execução",
+ "Session ID": "Identificador de sessão",
+ "set a profile picture": "colocou uma foto de perfil",
+ "set their display name to": "configurou seu nome para",
+ "Settings": "Configurações",
+ "Show panel": "Mostrar painel",
+ "Signed Out": "Deslogar",
+ "Sign in": "Entrar",
+ "Sign out": "Sair",
+ "since the point in time of selecting this option": "a partir do momento em que você selecionar esta opção",
+ "since they joined": "desde que entraram na sala",
+ "since they were invited": "desde que foram convidadas/os",
+ "Someone": "Alguém",
+ "Sorry, this homeserver is using a login which is not recognised ": "Desculpe, o servidor padrão está usando um login de acesso que não é válido ",
+ "Start a chat": "Começar uma conversa",
+ "Start Chat": "Começar conversa",
+ "Success": "Sucesso",
+ "tag as": "etiquetar como",
+ "tag direct chat": "definir como conversa pessoal",
+ "The default role for new room members is": "O papel padrão para novas/os integrantes da sala é",
+ "The email address linked to your account must be entered.": "O endereço de email relacionado a sua conta precisa ser informado.",
+ "their invitations": "seus convites",
+ "their invitation": "seu convite",
+ "These are experimental features that may break in unexpected ways. Use with caution": "Estes são recursos experimentais que podem não funcionar corretamente. Use com cuidado.",
+ "The visibility of existing history will be unchanged": "A visibilidade do histórico atual não será alterada",
+ "This doesn't appear to be a valid email address": "Este não aparenta ser um endereço de email válido",
+ "this invitation?": "este convite?",
+ "This is a preview of this room. Room interactions have been disabled": "Esta é uma pré visualização desta sala. As interações com a sala estão desabilitadas",
+ "This room is not accessible by remote Matrix servers": "Esta sala não é acessível para servidores Matrix remotos",
+ "This room's internal ID is": "O ID interno desta sala é",
+ "times": "vezes",
+ "To ban users": "Para banir usuárias/os",
+ "To configure the room": "Para poder configurar a sala",
+ "To invite users into the room": "Para convidar usuárias/os para esta sala",
+ "to join the discussion": "para se juntar à conversa",
+ "To kick users": "Para poder remover pessoas da sala",
+ "To link to a room it must have": "Para fazer um link para uma sala, ela deve ter",
+ "To redact messages": "Para poder apagar mensagens",
+ "To reset your password, enter the email address linked to your account": "Para redefinir sua senha, entre com o email da sua conta",
+ "To send events of type": "Para enviar eventos do tipo",
+ "To send messages": "Para enviar mensagens",
+ "turned on end-to-end encryption (algorithm": "acionou a encriptação ponta-a-ponta (algoritmo",
+ "Unable to add email address": "Não foi possível adicionar endereço de email",
+ "Unable to remove contact information": "Não foi possível remover informação de contato",
+ "Unable to verify email address": "Não foi possível verificar o endereço de email",
+ "Unban": "Desfazer banimento",
+ "Unencrypted room": "Sala não criptografada",
+ "unencrypted": "não criptografado",
+ "unknown device": "dispositivo desconhecido",
+ "unknown error code": "código de erro desconhecido",
+ "unknown": "desconhecido",
+ "Upload avatar": "Enviar icone de perfil de usuário",
+ "uploaded a file": "enviou um arquivo",
+ "Upload Files": "Enviar arquivos",
+ "Upload file": "Enviar arquivo",
+ "User ID": "Identificador de Usuário",
+ "User Interface": "Interface de usuário",
+ "username": "Nome de usuária/o",
+ "Users": "Usuários",
+ "User": "Usuária/o",
+ "Verification Pending": "Verificação pendente",
+ "Verification": "Verificação",
+ "verified": "verificado",
+ "Video call": "Chamada de vídeo",
+ "Voice call": "Chamada de voz",
+ "VoIP conference finished": "Conferência VoIP encerrada",
+ "VoIP conference started": "Conferência VoIP iniciada",
+ "(warning: cannot be disabled again!)": "(atenção: esta operação não poderá ser desfeita depois!)",
+ "Warning!": "Atenção!",
+ "was banned": "banida/o",
+ "was invited": "convidada/o",
+ "was kicked": "retirada/o da sala",
+ "was unbanned": "des-banida/o",
+ "was": "foi",
+ "were": "foram",
+ "Who can access this room?": "Quem pode acessar esta sala?",
+ "Who can read history?": "Quem pode ler o histórico da sala?",
+ "Who would you like to add to this room?": "Quem Você gostaria que fosse adicionado a esta sala?",
+ "Who would you like to communicate with?": "Com quem você gostaria de se comunicar?",
+ "withdrawn": "retirado",
+ "Would you like to": "Você gostaria de",
+ "You are trying to access": "Você está tentando acessar a sala",
+ "You do not have permission to post to this room": "Você não tem permissão de postar nesta sala",
+ "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "Você foi desconectada/o de todos os dispositivos e portanto não receberá mais notificações no seu celular ou no computador. Para reativar as notificações, entre novamente em cada um dos dispositivos que costuma usar",
+ "You have no visible notifications": "Voce não possui notificações visíveis",
+ "you must be a": "você precisa ser",
+ "Your password has been reset": "Sua senha foi redefinida",
+ "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Sua senha foi alterada com sucesso. Você não receberá notificações em outros dispositivos até que você logue novamente por eles",
+ "You should not yet trust it to secure data": "Você não deve confiar nela ainda para preservar seus dados",
+ "Sun": "Dom",
+ "Mon": "Seg",
+ "Tue": "Ter",
+ "Wed": "Qua",
+ "Thu": "Qui",
+ "Fri": "Sex",
+ "Sat": "Sáb",
+ "Jan": "Jan",
+ "Feb": "Fev",
+ "Mar": "Mar",
+ "Apr": "Abr",
+ "May": "Mai",
+ "Jun": "Jun",
+ "Jul": "Jul",
+ "Aug": "Ago",
+ "Sep": "Set",
+ "Oct": "Out",
+ "Nov": "Nov",
+ "Dec": "Dez",
+ "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(day)s de %(monthName)s às %(time)s",
+ "%(weekDayName)s %(time)s": "%(weekDayName)s às %(time)s",
+ "en": "Inglês",
+ "pt-br": "Português do Brasil",
+ "de": "Alemão",
+ "da": "Dinamarquês",
+ "ru": "Russo",
+ "%(targetName)s accepted an invitation": "%(targetName)s aceitou um convite.",
+ "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s aceitou o convite para %(displayName)s.",
+ "all room members, from the point they are invited": "todas/os as/os integrantes da sala, a partir do momento em que foram convidadas/os",
+ "all room members, from the point they joined": "todas/os as/os integrantes da sala, a partir do momento em que entraram na sala",
+ "%(names)s and %(lastPerson)s are typing": "%(names)s e %(lastPerson)s estão escrevendo",
+ "%(names)s and one other are typing": "%(names)s e uma outra pessoa estão escrevendo",
+ "%(names)s and %(count)s others are typing": "%(names)s e %(count)s outras pessoas estão escrevendo",
+ "%(senderName)s answered the call.": "%(senderName)s atendeu à chamada.",
+ "anyone.": "qualquer pessoa",
+ "%(senderName)s banned %(targetName)s.": "%(senderName)s removeu %(targetName)s da sala.",
+ "Call Timeout": "Tempo esgotado. Chamada encerrada",
+ "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s": "%(senderName)s mudou seu nome público de %(oldDisplayName)s para %(displayName)s",
+ "%(senderName)s changed their profile picture": "%(senderName)s alterou sua imagem de perfil",
+ "%(senderName)s changed the power level of %(powerLevelDiffText)s": "%(senderName)s alterou o nível de permissões de %(powerLevelDiffText)s",
+ "%(senderDisplayName)s changed the room name to %(roomName)s": "%(senderDisplayName)s alterou o nome da sala para %(roomName)s",
+ "%(senderDisplayName)s changed the topic to %(topic)s": "%(senderDisplayName)s alterou o tópico para %(topic)s",
+ "click to reveal": "clique para ver",
+ "Conference call failed": "Chamada de conferência falhou",
+ "Conference calling is in development and may not be reliable": "Chamadas de conferência estão em desenvolvimento e portanto podem não funcionar",
+ "Conference calls are not supported in encrypted rooms": "Chamadas de conferência não são possíveis em salas criptografadas",
+ "Conference calls are not supported in this client": "Chamadas de conferência não são possíveis neste navegador",
+ "/ddg is not a command": "/ddg não é um comando",
+ "Drop here %(toAction)s": "Arraste aqui %(toAction)s",
+ "Drop here to tag %(section)s": "Arraste aqui para marcar como %(section)s",
+ "%(senderName)s ended the call": "%(senderName)s finalizou a chamada",
+ "Existing Call": "Chamada em andamento",
+ "Failed to lookup current room": "Não foi possível buscar na sala atual",
+ "Failed to send email": "Não foi possível enviar email",
+ "Failed to send request.": "Não foi possível mandar requisição.",
+ "Failed to set up conference call": "Não foi possível montar a chamada de conferência",
+ "Failed to verify email address: make sure you clicked the link in the email": "Não foi possível verificar o endereço de email: verifique se você realmente clicou no link que está no seu email",
+ "Failure to create room": "Não foi possível criar a sala",
+ "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s de %(fromPowerLevel)s para %(toPowerLevel)s",
+ "Guest users can't create new rooms. Please register to create room and start a chat": "Visitantes não podem criar novas salas. Por favor, registre-se para criar uma sala e iniciar uma conversa",
+ "%(senderName)s invited %(targetName)s.": "%(senderName)s convidou %(targetName)s.",
+ "%(displayName)s is typing": "%(displayName)s está escrevendo",
+ "%(targetName)s joined the room.": "%(targetName)s entrou na sala.",
+ "%(senderName)s kicked %(targetName)s.": "%(senderName)s removeu %(targetName)s da sala.",
+ "%(targetName)s left the room": "%(targetName)s saiu da sala",
+ "%(senderName)s made future room history visible to": "%(senderName)s deixou o histórico futuro da sala visível para",
+ "Missing room_id in request": "Faltou o id da sala na requisição",
+ "Missing user_id in request": "Faltou o id de usuário na requisição",
+ "Must be viewing a room": "Tem que estar visualizando uma sala",
+ "New Composer & Autocomplete": "Nova ferramenta de formatação de mensagens e autocompletar",
+ "(not supported by this browser)": "(não é compatível com este navegador)",
+ "olm version": "versão olm",
+ "%(senderName)s placed a %(callType)s call.": "%(senderName)s fez uma chamada de %(callType)s.",
+ "Power level must be positive integer.": "O nível de permissões tem que ser um número inteiro e positivo.",
+ "Press": "Aperte",
+ "Reason": "Razão",
+ "Refer a friend to Riot": "Recomende Riot a um/a amigo/a",
+ "%(targetName)s rejected the invitation.": "%(targetName)s recusou o convite.",
+ "%(senderName)s removed their display name (%(oldDisplayName)s)": "%(senderName)s removeu o seu nome público (%(oldDisplayName)s)",
+ "%(senderName)s removed their profile picture": "%(senderName)s removeu sua imagem de perfil",
+ "%(senderName)s requested a VoIP conference": "%(senderName)s está solicitando uma conferência de voz",
+ "Riot does not have permission to send you notifications - please check your browser settings": "Riot não tem permissões para enviar notificações a você - por favor, verifique as configurações do seu navegador",
+ "Riot was not given permission to send notifications - please try again": "Riot não tem permissões para enviar notificações a você - por favor, tente novamente",
+ "Room %(roomId)s not visible": "A sala %(roomId)s não está visível",
+ "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s enviou uma imagem.",
+ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s enviou um convite para %(targetDisplayName)s entrar na sala.",
+ "%(senderName)s set a profile picture": "%(senderName)s definiu uma imagem de perfil",
+ "%(senderName)s set their display name to %(displayName)s": "%(senderName)s definiu seu nome público para %(displayName)s",
+ "tag as %(tagName)s": "marcar como %(tagName)s",
+ "This email address is already in use": "Este endereço de email já está sendo usado",
+ "This email address was not found": "Este endereço de email não foi encontrado",
+ "The file '%(fileName)s' exceeds this home server's size limit for uploads": "O arquivo '%(fileName)s' ultrapassa o limite de tamanho que nosso servidor permite enviar",
+ "The file '%(fileName)s' failed to upload": "Não foi possível enviar o arquivo '%(fileName)s",
+ "The remote side failed to pick up": "Houve alguma falha que não permitiu a outra pessoa atender à chamada",
+ "This room is not recognised.": "Esta sala não é reconhecida.",
+ "These are experimental features that may break in unexpected ways": "Estas são funcionalidades experimentais que podem apresentar falhas",
+ "This phone number is already in use": "Este número de telefone já está sendo usado",
+ "to browse the directory": "para navegar na lista pública de salas",
+ "to demote": "para reduzir prioridade",
+ "to favourite": "para favoritar",
+ "to make a room or": "para criar uma sala ou",
+ "To redact other users' messages": "Para apagar mensagens de outras pessoas",
+ "to restore": "para restaurar",
+ "to start a chat with someone": "para iniciar uma conversa com alguém",
+ "to tag direct chat": "para marcar a conversa como pessoal",
+ "To use it, just wait for autocomplete results to load and tab through them.": "Para usar esta funcionalidade, espere o carregamento dos resultados de autocompletar e então escolha entre as opções.",
+ "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s)": "%(senderName)s ativou criptografia ponta a ponta (algoritmo %(algorithm)s)",
+ "Unable to restore previous session": "Não foi possível restaurar a sessão anterior",
+ "%(senderName)s unbanned %(targetName)s.": "%(senderName)s desfez o banimento de %(targetName)s.",
+ "Unable to capture screen": "Não foi possível capturar a imagem da tela",
+ "Unable to enable Notifications": "Não foi possível ativar as notificações",
+ "Upload Failed": "O envio falhou",
+ "Usage": "Uso",
+ "Use with caution": "Use com cautela",
+ "VoIP is unsupported": "Chamada de voz não permitida",
+ "%(senderName)s withdrew %(targetName)s's inivitation.": "%(senderName)s desfez o convite a %(targetName)s's.",
+ "You are already in a call": "Você já está em uma chamada",
+ "You're not in any rooms yet! Press": "Você ainda não está em nenhuma sala! Pressione",
+ "You are trying to access %(roomName)s": "Você está tentando acessar a sala %(roomName)s",
+ "You cannot place a call with yourself": "Você não pode iniciar uma chamada",
+ "You cannot place VoIP calls in this browser": "Você não pode fazer chamadas de voz neste navegador",
+ "You need to be able to invite users to do that.": "Para fazer isso, você tem que ter permissão para convidar outras pessoas.",
+ "You need to be logged in.": "Você tem que estar logado.",
+ "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience": "É necessário que você faça login novamente para poder gerar as chaves de criptografia ponta-a-ponta para este dispositivo e então enviar sua chave pública para o servidor. Pedimos desculpas pela inconveniência, é preciso fazer isso apenas única uma vez",
+ "Your email address does not appear to be associated with a Matrix ID on this Homeserver": "O seu endereço de email não parece estar associado a uma conta de usuária/o Matrix neste servidor",
+ "Set a display name:": "Defina um nome público para você:",
+ "Upload an avatar:": "Envie uma imagem de perfil para identificar você:",
+ "This server does not support authentication with a phone number.": "Este servidor não permite a autenticação através de números de telefone.",
+ "Missing password.": "Faltou a senha.",
+ "Passwords don't match.": "As senhas não conferem.",
+ "Password too short (min %(MIN_PASSWORD_LENGTH)s).": "A senha é muito curta (o mínimo é de %(MIN_PASSWORD_LENGTH)s caracteres).",
+ "This doesn't look like a valid email address.": "Este endereço de email não parece ser válido.",
+ "This doesn't look like a valid phone number.": "Este número de telefone não parece ser válido.",
+ "User names may only contain letters, numbers, dots, hyphens and underscores.": "Nomes de usuária/o podem conter apenas letras, números, pontos, hífens e linha inferior (_).",
+ "An unknown error occurred.": "Um erro desconhecido ocorreu.",
+ "I already have an account": "Eu já tenho uma conta",
+ "An error occured: %(error_string)s": "Um erro ocorreu: %(error_string)s",
+ "Topic": "Tópico",
+ "Make this room private": "Tornar esta sala privada",
+ "Share message history with new users": "Compartilhar histórico de mensagens com novas/os usuárias/os",
+ "Encrypt room": "Criptografar esta sala",
+ "There are no visible files in this room": "Não há arquivos públicos nesta sala",
+ "Error changing language": "Erro ao mudar de idioma",
+ "Riot was unable to find the correct Data for the selected Language.": "Não foi possível encontrar os dados para o idioma selecionado.",
+ "Connectivity to the server has been lost.": "A conexão com o servidor foi perdida. Verifique sua conexão de internet.",
+ "Sent messages will be stored until your connection has returned.": "Imagens enviadas ficarão armazenadas até que sua conexão seja reestabelecida.",
+ "Auto-complete": "Autocompletar",
+ "Resend all": "Reenviar todas as mensagens",
+ "cancel all": "cancelar todas",
+ "now. You can also select individual messages to resend or cancel.": "agora. Você também pode escolher mensagens individuais e definir se vai reenviar ou cancelar o envio.",
+ "Active call": "Chamada ativa",
+ "af": "Afrikaans",
+ "ar-ae": "Árabe (U.A.E.)",
+ "ar-bh": "Árabe (Bahrain)",
+ "ar-dz": "Árabe (Algéria)",
+ "ar-eg": "Árabe (Egipto)",
+ "ar-tn": "Árabe (Tunisia)",
+ "be": "Bielorusso",
+ "bg": "Búlgaro",
+ "ca": "Catalão",
+ "cs": "Checo",
+ "de-at": "Alemao (Austria)",
+ "el": "Grego",
+ "en-au": "Inglês (Austrália)",
+ "en-ca": "Inglês (Canadá)",
+ "en-ie": "Inglês (Irlanda)",
+ "en-nz": "Inglês (Nova Zelândia)",
+ "en-us": "Inglês (Estados Unidos)",
+ "es-ar": "Espanhol (Argentina)",
+ "es-mx": "Espanhol (Mexico)",
+ "es-py": "Espanhol (Paraguai)",
+ "es": "Espanhol (Espanha)",
+ "et": "Estoniano",
+ "fa": "Farsi",
+ "fi": "Finlandês",
+ "fr-be": "Francês (Bélgica)",
+ "fr-ca": "Francês (Canadá)",
+ "fr-ch": "Francês (Suíça)",
+ "fr": "Francês",
+ "ga": "Irlandês",
+ "he": "Hebreu",
+ "hi": "Hindi",
+ "hr": "Croata",
+ "hu": "Húngaro",
+ "id": "Indonésio",
+ "is": "Islandês",
+ "it": "Italiano",
+ "ja": "Japonês",
+ "ji": "iídiche",
+ "lt": "Lituano",
+ "lv": "Letão",
+ "mt": "Maltês",
+ "nl-be": "Holandês (Bélgica)",
+ "nl": "Holandês",
+ "no": "Norueguês",
+ "pl": "Polaco",
+ "pt": "Português",
+ "ro": "Romeno",
+ "sk": "Eslovaco",
+ "sl": "Esloveno",
+ "sq": "Albanês",
+ "sr": "Sérvio (Latim)",
+ "sv": "Sueco",
+ "th": "Tailandês",
+ "tn": "tswana",
+ "tr": "Turco",
+ "ts": "tsonga",
+ "uk": "Ucraniano",
+ "ur": "urdu",
+ "ve": "venda",
+ "vi": "Vietnamita",
+ "xh": "xosa",
+ "zu": "zulu",
+ "Failed to forget room %(errCode)s": "Falha ao esquecer a sala %(errCode)s",
+ "Failed to join the room": "Falha ao entrar na sala",
+ "Sunday": "Domingo",
+ "Monday": "Segunda",
+ "Tuesday": "Terça",
+ "Wednesday": "Quarta",
+ "Thursday": "Quinta",
+ "Friday": "Sexta",
+ "Saturday": "Sábado"
+}
diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json
new file mode 100644
index 0000000000..87570228df
--- /dev/null
+++ b/src/i18n/strings/pt_BR.json
@@ -0,0 +1,706 @@
+{
+ "accept": "aceitar",
+ "accepted an invitation": "aceitou um convite",
+ "accepted the invitation for": "aceitou o convite para",
+ "Account": "Conta",
+ "Add email address": "Adicionar endereço de email",
+ "Add phone number": "Adicionar número de telefone",
+ "Admin": "Administrador/a",
+ "Advanced": "Avançado",
+ "Algorithm": "Algoritmo",
+ "all room members, from the point they are invited.": "todos os membros da sala, a partir de quando foram convidados",
+ "all room members, from the point they joined.": "todos os membros da sala, a partir de quando entraram",
+ "all room members": "todas as pessoas da sala",
+ "an address": "um endereço",
+ "and": "e",
+ "An email has been sent to": "Um email foi enviado para",
+ "New passwords don't match": "As novas senhas não conferem",
+ "A new password must be entered.": "Uma nova senha precisa ser informada.",
+ "answered the call.": "respondeu à chamada.",
+ "anyone": "qualquer um",
+ "Anyone who knows the room's link, apart from guests": "Qualquer pessoa que tenha o link da sala, exceto visitantes",
+ "Anyone who knows the room's link, including guests": "Qualquer pessoa que tenha o link da sala, incluindo visitantes",
+ "Are you sure you want to leave the room?": "Você tem certeza que deseja sair da sala?",
+ "Are you sure you want to reject the invitation?": "Você tem certeza que deseja rejeitar este convite?",
+ "Are you sure you want upload the following files?": "Você tem certeza que deseja enviar os seguintes arquivos?",
+ "banned": "baniu",
+ "Banned users": "Usuárias/os banidas/os",
+ "Bans user with given id": "Banir usuários com o identificador informado",
+ "Blacklisted": "Bloqueado",
+ "Bug Report": "Repotar problemas de funcionamento",
+ "Bulk Options": "Opcões de Batelada",
+ "Can't load user settings": "Não é possível carregar configurações de usuário",
+ "changed avatar": "mudou sua imagem de perfil (avatar)",
+ "changed name": "mudou seu nome",
+ "changed their display name from": "mudou seu nome para",
+ "changed their profile picture": "alterou sua foto de perfil",
+ "changed the power level of": "mudou o nível de permissões de",
+ "changed the room name to": "mudou o nome da sala para",
+ "%(senderDisplayName)s changed the topic to \"%(topic)s\"": "%(senderDisplayName)s mudou o tópico para \"%(topic)s\"",
+ "Changes to who can read history will only apply to future messages in this room": "As mudanças sobre quem pode ler o histórico da sala só serão aplicadas às mensagens futuras nesta sala",
+ "Changes your display nickname": "Troca o seu apelido",
+ "Claimed Ed25519 fingerprint key": "Chave reivindicada da Impressão Digital Ed25519",
+ "Clear Cache and Reload": "Limpar Memória Cache e Recarregar",
+ "Clear Cache": "Limpar Memória Cache",
+ "Click here": "Clique aqui",
+ "Click here to fix": "Clique aqui para resolver isso",
+ "Commands": "Comandos",
+ "Confirm password": "Confirme a nova senha",
+ "Confirm your new password": "Confirme a nova senha",
+ "Continue": "Continuar",
+ "Could not connect to the integration server": "Não foi possível conectar ao servidor de integrações",
+ "Create an account": "Criar uma conta",
+ "Create a new account": "Criar uma conta",
+ "Create Room": "Criar Sala",
+ "Cryptography": "Criptografia",
+ "Current password": "Senha atual",
+ "Curve25519 identity key": "Chave de Indetificação Curve25519",
+ "Deactivate Account": "Desativar conta",
+ "Deactivate my account": "Desativar minha conta",
+ "decline": "rejeitar",
+ "Decryption error": "Erro de descriptografia",
+ "Default": "Padrão",
+ "demote": "reduzir prioridade",
+ "Deops user with given id": "Retirar função de moderador do usuário com o identificador informado",
+ "Device ID": "Identificador do dispositivo",
+ "Devices will not yet be able to decrypt history from before they joined the room": "Os dispositivos não serão ainda capazes de descriptografar o histórico anterior à sua entrada na sala",
+ "Direct Chat": "Conversa pessoal",
+ "Disable inline URL previews by default": "Desabilitar visualizações prévias por padrão",
+ "Display name": "Nome",
+ "Displays action": "Visualizar atividades",
+ "Ed25519 fingerprint": "Impressão Digital Ed25519",
+ "Email Address": "endereço de email",
+ "Email, name or matrix ID": "Email, nome ou ID matrix",
+ "Emoji": "Emoji",
+ "Encrypted messages will not be visible on clients that do not yet implement encryption": "Mensagens criptografadas não serão visíveis em clientes que ainda não implementaram criptografia",
+ "Encrypted room": "Sala criptografada",
+ "Encryption is enabled in this room": "Criptografia está habilitada nesta sala",
+ "Encryption is not enabled in this room": "Criptografia não está habilitada nesta sala",
+ "ended the call.": "chamada encerrada.",
+ "End-to-end encryption information": "Informação criptografada ponta-a-ponta",
+ "End-to-end encryption is in beta and may not be reliable": "A criptografia ponta a ponta está em estágio beta e não deve ser totalmente confiável",
+ "Error": "Erro",
+ "Event information": "Informação do evento",
+ "Export E2E room keys": "Exportar chaves ponta-a-ponta da sala",
+ "Failed to change password. Is your password correct?": "Não foi possível modificar a senha. A senha informada está correta?",
+ "Failed to forget room": "Não foi possível esquecer a sala",
+ "Failed to leave room": "Falha ao tentar deixar a sala",
+ "Failed to reject invitation": "Falha ao tentar rejeitar convite",
+ "Failed to send email: ": "Falha ao tentar enviar email",
+ "Failed to set avatar.": "Falha ao tentar definir foto do perfil.",
+ "Failed to unban": "Não foi possível desfazer o banimento",
+ "Failed to upload file": "Falha ao enviar o arquivo",
+ "favourite": "favoritar",
+ "Favourite": "Favorito",
+ "Favourites": "Favoritos",
+ "Filter room members": "Filtrar integrantes da sala",
+ "Forget room": "Esquecer sala",
+ "Forgot your password?": "Esqueceu sua senha?",
+ "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Por segurança, deslogar irá remover qualquer chave de criptografia ponta-a-ponta deste navegador. Caso deseje descriptografar o histórico das suas conversas E2E em sessões Riot futuras, por favor exporte as chaves da sala para sua garantia.",
+ "For security, this session has been signed out. Please sign in again": "Por questões de segurança, esta sessão foi encerrada. Por gentileza conecte-se novamente",
+ "Found a bug?": "Encontrou um problema de funcionamento do sistema?",
+ "Guests cannot join this room even if explicitly invited": "Visitantes não podem entrar nesta sala, mesmo se forem explicitamente convidadas/os",
+ "Guests can't set avatars. Please register": "Convidados não podem definir uma foto do perfil. Por favor, registre-se",
+ "Guests can't use labs features. Please register": "Convidados não podem usar as funcionalidades de laboratório (lab), por gentileza se registre",
+ "Guest users can't upload files. Please register to upload": "Usuários não podem fazer envio de arquivos. Por favor se cadastre para enviar arquivos",
+ "had": "teve",
+ "Hangup": "Desligar",
+ "Historical": "Histórico",
+ "Homeserver is": "Servidor padrão é",
+ "Identity Server is": "O servidor de identificação é",
+ "I have verified my email address": "Eu verifiquei o meu endereço de email",
+ "Import E2E room keys": "Importar chave de criptografia ponta-a-ponta (E2E) da sala",
+ "Invalid Email Address": "Endereço de email inválido",
+ "invited": "convidou",
+ "Invite new room members": "Convidar novas pessoas para ingressar na sala",
+ "Invites": "Convidar",
+ "Invites user with given id to current room": "Convidar usuários com um dado identificador para esta sala",
+ "is a": "é um(a)",
+ "I want to sign in with": "Quero entrar",
+ "joined and left": "entrou e saiu",
+ "joined": "entrou",
+ "joined the room": "entrou na sala",
+ "Joins room with given alias": "Entra na sala com o nome informado",
+ "Kicks user with given id": "Remove usuário com o identificador informado",
+ "Labs": "Laboratório",
+ "Leave room": "Sair da sala",
+ "left and rejoined": "saiu e entrou novamente",
+ "left": "saiu",
+ "left the room": "saiu da sala",
+ "Logged in as": "Logado como",
+ "Login as guest": "Entrar como visitante",
+ "Logout": "Sair",
+ "Low priority": "Baixa prioridade",
+ "made future room history visible to": "deixou o histórico futuro da sala visível para",
+ "Manage Integrations": "Gerenciar integrações",
+ "Members only": "Apenas integrantes da sala",
+ "Mobile phone number": "Telefone celular",
+ "Moderator": "Moderador/a",
+ "my Matrix ID": "com meu ID do Matrix",
+ "Name": "Nome",
+ "Never send encrypted messages to unverified devices from this device": "Nunca envie mensagens criptografada para um dispositivo não verificado a partir deste dispositivo",
+ "Never send encrypted messages to unverified devices in this room from this device": "Nunca envie mensagens criptografadas para dispositivos não verificados nesta sala a partir deste dispositivo",
+ "New password": "Nova senha",
+ "New passwords must match each other.": "As novas senhas informadas precisam ser idênticas.",
+ "none": "nenhum",
+ "Notifications": "Notificações",
+ " (not supported by this browser)": "não suportado por este navegador",
+ "": "",
+ "NOT verified": "NÃO verificado",
+ "No users have specific privileges in this room": "Nenhum/a usuário/a possui privilégios específicos nesta sala",
+ "olm version: ": "Versão do olm: ",
+ "Once encryption is enabled for a room it cannot be turned off again (for now)": "Assim que a criptografia é ativada para uma sala, ela não poderá ser desativada novamente (ainda)",
+ "Once you've followed the link it contains, click below": "Quando você tiver clicado no link que está no email, clique o botão abaixo",
+ "Only people who have been invited": "Apenas pessoas que tenham sido convidadas",
+ "or": "ou",
+ "other": "outro",
+ "others": "outros",
+ "Password": "Senha",
+ "Passwords can't be empty": "As senhas não podem estar em branco",
+ "People": "Pessoas",
+ "Permissions": "Permissões",
+ "Phone": "Telefone",
+ "placed a": "iniciou uma",
+ "Please check your email and click on the link it contains. Once this is done, click continue.": "Por favor verifique seu email e clique no link enviado. Quando finalizar este processo, clique para continuar.",
+ "Please Register": "Por favor, cadastre-se",
+ "Privacy warning": "Alerta sobre privacidade",
+ "Privileged Users": "Usuárias/os privilegiadas/os",
+ "Profile": "Perfil",
+ "Refer a friend to Riot: ": "Indicar um amigo para participar",
+ "rejected": "recusou",
+ "rejected the invitation.": "rejeitou o convite.",
+ "Reject invitation": "Rejeitar convite",
+ "Remove Contact Information?": "Remover informação de contato?",
+ "removed their display name": "removeu seu nome",
+ "removed their profile picture": "removeu sua foto de perfil",
+ "Remove": "Remover",
+ "requested a VoIP conference": "requisitou uma conferência VoIP",
+ "Resetting password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved": "Atualmente, ao alterar sua senha, você também zera todas as chaves de criptografia ponta-a-ponta em todos os dipositivos, fazendo com que o histórico de conversas da sala não possa mais ser lido, a não ser que você antes exporte suas chaves de sala e as reimporte após a alteração da senha. No futuro, isso será melhorado",
+ "restore": "restaurar",
+ "Return to app": "Retornar ao aplicativo",
+ "Return to login screen": "Retornar à tela de login",
+ "Room Colour": "Cores da sala",
+ "Room name (optional)": "Título da Sala (opcional)",
+ "Rooms": "Salas",
+ "Scroll to bottom of page": "Ir para o fim da página",
+ "Scroll to unread messages": "Rolar para baixo para ver as mensagens não lidas",
+ "Searches DuckDuckGo for results": "Buscar por resultados no buscador DuckDuckGo",
+ "Send a message (unencrypted)": "Enviar uma mensagem",
+ "Send an encrypted message": "Enviar uma mensagem criptografada",
+ "Sender device information": "Informação do dispositivo emissor",
+ "Send Invites": "Enviar convites",
+ "Send Reset Email": "Enviar email para redefinição de senha",
+ "sent an image": "enviou uma imagem",
+ "sent an invitation to": "enviou um convite para",
+ "sent a video": "enviou um vídeo",
+ "Server may be unavailable or overloaded": "Servidor pode estar indisponível ou sobrecarregado",
+ "Server may be unavailable, overloaded, or you hit a bug": "Servidor pode estar indisponível, sobrecarregado ou aconteceu um erro de execução",
+ "Session ID": "Identificador de sessão",
+ "set a profile picture": "colocou uma foto de perfil",
+ "set their display name to": "configurou seu nome para",
+ "Settings": "Configurações",
+ "Show panel": "Mostrar painel",
+ "Signed Out": "Deslogar",
+ "Sign in": "Entrar",
+ "Sign out": "Sair",
+ "since the point in time of selecting this option": "a partir do momento em que você selecionar esta opção",
+ "since they joined": "desde que entraram na sala",
+ "since they were invited": "desde que foram convidadas/os",
+ "Someone": "Alguém",
+ "Sorry, this homeserver is using a login which is not recognised ": "Desculpe, o servidor padrão está usando um login de acesso que não é válido ",
+ "Start a chat": "Começar uma conversa",
+ "Start Chat": "Começar conversa",
+ "Success": "Sucesso",
+ "tag as": "etiquetar como",
+ "tag direct chat": "definir como conversa pessoal",
+ "The default role for new room members is": "O papel padrão para novas/os integrantes da sala é",
+ "The email address linked to your account must be entered.": "O endereço de email relacionado a sua conta precisa ser informado.",
+ "their invitations": "seus convites",
+ "their invitation": "seu convite",
+ "These are experimental features that may break in unexpected ways. Use with caution": "Estes são recursos experimentais que podem não funcionar corretamente. Use com cuidado.",
+ "The visibility of existing history will be unchanged": "A visibilidade do histórico atual não será alterada",
+ "This doesn't appear to be a valid email address": "Este não aparenta ser um endereço de email válido",
+ "this invitation?": "este convite?",
+ "This is a preview of this room. Room interactions have been disabled": "Esta é uma pré visualização desta sala. As interações com a sala estão desabilitadas",
+ "This room is not accessible by remote Matrix servers": "Esta sala não é acessível para servidores Matrix remotos",
+ "This room's internal ID is": "O ID interno desta sala é",
+ "times": "vezes",
+ "To ban users": "Para banir usuárias/os",
+ "To configure the room": "Para poder configurar a sala",
+ "To invite users into the room": "Para convidar usuárias/os para esta sala",
+ "to join the discussion": "para se juntar à conversa",
+ "To kick users": "Para poder remover pessoas da sala",
+ "To link to a room it must have": "Para fazer um link para uma sala, ela deve ter",
+ "To redact messages": "Para poder apagar mensagens",
+ "To reset your password, enter the email address linked to your account": "Para redefinir sua senha, entre com o email da sua conta",
+ "To send events of type": "Para enviar eventos do tipo",
+ "To send messages": "Para enviar mensagens",
+ "turned on end-to-end encryption (algorithm": "acionou a encriptação ponta-a-ponta (algoritmo",
+ "Unable to add email address": "Não foi possível adicionar endereço de email",
+ "Unable to remove contact information": "Não foi possível remover informação de contato",
+ "Unable to verify email address": "Não foi possível verificar o endereço de email",
+ "Unban": "Desfazer banimento",
+ "Unencrypted room": "Sala não criptografada",
+ "unencrypted": "não criptografado",
+ "unknown device": "dispositivo desconhecido",
+ "unknown error code": "código de erro desconhecido",
+ "unknown": "desconhecido",
+ "Upload avatar": "Enviar icone de perfil de usuário",
+ "uploaded a file": "enviou um arquivo",
+ "Upload Files": "Enviar arquivos",
+ "Upload file": "Enviar arquivo",
+ "User ID": "Identificador de Usuário",
+ "User Interface": "Interface de usuário",
+ "username": "Nome de usuária/o",
+ "Users": "Usuários",
+ "User": "Usuária/o",
+ "Verification Pending": "Verificação pendente",
+ "Verification": "Verificação",
+ "verified": "verificado",
+ "Video call": "Chamada de vídeo",
+ "Voice call": "Chamada de voz",
+ "VoIP conference finished": "Conferência VoIP encerrada",
+ "VoIP conference started": "Conferência VoIP iniciada",
+ "(warning: cannot be disabled again!)": "(atenção: esta operação não poderá ser desfeita depois!)",
+ "Warning": "Atenção!",
+ "was banned": "banida/o",
+ "was invited": "convidada/o",
+ "was kicked": "retirada/o da sala",
+ "was unbanned": "des-banida/o",
+ "was": "foi",
+ "were": "foram",
+ "Who can access this room?": "Quem pode acessar esta sala?",
+ "Who can read history?": "Quem pode ler o histórico da sala?",
+ "Who would you like to add to this room?": "Quais pessoas você gostaria de adicionar a esta sala?",
+ "Who would you like to communicate with?": "Com quem você gostaria de se comunicar?",
+ "withdrawn": "retirado",
+ "Would you like to": "Você gostaria de",
+ "You are trying to access": "Você está tentando acessar a sala",
+ "You do not have permission to post to this room": "Você não tem permissão de postar nesta sala",
+ "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "Você foi desconectada/o de todos os dispositivos e portanto não receberá mais notificações no seu celular ou no computador. Para reativar as notificações, entre novamente em cada um dos dispositivos que costuma usar",
+ "You have no visible notifications": "Voce não possui notificações visíveis",
+ "you must be a": "você precisa ser",
+ "Your password has been reset": "Sua senha foi redefinida",
+ "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Sua senha foi alterada com sucesso. Você não receberá notificações em outros dispositivos até que você logue novamente por eles",
+ "You should not yet trust it to secure data": "Você não deve confiar nela ainda para preservar seus dados",
+ "Sun": "Dom",
+ "Mon": "Seg",
+ "Tue": "Ter",
+ "Wed": "Qua",
+ "Thu": "Qui",
+ "Fri": "Sex",
+ "Sat": "Sáb",
+ "Jan": "Jan",
+ "Feb": "Fev",
+ "Mar": "Mar",
+ "Apr": "Abr",
+ "May": "Mai",
+ "Jun": "Jun",
+ "Jul": "Jul",
+ "Aug": "Ago",
+ "Sep": "Set",
+ "Oct": "Out",
+ "Nov": "Nov",
+ "Dec": "Dez",
+ "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(day)s de %(monthName)s às %(time)s",
+ "%(weekDayName)s %(time)s": "%(weekDayName)s às %(time)s",
+ "en": "Inglês",
+ "pt-br": "Português do Brasil",
+ "de": "Alemão",
+ "da": "Dinamarquês",
+ "ru": "Russo",
+ "%(targetName)s accepted an invitation": "%(targetName)s aceitou um convite",
+ "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s aceitou o convite para %(displayName)s.",
+ "all room members, from the point they are invited": "todas/os as/os integrantes da sala, a partir do momento em que foram convidadas/os",
+ "all room members, from the point they joined": "todas/os as/os integrantes da sala, a partir do momento em que entraram na sala",
+ "%(names)s and %(lastPerson)s are typing": "%(names)s e %(lastPerson)s estão escrevendo",
+ "%(names)s and one other are typing": "%(names)s e uma outra pessoa estão escrevendo",
+ "%(names)s and %(count)s others are typing": "%(names)s e %(count)s outras pessoas estão escrevendo",
+ "%(senderName)s answered the call.": "%(senderName)s atendeu à chamada.",
+ "anyone.": "qualquer pessoa",
+ "%(senderName)s banned %(targetName)s.": "%(senderName)s removeu %(targetName)s da sala.",
+ "Call Timeout": "Tempo esgotado. Chamada encerrada",
+ "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s": "%(senderName)s mudou seu nome público de %(oldDisplayName)s para %(displayName)s",
+ "%(senderName)s changed their profile picture": "%(senderName)s alterou sua imagem de perfil",
+ "%(senderName)s changed the power level of %(powerLevelDiffText)s": "%(senderName)s alterou o nível de permissões de %(powerLevelDiffText)s",
+ "%(senderDisplayName)s changed the room name to %(roomName)s": "%(senderDisplayName)s alterou o nome da sala para %(roomName)s",
+ "%(senderDisplayName)s changed the topic to %(topic)s": "%(senderDisplayName)s alterou o tópico para %(topic)s",
+ "click to reveal": "clique para ver",
+ "Conference call failed": "Chamada de conferência falhou",
+ "Conference calling is in development and may not be reliable": "Chamadas de conferência estão em desenvolvimento e portanto podem não funcionar",
+ "Conference calls are not supported in encrypted rooms": "Chamadas de conferência não são possíveis em salas criptografadas",
+ "Conference calls are not supported in this client": "Chamadas de conferência não são possíveis neste navegador",
+ "/ddg is not a command": "/ddg não é um comando",
+ "Drop here %(toAction)s": "Arraste aqui %(toAction)s",
+ "Drop here to tag %(section)s": "Arraste aqui para marcar como %(section)s",
+ "%(senderName)s ended the call": "%(senderName)s finalizou a chamada",
+ "Existing Call": "Chamada em andamento",
+ "Failed to lookup current room": "Não foi possível buscar na sala atual",
+ "Failed to send email": "Não foi possível enviar email",
+ "Failed to send request.": "Não foi possível mandar requisição.",
+ "Failed to set up conference call": "Não foi possível montar a chamada de conferência",
+ "Failed to verify email address: make sure you clicked the link in the email": "Não foi possível verificar o endereço de email: verifique se você realmente clicou no link que está no seu email",
+ "Failure to create room": "Não foi possível criar a sala",
+ "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s de %(fromPowerLevel)s para %(toPowerLevel)s",
+ "Guest users can't create new rooms. Please register to create room and start a chat": "Visitantes não podem criar novas salas. Por favor, registre-se para criar uma sala e iniciar uma conversa",
+ "%(senderName)s invited %(targetName)s.": "%(senderName)s convidou %(targetName)s.",
+ "%(displayName)s is typing": "%(displayName)s está escrevendo",
+ "%(targetName)s joined the room.": "%(targetName)s entrou na sala.",
+ "%(senderName)s kicked %(targetName)s.": "%(senderName)s removeu %(targetName)s da sala.",
+ "%(targetName)s left the room.": "%(targetName)s saiu da sala.",
+ "%(senderName)s made future room history visible to": "%(senderName)s deixou o histórico futuro da sala visível para",
+ "Missing room_id in request": "Faltou o id da sala na requisição",
+ "Missing user_id in request": "Faltou o id de usuário na requisição",
+ "Must be viewing a room": "Tem que estar visualizando uma sala",
+ "New Composer & Autocomplete": "Nova ferramenta de formatação de mensagens e autocompletar",
+ "(not supported by this browser)": "(não é compatível com este navegador)",
+ "olm version": "versão olm",
+ "%(senderName)s placed a %(callType)s call.": "%(senderName)s fez uma chamada de %(callType)s.",
+ "Power level must be positive integer.": "O nível de permissões tem que ser um número inteiro e positivo.",
+ "Press": "Aperte",
+ "Reason": "Razão",
+ "Refer a friend to Riot": "Recomende Riot a um/a amigo/a",
+ "%(targetName)s rejected the invitation.": "%(targetName)s recusou o convite.",
+ "%(senderName)s removed their display name (%(oldDisplayName)s)": "%(senderName)s removeu o seu nome público (%(oldDisplayName)s)",
+ "%(senderName)s removed their profile picture": "%(senderName)s removeu sua imagem de perfil",
+ "%(senderName)s requested a VoIP conference": "%(senderName)s está solicitando uma conferência de voz",
+ "Riot does not have permission to send you notifications - please check your browser settings": "Riot não tem permissões para enviar notificações a você - por favor, verifique as configurações do seu navegador",
+ "Riot was not given permission to send notifications - please try again": "Riot não tem permissões para enviar notificações a você - por favor, tente novamente",
+ "Room %(roomId)s not visible": "A sala %(roomId)s não está visível",
+ "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s enviou uma imagem.",
+ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s enviou um convite para %(targetDisplayName)s entrar na sala.",
+ "%(senderName)s set a profile picture": "%(senderName)s definiu uma imagem de perfil",
+ "%(senderName)s set their display name to %(displayName)s": "%(senderName)s definiu seu nome público para %(displayName)s",
+ "tag as %(tagName)s": "marcar como %(tagName)s",
+ "This email address is already in use": "Este endereço de email já está sendo usado",
+ "This email address was not found": "Este endereço de email não foi encontrado",
+ "The file '%(fileName)s' exceeds this home server's size limit for uploads": "O arquivo '%(fileName)s' ultrapassa o limite de tamanho que nosso servidor permite enviar",
+ "The file '%(fileName)s' failed to upload": "Não foi possível enviar o arquivo '%(fileName)s",
+ "The remote side failed to pick up": "Houve alguma falha que não permitiu a outra pessoa atender à chamada",
+ "This room is not recognised.": "Esta sala não é reconhecida.",
+ "These are experimental features that may break in unexpected ways": "Estas são funcionalidades experimentais que podem apresentar falhas",
+ "This phone number is already in use": "Este número de telefone já está sendo usado",
+ "to browse the directory": "para navegar na lista pública de salas",
+ "to demote": "para reduzir prioridade",
+ "to favourite": "para favoritar",
+ "to make a room or": "para criar uma sala ou",
+ "To redact other users' messages": "Para apagar mensagens de outras pessoas",
+ "to restore": "para restaurar",
+ "to start a chat with someone": "para iniciar uma conversa com alguém",
+ "to tag as %(tagName)s": "para marcar como %(tagName)s",
+ "to tag direct chat": "para marcar a conversa como pessoal",
+ "To use it, just wait for autocomplete results to load and tab through them.": "Para usar esta funcionalidade, espere o carregamento dos resultados de autocompletar e então escolha entre as opções.",
+ "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s)": "%(senderName)s ativou criptografia ponta a ponta (algoritmo %(algorithm)s)",
+ "Unable to restore previous session": "Não foi possível restaurar a sessão anterior",
+ "%(senderName)s unbanned %(targetName)s.": "%(senderName)s desfez o banimento de %(targetName)s.",
+ "Unable to capture screen": "Não foi possível capturar a imagem da tela",
+ "Unable to enable Notifications": "Não foi possível ativar as notificações",
+ "Upload Failed": "O envio falhou",
+ "Usage": "Uso",
+ "Use with caution": "Use com cautela",
+ "VoIP is unsupported": "Chamada de voz não permitida",
+ "%(senderName)s withdrew %(targetName)s's inivitation.": "%(senderName)s desfez o convite a %(targetName)s.",
+ "You are already in a call": "Você já está em uma chamada",
+ "You're not in any rooms yet! Press": "Você ainda não está em nenhuma sala! Pressione",
+ "You are trying to access %(roomName)s": "Você está tentando acessar a sala %(roomName)s",
+ "You cannot place a call with yourself": "Você não pode iniciar uma chamada",
+ "You cannot place VoIP calls in this browser": "Você não pode fazer chamadas de voz neste navegador",
+ "You need to be able to invite users to do that.": "Para fazer isso, você tem que ter permissão para convidar outras pessoas.",
+ "You need to be logged in.": "Você tem que estar logado.",
+ "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience": "É necessário que você faça login novamente para poder gerar as chaves de criptografia ponta-a-ponta para este dispositivo e então enviar sua chave pública para o servidor. Pedimos desculpas pela inconveniência, é preciso fazer isso apenas única uma vez",
+ "Your email address does not appear to be associated with a Matrix ID on this Homeserver": "O seu endereço de email não parece estar associado a uma conta de usuária/o Matrix neste servidor",
+ "Set a display name:": "Defina um nome público para você:",
+ "Upload an avatar:": "Envie uma imagem de perfil para identificar você:",
+ "This server does not support authentication with a phone number.": "Este servidor não permite a autenticação através de números de telefone.",
+ "Missing password.": "Faltou a senha.",
+ "Passwords don't match.": "As senhas não conferem.",
+ "Password too short (min %(MIN_PASSWORD_LENGTH)s).": "A senha é muito curta (o mínimo é de %(MIN_PASSWORD_LENGTH)s caracteres).",
+ "This doesn't look like a valid email address.": "Este endereço de email não parece ser válido.",
+ "This doesn't look like a valid phone number.": "Este número de telefone não parece ser válido.",
+ "User names may only contain letters, numbers, dots, hyphens and underscores.": "Nomes de usuária/o podem conter apenas letras, números, pontos, hífens e linha inferior (_).",
+ "An unknown error occurred.": "Um erro desconhecido ocorreu.",
+ "I already have an account": "Eu já tenho uma conta",
+ "An error occured: %(error_string)s": "Um erro ocorreu: %(error_string)s",
+ "Topic": "Tópico",
+ "Make this room private": "Tornar esta sala privada",
+ "Share message history with new users": "Compartilhar histórico de mensagens com novas/os usuárias/os",
+ "Encrypt room": "Criptografar esta sala",
+ "There are no visible files in this room": "Não há arquivos públicos nesta sala",
+ "Error changing language": "Erro ao mudar de idioma",
+ "Riot was unable to find the correct Data for the selected Language.": "Não foi possível encontrar os dados para o idioma selecionado.",
+ "Connectivity to the server has been lost.": "A conexão com o servidor foi perdida. Verifique sua conexão de internet.",
+ "Sent messages will be stored until your connection has returned.": "Imagens enviadas ficarão armazenadas até que sua conexão seja reestabelecida.",
+ "Auto-complete": "Autocompletar",
+ "Resend all": "Reenviar todas as mensagens",
+ "cancel all": "cancelar todas",
+ "now. You can also select individual messages to resend or cancel.": "agora. Você também pode escolher mensagens individuais e definir se vai reenviar ou cancelar o envio.",
+ "Active call": "Chamada ativa",
+ "af": "Afrikaans",
+ "ar-ae": "Árabe (U.A.E.)",
+ "ar-bh": "Árabe (Bahrain)",
+ "ar-dz": "Árabe (Algéria)",
+ "Sunday": "Domingo",
+ "Monday": "Segunda",
+ "ar-eg": "Árabe (Egito)",
+ "ar-tn": "Árabe (Tunisia)",
+ "be": "Bielorusso",
+ "bg": "Búlgaro",
+ "ca": "Catalão",
+ "cs": "Tcheco",
+ "el": "Grego",
+ "en-au": "Inglês (Austrália)",
+ "en-ca": "Inglês (Canadá)",
+ "en-gb": "Inglês (Reino Unido)",
+ "en-ie": "Inglês (Irlanda)",
+ "en-nz": "Inglês (Nova Zelândia)",
+ "en-us": "Inglês (Estados Unidos)",
+ "es-ar": "Espanhol (Argentina)",
+ "es-py": "Espanhol (Paraguai)",
+ "es": "Espanhol (Espanha)",
+ "et": "Estônia",
+ "fa": "Farsi",
+ "fi": "Finlandês",
+ "fr-be": "Francês (Bélgica)",
+ "fr-ca": "Francês (Canadá)",
+ "fr-ch": "Francês (Suíça)",
+ "fr": "Francês",
+ "ga": "Irlandês",
+ "he": "Hebreu",
+ "hi": "Hindu",
+ "hr": "Croácia",
+ "hu": "Hungria",
+ "id": "Indonésio",
+ "is": "Islandês",
+ "it": "Italiano",
+ "ja": "Japonês",
+ "ji": "Ídiche",
+ "lt": "Lituânia",
+ "lv": "Letão",
+ "ms": "Malaio",
+ "mt": "Maltês",
+ "nl-be": "Holandês (Bélgica)",
+ "nl": "Holandês",
+ "no": "Norueguês",
+ "pl": "Polonês",
+ "pt": "Português (Portugal)",
+ "rm": "Romanche",
+ "ro": "Romeno",
+ "sk": "Eslovaco",
+ "sl": "Esloveno",
+ "sq": "Albanês",
+ "sr": "Sérvio (latino)",
+ "sv": "Suécia",
+ "th": "Tailandês",
+ "tn": "Tsuana",
+ "tr": "Turquia",
+ "ts": "Tsonga",
+ "uk": "Ucraniano",
+ "ur": "Urdu",
+ "vi": "Vietnamita",
+ "xh": "Xhosa",
+ "zu": "Zulu",
+ "Failed to forget room %(errCode)s": "Falhou ao esquecer a sala %(errCode)s",
+ "Failed to join the room": "Falhou ao entrar na sala",
+ "Tuesday": "Terça",
+ "Wednesday": "Quarta",
+ "Thursday": "Quinta",
+ "Friday": "Sexta",
+ "Saturday": "Sábado",
+ "ar-iq": "Árabe (Iraque)",
+ "ar-jo": "Árabe (Jordânia)",
+ "ar-kw": "Árabe (Kuwait)",
+ "ar-lb": "Árabe (Líbano)",
+ "ar-ly": "Árabe (Líbia)",
+ "ar-ma": "Árabe (Marrocos)",
+ "ar-om": "Árabe (Omã)",
+ "ar-qa": "Árabe (Catar)",
+ "ar-sa": "Árabe (Arábia Saudita)",
+ "ar-sy": "Árabe (Síria)",
+ "ar-ye": "Árabe (Iémen)",
+ "de-at": "Alemão (Austria)",
+ "de-ch": "Alemão (Suíça)",
+ "de-li": "Alemão (Liechtenstein)",
+ "de-lu": "Alemão (Luxemburgo)",
+ "en-bz": "Inglês (Belize)",
+ "en-jm": "Inglês (Jamaica)",
+ "en-tt": "English (Trindade)",
+ "en-za": "English (África do Sul)",
+ "es-bo": "Espanhol (Bolívia)",
+ "es-cl": "Espanhol (Chile)",
+ "es-co": "Espanhol (Colômbia)",
+ "es-cr": "Espanhol (Costa Rica)",
+ "es-do": "Espanhol (República Dominicana)",
+ "es-ec": "Espanhol (Equador)",
+ "es-gt": "Espanhol (Guatemala)",
+ "es-hn": "Espanhol (Honduras)",
+ "es-mx": "Espanhol (México)",
+ "es-ni": "Espanhol (Nicarágua)",
+ "es-pa": "Espanhol (Panamá)",
+ "%(oneUser)schanged their avatar": "%(oneUser)salterou sua imagem pública",
+ "es-pe": "Espanhol (Peru)",
+ "es-pr": "Espanhol (Porto Rico)",
+ "es-sv": "Espanhol (El Salvador)",
+ "es-uy": "Espanhol (Uruguai)",
+ "es-ve": "Espanhol (Venezuela)",
+ "eu": "Basco (Basco)",
+ "fr-lu": "Francês (Luxemburgo)",
+ "gd": "Galês (Escócia)",
+ "it-ch": "Italiano (Suíça)",
+ "ko": "Coreano (Johab)",
+ "mk": "Macedônio (República da Macedônia)",
+ "ro-mo": "Romano (Moldávia)",
+ "ru-mo": "Russo (Moldávia)",
+ "sb": "Sorábio",
+ "sv-fi": "Sueco (Finlândia)",
+ "zh-cn": "Chinês (República Popular da China)",
+ "zh-hk": "Chinês (Hong Kong SAR)",
+ "zh-sg": "Chinês (Singapura)",
+ "zh-tw": "Chinês (Taiwan)",
+ "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains": "Uma mensagem de texto foi enviada para +%(msisdn)s. Gentileza entrar com o código de verificação que contém",
+ "%(items)s and %(remaining)s others": "%(items)s e %(remaining)s outros",
+ "%(items)s and one other": "%(items)s e um outro",
+ "%(items)s and %(lastItem)s": "%(items)s e %(lastItem)s",
+ "and %(overflowCount)s others...": "e %(overflowCount)s outros...",
+ "and one other...": "e um outro...",
+ "Are you sure?": "Você tem certeza?",
+ "Attachment": "Anexo",
+ "Autoplay GIFs and videos": "Reproduzir automaticamente GIFs e videos",
+ "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(day)s de %(monthName)s de %(fullYear)s às %(time)s",
+ "fo": "Feroês",
+ "sx": "Sutu",
+ "sz": "Sami (Lappish)",
+ "ve": "Venda",
+ "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Não consigo conectar ao servidor padrão - favor checar sua conexão à internet e verificar se o certificado SSL do seu %(urlStart)s servidor padrão %(urlEnd)s é confiável",
+ "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Não consigo conectar ao servidor padrão através de HTTP quando uma URL HTTPS está na barra de endereços do seu navegador. Use HTTPS ou então %(urlStart)s habilite scripts não seguros no seu navegador %(urlEnd)s",
+ "Change Password": "Alterar senha",
+ "changing room on a RoomView is not supported": "mudar a sala em uma 'RoomView' não é permitido",
+ "Click to mute audio": "Clique para colocar o áudio no mudo",
+ "Click to mute video": "Clique para desabilitar imagens de vídeo",
+ "Click to unmute video": "Clique para voltar a mostrar imagens de vídeo",
+ "Click to unmute audio": "Clique para retirar áudio do mudo",
+ "Command error": "Erro de comando",
+ "Decrypt %(text)s": "Descriptografar %(text)s",
+ "Delete": "Apagar",
+ "Devices": "Dispositivos",
+ "Direct chats": "Conversas pessoais",
+ "Disinvite": "Desconvidar",
+ "Don't send typing notifications": "Não enviar notificação de estar digitando",
+ "Download %(text)s": "Baixar %(text)s",
+ "Enable encryption": "Habilitar criptografia",
+ "Enter Code": "Entre com o código",
+ "Failed to ban user": "Não foi possível banir o/a usuário/a",
+ "Failed to change power level": "Não foi possível mudar o nível de permissões",
+ "Failed to delete device": "Não foi possível remover o dispositivo",
+ "Failed to join room": "Não foi possível ingressar na sala",
+ "Failed to kick": "Não foi possível remover usuária/o",
+ "Failed to load timeline position": "Não foi possível carregar a posição na linha do tempo",
+ "Failed to mute user": "Não foi possível remover notificações da/do usuária/o",
+ "Failed to reject invite": "Não foi possível rejeitar o convite",
+ "Failed to save settings": "Não foi possível salvar as configurações",
+ "Failed to set display name": "Houve falha ao definir o nome público",
+ "Failed to toggle moderator status": "Houve falha ao alterar o status de moderador/a",
+ "Fill screen": "Tela cheia",
+ "Hide read receipts": "Ocultar recebimentos de leitura",
+ "Hide Text Formatting Toolbar": "Ocultar a barra de formatação de texto",
+ "Incorrect verification code": "Código de verificação incorreto",
+ "Invalid alias format": "Formato de alias é inválido",
+ "Invalid address format": "Formato de endereço é inválido",
+ "'%(alias)s' is not a valid format for an address": "'%(alias)s' não é um formato válido para um endereço",
+ "'%(alias)s' is not a valid format for an alias": "'%(alias)s' não é um formato válido para um alias",
+ "Join Room": "Ingressar na sala",
+ "Kick": "Remover",
+ "Level": "Nível",
+ "Local addresses for this room:": "Endereço local desta sala:",
+ "Markdown is disabled": "A formatação 'Markdown' está desabilitada",
+ "Markdown is enabled": "A formatação 'Markdown' está habilitada",
+ "Message not sent due to unknown devices being present": "A mensagem não foi enviada por causa da presença de dispositivos desconhecidos",
+ "Never send encrypted messages to unverified devices in this room": "Nunca envie mensagens criptografadas para dispositivos não verificados nesta sala",
+ "New address (e.g. #foo:%(localDomain)s)": "Novo endereço (p.ex: #algo:%(localDomain)s)",
+ "not set": "não definido",
+ "not specified": "não especificado",
+ "No devices with registered encryption keys": "Não há dispositivos com chaves de criptografia registradas",
+ "No more results": "Não há mais resultados",
+ "No results": "Sem resultados",
+ "OK": "OK",
+ "Revoke Moderator": "Retirar status de moderador",
+ "Search": "Localizar",
+ "Search failed": "Busca falhou",
+ "Server error": "Erro no servidor",
+ "Server may be unavailable, overloaded, or search timed out :(": "O servidor pode estar indisponível, sobrecarregado, ou a busca ultrapassou o tempo limite :(",
+ "Server may be unavailable, overloaded, or the file too big": "O servidor pode estar indisponível, sobrecarregado, ou o arquivo é muito grande",
+ "Server unavailable, overloaded, or something else went wrong": "O servidor pode estar indisponível, sobrecarregado, ou alguma outra coisa não funcionou",
+ "Some of your messages have not been sent": "Algumas das suas mensagens não foram enviadas",
+ "Submit": "Enviar",
+ "The main address for this room is": "O endereço principal desta sala é",
+ "This action cannot be performed by a guest user. Please register to be able to do this": "Esta ação não pode ser realizada por um/a usuário/a visitante. Por favor, registre-se para poder fazer isso",
+ "%(actionVerb)s this person?": "%(actionVerb)s esta pessoa?",
+ "This room has no local addresses": "Esta sala não tem endereços locais",
+ "This room is private or inaccessible to guests. You may be able to join if you register": "Esta sala é privada ou inacessível para visitantes. Você poderá ingressar nela se registrar-se",
+ "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question": "Tentei carregar um ponto específico na linha do tempo desta sala, mas parece que você não tem permissões para ver a mensagem em questão",
+ "Tried to load a specific point in this room's timeline, but was unable to find it": "Tentei carregar um ponto específico na linha do tempo desta sala, mas não o encontrei",
+ "Turn Markdown off": "Desabilitar a formatação 'Markdown'",
+ "Turn Markdown on": "Habilitar a marcação 'Markdown'",
+ "Unable to load device list": "Não foi possível carregar a lista de dispositivos",
+ "Unknown command": "Comando desconhecido",
+ "Unknown room %(roomId)s": "A sala %(roomId)s é desconhecida",
+ "You have been invited to join this room by %(inviterName)s": "Você foi convidada/o por %(inviterName)s a ingressar nesta sala",
+ "You seem to be in a call, are you sure you want to quit?": "Parece que você está em uma chamada. Tem certeza que quer sair?",
+ "You seem to be uploading files, are you sure you want to quit?": "Parece que você está enviando arquivos. Tem certeza que quer sair?",
+ "You will not be able to undo this change as you are promoting the user to have the same power level as yourself": "Você não poderá desfazer esta mudança, pois estará dando a este(a) usuário(a) o mesmo nível de permissões que você",
+ "Make Moderator": "Tornar moderador(a)",
+ "Room": "Sala",
+ "(~%(searchCount)s results)": "(±%(searchCount)s resultados)",
+ "Cancel": "Cancelar",
+ "bold": "negrito",
+ "italic": "itálico",
+ "strike": "tachado",
+ "underline": "sublinhado",
+ "code": "código de programação",
+ "quote": "citação",
+ "bullet": "marcador de lista",
+ "numbullet": "marcador de numeração",
+ "%(severalUsers)sjoined %(repeats)s times": "%(severalUsers)singressaram %(repeats)s vezes",
+ "%(oneUser)sjoined %(repeats)s times": "%(oneUser)singressou %(repeats)s vezes",
+ "%(severalUsers)sjoined": "%(severalUsers)singressaram",
+ "%(oneUser)sjoined": "%(oneUser)singressou",
+ "%(severalUsers)sleft %(repeats)s times": "%(severalUsers)ssaíram %(repeats)s vezes",
+ "%(oneUser)sleft %(repeats)s times": "%(oneUser)ssaiu %(repeats)s vezes",
+ "%(severalUsers)sleft": "%(severalUsers)ssaíram",
+ "%(oneUser)sleft": "%(oneUser)ssaiu",
+ "%(severalUsers)sjoined and left %(repeats)s times": "%(severalUsers)singressaram e saíram %(repeats)s vezes",
+ "%(oneUser)sjoined and left %(repeats)s times": "%(oneUser)singressou e saiu %(repeats)s vezes",
+ "%(severalUsers)sjoined and left": "%(severalUsers)singressaram e saíram",
+ "%(oneUser)sjoined and left": "%(oneUser)singressou e saiu",
+ "%(severalUsers)sleft and rejoined %(repeats)s times": "%(severalUsers)ssaíram e entraram novamente %(repeats)s vezes",
+ "%(oneUser)sleft and rejoined %(repeats)s times": "%(oneUser)ssaiu e entrou novamente %(repeats)s vezes",
+ "%(severalUsers)sleft and rejoined": "%(severalUsers)ssaíram e entraram novamente",
+ "%(oneUser)sleft and rejoined": "%(oneUser)ssaiu e entrou novamente",
+ "%(severalUsers)srejected their invitations %(repeats)s times": "%(severalUsers)srejeitaram seus convites %(repeats)s vezes",
+ "%(oneUser)srejected their invitation %(repeats)s times": "%(oneUser)srejeitou seu convite %(repeats)s vezes",
+ "%(severalUsers)srejected their invitations": "%(severalUsers)srejeitaram seus convites",
+ "%(oneUser)srejected their invitation": "%(oneUser)srejeitou seu convite",
+ "%(severalUsers)shad their invitations withdrawn %(repeats)s times": "%(severalUsers)stiveram seus convites desfeitos %(repeats)s vezes",
+ "%(oneUser)shad their invitation withdrawn %(repeats)s times": "%(oneUser)steve seu convite desfeito %(repeats)s vezes",
+ "%(severalUsers)shad their invitations withdrawn": "%(severalUsers)stiveram seus convites desfeitos",
+ "%(oneUser)shad their invitation withdrawn": "%(oneUser)steve seu convite desfeito",
+ "were invited %(repeats)s times": "foram convidadas(os) %(repeats)s vezes",
+ "was invited %(repeats)s times": "foi convidada(o) %(repeats)s vezes",
+ "were invited": "foram convidadas(os)",
+ "were banned %(repeats)s times": "foram banidas(os) %(repeats)s vezes",
+ "was banned %(repeats)s times": "foi banida(o) %(repeats)s vezes",
+ "were banned": "foram banidas(os)",
+ "were unbanned %(repeats)s times": "tiveram banimento desfeito %(repeats)s vezes",
+ "was unbanned %(repeats)s times": "teve banimento desfeito %(repeats)s vezes",
+ "were unbanned": "tiveram banimento desfeito",
+ "were kicked %(repeats)s times": "foram expulsas(os) %(repeats)s vezes",
+ "was kicked %(repeats)s times": "foi expulsa(o) %(repeats)s vezes",
+ "were kicked": "foram expulsas(os)",
+ "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)salteraram seu nome %(repeats)s vezes",
+ "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)salterou seu nome %(repeats)s vezes",
+ "%(severalUsers)schanged their name": "%(severalUsers)salteraram seus nomes",
+ "%(oneUser)schanged their name": "%(oneUser)salterou seu nome",
+ "%(severalUsers)schanged their avatar %(repeats)s times": "%(severalUsers)salteraram sua imagem pública %(repeats)s vezes",
+ "%(oneUser)schanged their avatar %(repeats)s times": "%(oneUser)salterou sua imagem pública %(repeats)s vezes",
+ "%(severalUsers)schanged their avatar": "%(severalUsers)salteraram sua imagem pública",
+ "Ban": "Banir"
+}
diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json
new file mode 100644
index 0000000000..2455317292
--- /dev/null
+++ b/src/i18n/strings/ru.json
@@ -0,0 +1,476 @@
+{
+ "accept": "принимать",
+ "accepted an invitation": "принял приглашение",
+ "accepted the invitation for": "принял приглашение на",
+ "Account": "Аккаунт",
+ "Add email address": "Добавить email адрес",
+ "Add phone number": "Добавить телефонный номер",
+ "Admin": "Admin",
+ "Advanced": "Расширенный",
+ "Algorithm": "Алгоритм",
+ "all room members": "все участники комнаты",
+ "all room members, from the point they are invited": "все участники комнаты, с момента приглашения",
+ "all room members, from the point they joined": "все участники комнаты, с момента вступления",
+ "an address": "адрес",
+ "and": "и",
+ "An email has been sent to": "Email был отправлен",
+ "A new password must be entered.": "Введите новый пароль.",
+ "answered the call.": "принятый звонок.",
+ "anyone.": "кто угодно",
+ "Anyone who knows the room's link, apart from guests": "Любой, кто знает ссылку на комнату, кроме гостей",
+ "Anyone who knows the room's link, including guests": "Любой, кто знает ссылку комнаты, включая гостей",
+ "Are you sure you want to reject the invitation?": "Вы уверены что вы хотите отклонить приглашение?",
+ "Are you sure you want upload the following files?": "Вы уверены что вы хотите закачать следующий файл?",
+ "banned": "banned",
+ "Banned users": "Запрещенный пользователь",
+ "Bans user with given id": "Запретить пользователя с определенным id",
+ "Blacklisted": "В черный список",
+ "Bug Report": "Отчет ошибок",
+ "Bulk Options": "Объемные параметры",
+ "Can't load user settings": "Не может загрузить настройки пользователя",
+ "changed avatar": "изменен аватар",
+ "changed name": "измененное имя",
+ "changed their display name from": "changed their display name from",
+ "changed their profile picture": "changed their profile picture",
+ "changed the power level of": "changed the power level of",
+ "changed the room name to": "changed the room name to",
+ "changed the topic to": "changed the topic to",
+ "Changes to who can read history will only apply to future messages in this room": "Изменения того, кто может прочитать историю, будут только относиться к будущим сообщениям в этой комнате",
+ "Changes your display nickname": "Изменяет Ваш псевдоним",
+ "Claimed Ed25519 fingerprint key": "Требуемый Ed25519 ключ цифрового отпечатка",
+ "Clear Cache and Reload": "Очистите кэш и перезагрузку",
+ "Clear Cache": "Очистите кэш",
+ "Click here": "Нажать здесь",
+ "Click here to fix": "Нажать здесь для фиксации",
+ "Commands": "Команды",
+ "Confirm your new password": "Подтвердите ваш новый пароль",
+ "Continue": "Продолжить",
+ "Could not connect to the integration server": "Не может подключится к серверу интеграции",
+ "Create an account": "Создайте учётную запись",
+ "Create Room": "Создайте Комнату",
+ "Cryptography": "Криптография",
+ "Curve25519 identity key": "Curve25519 идентификационный ключ",
+ "Deactivate Account": "Деактивировать Учётную запись",
+ "Deactivate my account": "Деактивировать мою учётную запись",
+ "decline": "отказаться",
+ "Decryption error": "Ошибка дешифрования",
+ "Default": "Default",
+ "demote": "понижать",
+ "Deops user with given id": "Deops пользователь с данным id",
+ "Device ID": "Устройство ID",
+ "Devices will not yet be able to decrypt history from before they joined the room": "Устройство еще не будет в состоянии дешифровать историю, до присоединения к комнате",
+ "Direct Chat": "Персональное сообщение",
+ "Disable inline URL previews by default": "Отключить встроенные предварительные просмотры URL по умолчанию",
+ "Display name": "Отображаемое имя",
+ "Displays action": "Отображение действий",
+ "Ed25519 fingerprint": "Ed25519 fingerprint",
+ "Email Address": "Email адрес",
+ "Email, name or matrix ID": "Email, имя или matrix ID",
+ "Emoji": "Смайлы",
+ "Encrypted messages will not be visible on clients that do not yet implement encryption": "Зашифрованные сообщения не будут видимы в клиентах, которые еще не подключили шифрование",
+ "Encrypted room": "Зашифрованная комната",
+ "ended the call.": "ended the call.",
+ "End-to-end encryption information": "Информация сквозного шифрования (e2e)",
+ "End-to-end encryption is in beta and may not be reliable": "Сквозное шифрование (e2e) в бета-версии и не может быть надежным",
+ "Error": "Ошибка",
+ "Event information": "Event information",
+ "Export E2E room keys": "Экспорт E2E ключей комнаты",
+ "Failed to change password. Is your password correct?": "Не удалось изменить пароль. Ваш пароль правильный?",
+ "Failed to forget room": "Не удалось забыть комнату",
+ "Failed to leave room": "Не удалось выйти из комнаты",
+ "Failed to reject invitation": "Не удалось отклонить приглашение",
+ "Failed to send email": "Не удалось отослать email",
+ "Failed to unban": "Не удалось отменить запрет",
+ "Failed to upload file": "Не удалось закачать файл",
+ "Favourite": "Фаворит",
+ "favourite": "фаворит",
+ "Favourites": "Фавориты",
+ "Filter room members": "Фильтр участников комнаты",
+ "Forget room": "Забыть комнату",
+ "Forgot your password?": "Вы забыли пароль?",
+ "For security, this session has been signed out. Please sign in again": "Для обеспечения безопасности, эта сессия была подписана. Войдите в систему еще раз.",
+ "Found a bug?": "Обнаружили ошибку?",
+ "had": "имеет",
+ "Hangup": "Отключение",
+ "Historical": "Исторический",
+ "Homeserver is": "Домашний сервер является",
+ "Identity Server is": "Регистрационный Сервер является",
+ "I have verified my email address": "Я проверил мой адрес электронной почты",
+ "Import E2E room keys": "Импортировать E2E ключ комнаты",
+ "Invalid Email Address": "Недействительный адрес электронной почты",
+ "invited": "invited",
+ "Invite new room members": "Прегласить новых учасников комнаты",
+ "Invites": "Приглашать",
+ "Invites user with given id to current room": "Пригласить пользователя с данным id в текущую комнату",
+ "is a": "является",
+ "I want to sign in with": "Я хочу регистрироваться с",
+ "joined and left": "присоединенный и оставленный",
+ "joined": "присоединенный",
+ "joined the room": "joined the room",
+ "Joins room with given alias": "Присоединяется к комнате с данным псевдонимом",
+ "Kicks user with given id": "Кик пользователя с заданным id",
+ "Labs": "Лаборатория",
+ "Leave room": "Уйти из комнаты",
+ "left and rejoined": "Покинуть и переподключится",
+ "left": "покинуть",
+ "left the room": "left the room",
+ "Logged in as": "Зарегистрированный как",
+ "Login as guest": "Вход в систему как гость",
+ "Logout": "Выход из системы",
+ "Low priority": "Низкий приоритет",
+ "made future room history visible to": "made future room history visible to",
+ "Manage Integrations": "Управление интеграций",
+ "Members only": "Только участники",
+ "Mobile phone number": "Номер мобильного телефона",
+ "Moderator": "Ведущий",
+ "my Matrix ID": "мой Matrix ID",
+ "Name": "Имя",
+ "Never send encrypted messages to unverified devices from this device": "Никогда не отправляйте зашифрованные сообщения в непроверенные устройства с этого устройства",
+ "Never send encrypted messages to unverified devices in this room from this device": "Никогда не отправляйте зашифрованные сообщения в непроверенные устройства в этой комнате из этого устройства",
+ "New password": "Новый пароль",
+ "New passwords must match each other.": "Новые пароли должны соответствовать друг другу.",
+ "none": "никто",
+ "Notifications": "Уведомления",
+ " (not supported by this browser)": " (not supported by this browser)",
+ "": "<не поддерживаемый>",
+ "NOT verified": "НЕ проверенный",
+ "No users have specific privileges in this room": "Ни у каких пользователей нет специальных полномочий в этой комнате",
+ "olm version": "olm версия",
+ "Once encryption is enabled for a room it cannot be turned off again (for now)": "Как только шифрование включено для комнаты, оно не может быть выключено снова (на данный момент)",
+ "or": "или",
+ "other": "другой",
+ "others": "другие",
+ "Password": "Пароль",
+ "People": "Люди",
+ "Permissions": "Разрешение",
+ "Phone": "Телефон",
+ "placed a": "placed a",
+ "Please Register": "Пожалуйста зарегистрируйтесь",
+ "rejected the invitation.": "rejected the invitation.",
+ "removed their display name": "removed their display name",
+ "removed their profile picture": "removed their profile picture",
+ "Remove": "Удалить",
+ "requested a VoIP conference": "requested a VoIP conference",
+ "Return to login screen": "Return to login screen",
+ "Send Reset Email": "Send Reset Email",
+ "sent an image": "sent an image",
+ "sent an invitation to": "sent an invitation to",
+ "set a profile picture": "set a profile picture",
+ "set their display name to": "set their display name to",
+ "Settings": "Настройки",
+ "Start a chat": "Start a chat",
+ "Start Chat": "Start Chat",
+ "tag as": "tag as",
+ "These are experimental features that may break in unexpected ways. Use with caution": "These are experimental features that may break in unexpected ways. Use with caution",
+ "To send events of type": "Для отправки типа событий",
+ "To send messages": "Отправить сообщения",
+ "turned on end-to-end encryption (algorithm": "turned on end-to-end encryption (algorithm",
+ "Unable to add email address": "Невозможно добавить email адрес",
+ "Unable to remove contact information": "Невозможно удалить контактную информацию",
+ "Unable to verify email address": "Невозможно проверить адрес электронной почты",
+ "Unban": "Отменить запрет",
+ "Unencrypted room": "Незашифрованная комната",
+ "unencrypted": "незашифрованно",
+ "unknown device": "неизвесное устройство",
+ "unknown error code": "неизвестная ошибка",
+ "unknown": "неизвестно",
+ "Upload avatar": "Загрузить аватар",
+ "uploaded a file": "загруженный файл",
+ "Upload Files": "Загрузка файлов",
+ "Upload file": "Загрузка файла",
+ "User ID": "ID пользователя",
+ "User Interface": "Пользовательский интерфейс",
+ "username": "Имя пользователя",
+ "Users": "Пользователи",
+ "User": "Пользователь",
+ "Verification Pending": "Ожидание проверки",
+ "Verification": "Проверка",
+ "verified": "проверенный",
+ "Video call": "Видио вызов",
+ "Voice call": "Голосовой вызов",
+ "VoIP conference finished": "VoIP конференция закончилась",
+ "VoIP conference started": "VoIP Конференция стартовала",
+ "(warning: cannot be disabled again!)": "(предупреждение: не может быть снова отключен!)",
+ "Warning!": "Предупреждение!",
+ "was banned": "запрещен",
+ "was invited": "приглашенный",
+ "was kicked": "выброшен",
+ "was unbanned": "незапрещенный",
+ "was": "был",
+ "were": "быть",
+ "Who can access this room?": "Кто может получить доступ к этой комнате?",
+ "Who can read history?": "Кто может читать историю?",
+ "Who would you like to add to this room?": "Кого хотели бы Вы добавлять к этой комнате?",
+ "Who would you like to communicate with?": "С кем хотели бы Вы связываться?",
+ "withdrawn": "уходить",
+ "Would you like to": "Хотели бы Вы",
+ "You do not have permission to post to this room": "У Вас нет разрешения писать в эту комнату",
+ "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "Вы вышли из всех устройств и не будет больше получать push-уведомления. Чтобы повторно включить уведомления, войдите в систему еще раз для каждого устройства",
+ "You have no visible notifications": "У Вас нет видимых уведомлений",
+ "you must be a": "Вы должны быть",
+ "Your password has been reset": "Ваш пароль был изменен",
+ "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Ваш пароль был успешно изменен. Вы не будете получать Push-уведомления о других устройствах, пока не войдете обратно на них",
+ "You should not yet trust it to secure data": "Вы еще не должны доверять этому защиту данных",
+ "en": "Английский",
+ "pt-br": "Португальский Бразилия",
+ "de": "Немецкий",
+ "da": "Датский",
+ "ru": "Русский",
+ "%(targetName)s accepted an invitation": "%(targetName)s принятое приглашение",
+ "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s принятое приглашение от %(displayName)s.",
+ "Resend all": "Переслать снова всем",
+ "cancel all": "отменить всем",
+ "Active call": "Активный звонок",
+ "%(names)s and %(lastPerson)s are typing": "%(names)s и %(lastPerson)s печатает",
+ "%(names)s and one other are typing": "%(names)s и другой печатают",
+ "%(names)s and %(count)s others are typing": "%(names)s и %(count)s другие печатают",
+ "%(senderName)s answered the call.": "%(senderName)s ответил на звонок.",
+ "%(senderName)s banned %(targetName)s.": "%(senderName)s запрещенный %(targetName)s.",
+ "Call Timeout": "Время ожидания вызова",
+ "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s": "%(senderName)s их имя измененное с %(oldDisplayName)s на %(displayName)s",
+ "%(senderName)s changed their profile picture": "%(senderName)s измененное ихнее фото профиля",
+ "%(senderName)s changed the power level of %(powerLevelDiffText)s": "%(senderName)s уровень мощности изменен на %(powerLevelDiffText)s",
+ "%(senderDisplayName)s changed the room name to %(roomName)s": "%(senderDisplayName)s имя комнаты измененно на %(roomName)s",
+ "%(senderDisplayName)s changed the topic to %(topic)s": "%(senderDisplayName)s измененная тема на %(topic)s",
+ "Conference call failed": "Конференц-вызов прервался",
+ "Conference calling is in development and may not be reliable": "Конференц-вызов находится в процессе и может не быть надежным",
+ "Conference calls are not supported in encrypted rooms": "Конференц-вызовы не поддерживаются в зашифрованных комнатах",
+ "Conference calls are not supported in this client": "Конференц-вызовы не поддерживаются в этом клиенте",
+ "/ddg is not a command": "/ddg не команда",
+ "Drop here %(toAction)s": "Вставить здесь %(toAction)s",
+ "Drop here to tag %(section)s": "Вставить здесь для тега %(section)s",
+ "%(senderName)s ended the call": "%(senderName)s прекратил звонок",
+ "Existing Call": "Существующий вызов",
+ "Failed to lookup current room": "Не удалось выполнить поиск текущий комнаты",
+ "Failed to send request.": "Не удалось выслать запрос.",
+ "Failed to set up conference call": "Не удалось установить конференц-вызов",
+ "Failed to verify email address: make sure you clicked the link in the email": "Не удалось подтвердить email-адрес: убедитесь что вы щелкнули по ссылке электронной почты",
+ "Failure to create room": "Не удалось создать комнату",
+ "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s из %(fromPowerLevel)s до %(toPowerLevel)s",
+ "Guest users can't create new rooms. Please register to create room and start a chat": "Гостевые пользователи не могут создавать новые комнаты. Зарегистрируйтесь для создания комнаты и чата",
+ "click to reveal": "нажать для открытия",
+ "%(senderName)s invited %(targetName)s.": "%(senderName)s приглашает %(targetName)s.",
+ "%(displayName)s is typing": "%(displayName)s вводит текст",
+ "%(targetName)s joined the room": "%(targetName)s присоединенный к комнате",
+ "%(senderName)s kicked %(targetName)s.": "%(senderName)s выкинул %(targetName)s.",
+ "%(targetName)s left the room.": "%(targetName)s покинул комнату.",
+ "%(senderName)s made future room history visible to": "%(senderName)s история сделаной будущей комнаты, видимая для",
+ "Missing room_id in request": "Отсутствует room_id в запросе",
+ "Missing user_id in request": "Отсутствует user_id в запросе",
+ "Must be viewing a room": "Комната должна быть посищена",
+ "New Composer & Autocomplete": "Новые Компонист & Автозаполнение",
+ "(not supported by this browser)": "(не поддерживаемый этим браузером)",
+ "af": "Африкаанс",
+ "ar-ae": "Арабский (О.А.Е)",
+ "ar-bh": "Арабский (Бахрейн)",
+ "ar-dz": "Арабский (Алжыр)",
+ "ar-eg": "Арабский (Египет)",
+ "ar-iq": "Арабский (Ирак)",
+ "ar-jo": "Арабский (Иордания)",
+ "ar-kw": "Арабский (Кувейт)",
+ "ar-lb": "Арабский (Ливан)",
+ "ar-ly": "Арабский (Ливия)",
+ "ar-ma": "Арабский (Марокко)",
+ "ar-om": "Арабский (Оман)",
+ "ar-qa": "Арабский (Катар)",
+ "ar-sa": "Арабский (Саудовская Аравия)",
+ "ar-sy": "Арабский (Сирия)",
+ "ar-tn": "Арабский (Тунис)",
+ "ar-ye": "Арабский (Йемен)",
+ "be": "Беларуский",
+ "bg": "Болгарский",
+ "ca": "Каталанский",
+ "cs": "Чешский",
+ "de-at": "Немецкий (Австрия)",
+ "de-ch": "Немецкий (Швейцария)",
+ "de-li": "Немецкий (Лихтенштейн)",
+ "de-lu": "Немецкий (Люксембург)",
+ "el": "Гречиский",
+ "en-au": "Английский (Австралия)",
+ "en-bz": "Английский (Белиз)",
+ "en-ca": "Английский (Канада)",
+ "en-gb": "Английский (UK)",
+ "en-ie": "Английский (Ирландия)",
+ "en-jm": "Английский (Ямайка)",
+ "en-nz": "Английский (Новая Зеландия)",
+ "en-tt": "Английский (Тринидад)",
+ "en-us": "Английский (US)",
+ "en-za": "Английский (Южная Африка)",
+ "es-ar": "Испанский (Аргентина)",
+ "es-bo": "Испанский (Боливия)",
+ "es-cl": "Испанский (Чили)",
+ "es-co": "Испанский (Колумбия)",
+ "es-cr": "Испанский (Коста Рика)",
+ "es-do": "Испанский (Дом. Республика)",
+ "es-ec": "Испанский (Еквадор)",
+ "es-gt": "Испанский (Гватемала)",
+ "es-hn": "Испанский (Гондурас)",
+ "es-mx": "Испанский (Мексика)",
+ "es-ni": "Испанский (Никарагуа)",
+ "es-pa": "Испанский (Панама)",
+ "et": "Эстонский",
+ "fi": "Финский",
+ "fr": "Французкий",
+ "hr": "Хорватский",
+ "it": "Итальянский",
+ "ja": "Японский",
+ "pl": "Польский",
+ "pt": "Португальский",
+ "ru-mo": "Русский (Молдавская Республика)",
+ "ro": "Румынский",
+ "uk": "Украинский",
+ "now. You can also select individual messages to resend or cancel.": "теперь. Вы можете также выбрать отдельные сообщения, чтобы снова послать или отменить.",
+ "Auto-complete": "Автозаполнение",
+ "Error changing language": "Ошибка изменения языка",
+ "Riot was unable to find the correct Data for the selected Language.": "Riot был неспособен найти правельные данные для выбранного языка.",
+ "Connectivity to the server has been lost.": "Связь с сервером была потеряна.",
+ "Sent messages will be stored until your connection has returned.": "Отправленные сообщения будут храниться, пока Ваше соединение не возобновиться.",
+ "There are no visible files in this room": "В этой комнате нет никаких видимых файлов",
+ "This doesn't look like a valid phone number.": "Это не похоже на допустимый телефонный номер.",
+ "Missing password.": "Пароль отсутствует.",
+ "Set a display name:": "Настроить отображаемое имя:",
+ "Passwords don't match.": "Пароли не совпадают.",
+ "Password too short (min %(MIN_PASSWORD_LENGTH)s).": "Пароль слишком короткий (min %(MIN_PASSWORD_LENGTH)s).",
+ "This doesn't look like a valid email address.": "Это не похоже на допустимый email адрес.",
+ "This server does not support authentication with a phone number.": "Этот сервер не поддерживает аутентификацию с телефонным номером.",
+ "User names may only contain letters, numbers, dots, hyphens and underscores.": "Имена пользователей могут только содержать буквы, числа, точки, дефисы и подчеркивания.",
+ "An unknown error occurred.": "Произошла неизвестная ошибка.",
+ "I already have an account": "У меня уже есть учетная запись",
+ "An error occured: %(error_string)s": "Произошла ошибка: %(error_string)s",
+ "Topic": "Тема",
+ "Make this room private": "Сделать эту комнату частной",
+ "Share message history with new users": "Поделись историей сообщений с новыми учасниками",
+ "Encrypt room": "Зашифровать комнату",
+ "es-pe": "Испанский (Перу)",
+ "hu": "Венгерский",
+ "nl": "Датский",
+ "no": "Норвежский",
+ "sv": "Шведский",
+ "th": "Тайландский",
+ "vi": "Ветнамский",
+ "Monday": "Понедельник",
+ "Tuesday": "Вторник",
+ "Wednesday": "Среда",
+ "Thursday": "Четверг",
+ "Friday": "Пятница",
+ "Saturday": "Субота",
+ "Sunday": "Воскресенье",
+ "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s",
+ "Upload an avatar:": "Загрузить аватар",
+ "You need to be logged in.": "Вы должны быть зарегистрированы",
+ "You need to be able to invite users to do that.": "Вам необходимо пригласить пользователей чтобы сделать это.",
+ "You cannot place VoIP calls in this browser": "Вы не можете сделать вызовы VoIP с этим браузером",
+ "You are already in a call": "Вы уже находитесь в разговоре",
+ "You're not in any rooms yet! Press": "Вы еще не находитесь ни в каких комнатах! Нажать",
+ "You are trying to access %(roomName)s": "Вы пытаетесь получить доступ %(roomName)s",
+ "You cannot place a call with yourself": "Вы не можете позвонить самим себе",
+ "%(senderName)s withdrew %(targetName)s's inivitation.": "%(senderName)s анулировал %(targetName)s's преглашение.",
+ "Sep": "Сен.",
+ "Jan": "Янв.",
+ "Feb": "Фев.",
+ "Mar": "Мар.",
+ "Apr": "Апр.",
+ "May": "Май",
+ "Jun": "Июн.",
+ "Jul": "Июл.",
+ "Aug": "Авг.",
+ "Oct": "Окт.",
+ "Nov": "Ноя.",
+ "Dec": "Дек.",
+ "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s",
+ "Mon": "Пн",
+ "Sun": "Вс",
+ "Tue": "Вт",
+ "Wed": "Ср",
+ "Thu": "Чт",
+ "Fri": "Пя",
+ "Sat": "Сб",
+ "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience": "Вам необходимо снова войти в генерировать сквозное шифрование (е2е) ключей для этого устройства и предоставить публичный ключ Вашему домашнему серверу. Это после выключения; приносим извинения за причиненные неудобства",
+ "Your email address does not appear to be associated with a Matrix ID on this Homeserver": "Ваш адрес электронной почты, кажется, не связан с Matrix ID на этом Homeserver",
+ "to start a chat with someone": "Начать чат с кем-то",
+ "to tag direct chat": "Пометить прямой чат",
+ "To use it, just wait for autocomplete results to load and tab through them.": "Для его использования, просто подождите результатов автозаполнения для загрузки на вкладке и через них.",
+ "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s)": "%(senderName)s включил сквозное шифрование (algorithm %(algorithm)s)",
+ "Unable to restore previous session": "Невозможно востановить предыдущий сеанс",
+ "%(senderName)s unbanned %(targetName)s.": "%(senderName)s запрет отменен %(targetName)s.",
+ "Unable to capture screen": "Невозможно записать снимок экрана",
+ "Unable to enable Notifications": "Невозможно включить уведомления",
+ "Upload Failed": "Неудавшаяся загрузка",
+ "Usage": "Использование",
+ "Use with caution": "Используйте с осторожностью",
+ "VoIP is unsupported": "VoIP не поддерживается",
+ "es-pr": "Испанский (Пуэрто-Рико)",
+ "es-py": "Испанский язык (Парагвай)",
+ "es": "Испанский (Испания)",
+ "es-sv": "Испанский (Сальвадор)",
+ "es-uy": "Испанский (Уругвай)",
+ "es-ve": "Испанский (Венесуэла)",
+ "fa": "Фарси",
+ "fo": "Фарезский",
+ "fr-be": "Французский (Бельгия)",
+ "fr-ca": "Французский (Канада)",
+ "fr-ch": "Французский (Швейцария)",
+ "ga": "Ирландский",
+ "he": "Иврит",
+ "hi": "Хинди",
+ "id": "Индонезийский",
+ "is": "Исландский",
+ "ji": "Идиш",
+ "lt": "Литовкий",
+ "lv": "Латвийский",
+ "ms": "Малайцы",
+ "mt": "Мальтийский",
+ "nl-be": "Голландский (Бельгия)",
+ "rm": "Ретороманский",
+ "sb": "Вендский",
+ "sk": "Словацкий",
+ "sl": "Словенский",
+ "sq": "Албанский",
+ "sr": "Сербский (Латиница)",
+ "sv-fi": "Шведский (Финляндия)",
+ "sz": "Саами (лопарский)",
+ "tn": "Тсвана",
+ "tr": "Турецкий",
+ "ts": "Тсонга",
+ "ur": "Урду",
+ "ve": "Венда",
+ "xh": "Коса",
+ "zh-cn": "Китайский (PRC)",
+ "zh-sg": "Китайский (Сингапур)",
+ "zh-tw": "Китайский (Тайвань)",
+ "zu": "Зулусский",
+ "eu": "Баскский",
+ "fr-lu": "Французский (Люксембург)",
+ "gd": "Гэльский (Шотландия)",
+ "it-ch": "Итальянский (Швейцария)",
+ "ko": "Корейский (Johab)",
+ "mk": "Македонский (FYROM)",
+ "ro-mo": "Румынский (Республика Молдова)",
+ "sx": "Суту",
+ "zh-hk": "Китайский (Гонконг)",
+ "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains": "На +%(msisdn)s было отправлено текстовое сообщение. Пожалуйста, введите проверочный код из него",
+ "and %(overflowCount)s others...": "и %(overflowCounts)s других...",
+ "Are you sure?": "Вы уверены?",
+ "Autoplay GIFs and videos": "Проигрывать GIF и видео автоматически",
+ "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Невозможно соединиться с домашним сервером - проверьте своё соединение и убедитесь, что %(urlStart)s SSL-сертификат вашего домашнего сервера %(urlEnd)s включён в доверяемые",
+ "changing room on a RoomView is not supported": "изменение комнаты в RoomView не поддерживается",
+ "Click to mute audio": "Выключить звук",
+ "Click to mute video": "Выключить звук у видео",
+ "Click to unmute video": "Включить звук у видео",
+ "Click to unmute audio": "Включить звук",
+ "Decrypt %(text)s": "Расшифровать %(text)s",
+ "Delete": "Удалить",
+ "Devices": "Устройства",
+ "Direct chats": "Личные чаты",
+ "Disinvite": "Отозвать приглашение",
+ "Don't send typing notifications": "Не оповещать, когда я печатаю",
+ "Download %(text)s": "Загрузить %(text)s",
+ "Enable encryption": "Включить шифрование",
+ "Enter Code": "Ввести код",
+ "Failed to ban user": "Не удалось забанить пользователя",
+ "Failed to change power level": "Не удалось изменить уровень привилегий",
+ "Failed to delete device": "Не удалось удалить устройство",
+ "Failed to forget room %(errCode)s": "Не удалось забыть комнату %(errCode)s",
+ "Failed to join room": "Не удалось присоединиться к комнате",
+ "Failed to join the room": "Не удалось присоединиться к комнате"
+}
diff --git a/src/index.js b/src/index.js
index b6d8c0b5f4..03b854a112 100644
--- a/src/index.js
+++ b/src/index.js
@@ -14,7 +14,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-var Skinner = require('./Skinner');
+import Skinner from './Skinner';
+import request from 'browser-request';
+import UserSettingsStore from './UserSettingsStore';
module.exports.loadSkin = function(skinObject) {
Skinner.load(skinObject);
diff --git a/src/languageHandler.js b/src/languageHandler.js
new file mode 100644
index 0000000000..cddc70da56
--- /dev/null
+++ b/src/languageHandler.js
@@ -0,0 +1,162 @@
+/*
+Copyright 2017 MTRNord and Cooperative EITA
+Copyright 2017 Vector Creations Ltd.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import request from 'browser-request';
+import counterpart from 'counterpart';
+import q from 'q';
+
+import UserSettingsStore from './UserSettingsStore';
+
+const i18nFolder = 'i18n/';
+
+// We use english strings as keys, some of which contain full stops
+counterpart.setSeparator('|');
+// Fall back to English
+counterpart.setFallbackLocale('en');
+
+// The translation function. This is just a simple wrapper to counterpart,
+// but exists mostly because we must use the same counterpart instance
+// between modules (ie. here (react-sdk) and the app (riot-web), and if we
+// just import counterpart and use it directly, we end up using a different
+// instance.
+export function _t(...args) {
+ return counterpart.translate(...args);
+}
+
+// Allow overriding the text displayed when no translation exists
+// Currently only use din unit tests to avoid having to load
+// the translations in riot-web
+export function setMissingEntryGenerator(f) {
+ counterpart.setMissingEntryGenerator(f);
+}
+
+export function setLanguage(preferredLangs) {
+ if (!Array.isArray(preferredLangs)) {
+ preferredLangs = [preferredLangs];
+ }
+
+ let langToUse;
+ let availLangs;
+ return getLangsJson().then((result) => {
+ availLangs = result;
+
+ for (let i = 0; i < preferredLangs.length; ++i) {
+ if (availLangs.hasOwnProperty(preferredLangs[i])) {
+ langToUse = preferredLangs[i];
+ }
+ }
+ if (!langToUse) {
+ throw new Error("Unable to find an appropriate language");
+ }
+
+ return getLanguage(i18nFolder + availLangs[langToUse]);
+ }).then((langData) => {
+ counterpart.registerTranslations(langToUse, langData);
+ counterpart.setLocale(langToUse);
+ UserSettingsStore.setLocalSetting('language', langToUse);
+ console.log("set language to " + langToUse);
+
+ // Set 'en' as fallback language:
+ if (langToUse != "en") {
+ return getLanguage(i18nFolder + availLangs['en']);
+ }
+ }).then((langData) => {
+ if (langData) counterpart.registerTranslations('en', langData);
+ });
+};
+
+export function getAllLanguageKeysFromJson() {
+ return getLangsJson().then((langs) => {
+ return Object.keys(langs);
+ });
+}
+
+export function getLanguagesFromBrowser() {
+ if (navigator.languages) return navigator.languages;
+ if (navigator.language) return [navigator.language]
+ return [navigator.userLanguage];
+};
+
+/**
+ * Turns a language string, normalises it,
+ * (see normalizeLanguageKey) into an array of language strings
+ * with fallback to generic languages
+ * (eg. 'pt-BR' => ['pt-br', 'pt'])
+ *
+ * @param {string} language The input language string
+ * @return {string[]} List of normalised languages
+ */
+export function getNormalizedLanguageKeys(language) {
+ const languageKeys = [];
+ const normalizedLanguage = this.normalizeLanguageKey(language);
+ const languageParts = normalizedLanguage.split('-');
+ if (languageParts.length == 2 && languageParts[0] == languageParts[1]) {
+ languageKeys.push(languageParts[0]);
+ } else {
+ languageKeys.push(normalizedLanguage);
+ if (languageParts.length == 2) {
+ languageKeys.push(languageParts[0]);
+ }
+ }
+ return languageKeys;
+};
+
+/**
+ * Returns a language string with underscores replaced with
+ * hyphens, and lowercased.
+ */
+export function normalizeLanguageKey(language) {
+ return language.toLowerCase().replace("_","-");
+};
+
+export function getCurrentLanguage() {
+ return counterpart.getLocale();
+}
+
+function getLangsJson() {
+ const deferred = q.defer();
+
+ request(
+ { method: "GET", url: i18nFolder + 'languages.json' },
+ (err, response, body) => {
+ if (err || response.status < 200 || response.status >= 300) {
+ deferred.reject({err: err, response: response});
+ return;
+ }
+ deferred.resolve(JSON.parse(body));
+ }
+ );
+ return deferred.promise;
+}
+
+function getLanguage(langPath) {
+ const deferred = q.defer();
+
+ let response_return = {};
+ request(
+ { method: "GET", url: langPath },
+ (err, response, body) => {
+ if (err || response.status < 200 || response.status >= 300) {
+ deferred.reject({err: err, response: response});
+ return;
+ }
+
+ deferred.resolve(JSON.parse(body));
+ }
+ );
+ return deferred.promise;
+}
diff --git a/test/components/views/elements/MemberEventListSummary-test.js b/test/components/views/elements/MemberEventListSummary-test.js
index d01d705040..a93e38b50c 100644
--- a/test/components/views/elements/MemberEventListSummary-test.js
+++ b/test/components/views/elements/MemberEventListSummary-test.js
@@ -4,6 +4,7 @@ const ReactDOM = require("react-dom");
const ReactTestUtils = require('react-addons-test-utils');
const sdk = require('matrix-react-sdk');
const MemberEventListSummary = sdk.getComponent('views.elements.MemberEventListSummary');
+import * as languageHandler from '../../../../src/languageHandler';
const testUtils = require('../../../test-utils');
describe('MemberEventListSummary', function() {
@@ -82,9 +83,11 @@ describe('MemberEventListSummary', function() {
return eventsForUsers;
};
- beforeEach(function() {
+ beforeEach(function(done) {
testUtils.beforeEach(this);
sandbox = testUtils.stubClient();
+
+ languageHandler.setLanguage('en').done(done);
});
afterEach(function() {
@@ -356,7 +359,7 @@ describe('MemberEventListSummary', function() {
const summaryText = summary.innerText;
expect(summaryText).toBe(
- "user_1 and 1 other were unbanned, joined and left 2 times and were banned"
+ "user_1 and one other were unbanned, joined and left 2 times and were banned"
);
});
@@ -559,7 +562,7 @@ describe('MemberEventListSummary', function() {
const summaryText = summary.innerText;
expect(summaryText).toBe(
- "user_1 and 1 other rejected their invitations and " +
+ "user_1 and one other rejected their invitations and " +
"had their invitations withdrawn"
);
});
@@ -595,7 +598,7 @@ describe('MemberEventListSummary', function() {
const summaryText = summary.innerText;
expect(summaryText).toBe(
- "user_1 rejected their invitations 2 times"
+ "user_1 rejected their invitation 2 times"
);
});
@@ -650,7 +653,7 @@ describe('MemberEventListSummary', function() {
const summaryText = summary.innerText;
expect(summaryText).toBe(
- "user_1, user_2 and 1 other joined"
+ "user_1, user_2 and one other joined"
);
});
diff --git a/test/i18n/languages.json b/test/i18n/languages.json
new file mode 100644
index 0000000000..bdb46584b9
--- /dev/null
+++ b/test/i18n/languages.json
@@ -0,0 +1,3 @@
+{
+ "en": "en_EN.json"
+}