;
}
diff --git a/src/components/structures/ScrollPanel.js b/src/components/structures/ScrollPanel.js
index 1df5e876e8..a1a7d08e0b 100644
--- a/src/components/structures/ScrollPanel.js
+++ b/src/components/structures/ScrollPanel.js
@@ -211,6 +211,14 @@ module.exports = React.createClass({
// forget what we wanted, so don't overwrite the saved state unless
// this appears to be a user-initiated scroll.
if (sn.scrollTop != this._lastSetScroll) {
+ // when scrolling, we don't care about disappearing typing notifs shrinking the timeline
+ // this might cause the scrollbar to resize in case the max-height was not correct
+ // but that's better than ending up with a lot of whitespace at the bottom of the timeline.
+ // we need to above check because when showing the typing notifs, an onScroll event is also triggered
+ if (!this.isAtBottom()) {
+ this.clearBlockShrinking();
+ }
+
this._saveScrollState();
} else {
debuglog("Ignoring scroll echo");
diff --git a/src/components/views/context_menus/TopLeftMenu.js b/src/components/views/context_menus/TopLeftMenu.js
index 8583f631f2..e3d8ef8d91 100644
--- a/src/components/views/context_menus/TopLeftMenu.js
+++ b/src/components/views/context_menus/TopLeftMenu.js
@@ -26,7 +26,6 @@ export class TopLeftMenu extends React.Component {
constructor() {
super();
this.viewHomePage = this.viewHomePage.bind(this);
- this.viewWelcomePage = this.viewWelcomePage.bind(this);
this.openSettings = this.openSettings.bind(this);
this.signIn = this.signIn.bind(this);
this.signOut = this.signOut.bind(this);
@@ -67,9 +66,6 @@ export class TopLeftMenu extends React.Component {
return
{homePageSection}
-
-
{_t("Welcome")}
-
{_t("Settings")}
@@ -82,11 +78,6 @@ export class TopLeftMenu extends React.Component {
this.closeMenu();
}
- viewWelcomePage() {
- dis.dispatch({action: 'view_welcome_page'});
- this.closeMenu();
- }
-
openSettings() {
dis.dispatch({action: 'view_user_settings'});
this.closeMenu();
diff --git a/src/components/views/dialogs/RedesignFeedbackDialog.js b/src/components/views/dialogs/RedesignFeedbackDialog.js
index c428aca16a..8f345bdd92 100644
--- a/src/components/views/dialogs/RedesignFeedbackDialog.js
+++ b/src/components/views/dialogs/RedesignFeedbackDialog.js
@@ -20,14 +20,12 @@ import { _t } from '../../../languageHandler';
export default (props) => {
const existingIssuesUrl = "https://github.com/vector-im/riot-web/issues" +
- "?q=is%3Aopen+is%3Aissue+label%3Aredesign+sort%3Areactions-%2B1-desc";
- const newIssueUrl = "https://github.com/vector-im/riot-web/issues/new" +
- "?assignees=&labels=redesign&template=redesign_issue.md&title=";
+ "?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc";
+ const newIssueUrl = "https://github.com/vector-im/riot-web/issues/new";
const description1 =
- _t("Thanks for testing the Riot Redesign. " +
- "If you run into any bugs or visual issues, " +
- "please let us know on GitHub.");
+ _t("If you run into any bugs or have feedback you'd like to share, " +
+ "please let us know on GitHub.");
const description2 = _t("To help avoid duplicate issues, " +
"please view existing issues " +
"first (and add a +1) or create a new issue " +
diff --git a/src/components/views/elements/LazyRenderList.js b/src/components/views/elements/LazyRenderList.js
index 1c1cc127d6..d7d2a0ab99 100644
--- a/src/components/views/elements/LazyRenderList.js
+++ b/src/components/views/elements/LazyRenderList.js
@@ -73,12 +73,6 @@ export default class LazyRenderList extends React.Component {
}
}
- shouldComponentUpdate(nextProps, nextState) {
- const itemsChanged = nextProps.items !== this.props.items;
- const rangeChanged = nextState.renderRange !== this.state.renderRange;
- return itemsChanged || rangeChanged;
- }
-
render() {
const {itemHeight, items, renderItem} = this.props;
diff --git a/src/components/views/groups/GroupInviteTile.js b/src/components/views/groups/GroupInviteTile.js
index 9e28ff5adf..44441f4754 100644
--- a/src/components/views/groups/GroupInviteTile.js
+++ b/src/components/views/groups/GroupInviteTile.js
@@ -150,6 +150,7 @@ export default React.createClass({
const classes = classNames('mx_RoomTile mx_RoomTile_highlight', {
'mx_RoomTile_menuDisplayed': this.state.menuDisplayed,
'mx_RoomTile_selected': this.state.selected,
+ 'mx_GroupInviteTile': true,
});
return (
diff --git a/src/components/views/settings/tabs/HelpSettingsTab.js b/src/components/views/settings/tabs/HelpSettingsTab.js
index 524bddf3b1..4ad62451cb 100644
--- a/src/components/views/settings/tabs/HelpSettingsTab.js
+++ b/src/components/views/settings/tabs/HelpSettingsTab.js
@@ -126,6 +126,26 @@ export default class HelpSettingsTab extends React.Component {
);
}
+ _renderCredits() {
+ // Note: This is not translated because it is legal text.
+ // Also, is ugly but necessary.
+ return (
+
+ );
+ }
+
render() {
let faqText = _t('For help with using Riot, click here.', {}, {
'a': (sub) => {sub},
@@ -211,6 +231,7 @@ export default class HelpSettingsTab extends React.Component {
{this._renderLegal()}
+ {this._renderCredits()}
{_t("Advanced")}
diff --git a/src/components/views/verification/VerificationShowSas.js b/src/components/views/verification/VerificationShowSas.js
index bca68e92d3..a2531800e5 100644
--- a/src/components/views/verification/VerificationShowSas.js
+++ b/src/components/views/verification/VerificationShowSas.js
@@ -140,7 +140,7 @@ _td("Light bulb");
_td("Book");
_td("Pencil");
_td("Paperclip");
-_td("Scisors");
+_td("Scissors");
_td("Padlock");
_td("Key");
_td("Hammer");
diff --git a/src/i18n/strings/bg.json b/src/i18n/strings/bg.json
index 7e3b2b6bd0..627f4309c6 100644
--- a/src/i18n/strings/bg.json
+++ b/src/i18n/strings/bg.json
@@ -686,7 +686,7 @@
"This setting cannot be changed later!": "Тази настройка не може да бъде променена по-късно!",
"Unknown error": "Неизвестна грешка",
"Incorrect password": "Неправилна парола",
- "Deactivate Account": "Деактивация на профила",
+ "Deactivate Account": "Затвори акаунта",
"Deactivate my account": "Деактивирай моя профил",
"Device name": "Име на устройство",
"Device key": "Ключ на устройство",
@@ -1185,7 +1185,7 @@
"Encrypting": "Шифроване",
"Encrypted, not sent": "Шифровано, неизпратено",
"Share Link to User": "Сподели връзка с потребител",
- "Share room": "Сподели стая",
+ "Share room": "Сподели стаята",
"Share Room": "Споделяне на стая",
"Link to most recent message": "Създай връзка към най-новото съобщение",
"Share User": "Споделяне на потребител",
@@ -1515,7 +1515,6 @@
"2018 theme": "Тема 2018",
"Account management": "Управление на акаунта",
"Deactivating your account is a permanent action - be careful!": "Деактивирането на акаунта е необратимо действие - внимавайте!",
- "Deactivate Account": "Затвори акаунта",
"For help with using Riot, click here.": "За помощ при използването на Riot, кликнете тук.",
"For help with using Riot, click here or start a chat with our bot using the button below.": "За помощ при използването на Riot, кликнете тук или започнете чат с бота ни използвайки бутона по-долу.",
"Chat with Riot Bot": "Чати с Riot Bot",
@@ -1727,5 +1726,42 @@
"This homeserver does not support login using email address.": "Този сървър не поддържа влизане в профил посредством имейл адрес.",
"Guest access is disabled on this homeserver.": "Достъпът за гости е изключен на този сървър.",
"Registration has been disabled on this homeserver.": "Регистрацията е изключена на този сървър.",
- "Unable to query for supported registration methods.": "Неуспешно взимане на поддържаните методи за регистрация."
+ "Unable to query for supported registration methods.": "Неуспешно взимане на поддържаните методи за регистрация.",
+ "Show recent room avatars above the room list (refresh to apply changes)": "Показвай снимки на скоро-използваните стаи над списъка със стаите (презаредете за да влезе в сила)",
+ "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Сигурни ли сте? Ако нямате работещо резервно копие на ключовете, ще загубите достъп до шифрованите съобщения.",
+ "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Шифрованите съобщения са защитени с шифроване от край до край. Само Вие и получателят (получателите) имате ключове за четенето им.",
+ "Restore from Backup": "Възстанови от резервно копие",
+ "This device is backing up your keys. ": "Това устройство прави резервни копия на ключовете. ",
+ "This device is not backing up your keys.": "Това устройство не прави резервно копия на ключовете.",
+ "Back up your keys before signing out to avoid losing them.": "Направете резервно копие на ключовете преди изход от профила, за да не ги загубите.",
+ "Use key backup": "Използвай резервно копие на ключовете",
+ "Your keys are not being backed up from this device.": "Това устройство не прави резервно копие на ключовете Ви.",
+ "Start using Key Backup": "Започни използване на резервни копия за ключове",
+ "Use Key Backup": "Използвай резервно копие на ключовете",
+ "Never lose encrypted messages": "Никога не губете шифровани съобщения",
+ "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Съобщенията в тази стая са защитени с шифроване от край до край. Само Вие и получателят (получателите) имате ключове за разчитането им.",
+ "Securely back up your keys to avoid losing them. Learn more.": "Правете защитено резервно копие на ключовете, за да не ги загубите. Научи повече.",
+ "Not now": "Не сега",
+ "Don't ask me again": "Не ме питай пак",
+ "Nothing appearing? Not all clients support interactive verification yet. .": "Нищо не се появява? Не всички клиенти поддържат интерактивно потвърждение. .",
+ "I don't want my encrypted messages": "Не искам шифрованите си съобщения",
+ "Manually export keys": "Експортирай ключове ръчно",
+ "You'll lose access to your encrypted messages": "Ще загубите достъп до шифрованите си съобщения",
+ "Are you sure you want to sign out?": "Сигурни ли сте, че искате да излезете от профила?",
+ "Warning: you should only set up key backup from a trusted computer.": "Внимание: настройването на резервно копие на ключовете трябва да се прави само от доверен компютър.",
+ "Hide": "Скрий",
+ "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Ще съхраним шифровано копие на ключовете на сървърът ни. Предпазете резервното копие с парола.",
+ "For maximum security, this should be different from your account password.": "За максимална сигурност, по-добре паролата да е различна от тази за акаунта Ви.",
+ "Set up with a Recovery Key": "Настрой с ключ за възстановяване",
+ "Please enter your passphrase a second time to confirm.": "Въведете паролата отново за потвърждение.",
+ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Ключът за възстановяване дава допълнителна сигурност - може да го използвате за да възстановите достъпа до шифрованите съобщения, в случай че забравите паролата.",
+ "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Пазете ключът за възстановяване на много сигурно място, например в password manager програма или сейф",
+ "Your keys are being backed up (the first backup could take a few minutes).": "Прави се резервно копие на ключовете Ви (първото копие може да отнеме няколко минути).",
+ "Okay": "Добре",
+ "Secure your backup with a passphrase": "Защитете резервното копие с парола",
+ "Confirm your passphrase": "Потвърдете паролата",
+ "Recovery key": "Ключ за възстановяване",
+ "Success!": "Успешно!",
+ "Allow Peer-to-Peer for 1:1 calls": "Позволи използването на директна връзка (P2P) за 1:1 повиквания",
+ "Default theme": "Тема по подразбиране"
}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 380b9e894f..c53b242c3d 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -380,7 +380,7 @@
"Book": "Book",
"Pencil": "Pencil",
"Paperclip": "Paperclip",
- "Scisors": "Scisors",
+ "Scissors": "Scissors",
"Padlock": "Padlock",
"Key": "Key",
"Hammer": "Hammer",
@@ -526,6 +526,7 @@
"Deactivating your account is a permanent action - be careful!": "Deactivating your account is a permanent action - be careful!",
"Deactivate Account": "Deactivate Account",
"Legal": "Legal",
+ "Credits": "Credits",
"For help with using Riot, click here.": "For help with using Riot, click here.",
"For help with using Riot, click here or start a chat with our bot using the button below.": "For help with using Riot, click here or start a chat with our bot using the button below.",
"Chat with Riot Bot": "Chat with Riot Bot",
@@ -1103,7 +1104,7 @@
"Manually export keys": "Manually export keys",
"You'll lose access to your encrypted messages": "You'll lose access to your encrypted messages",
"Are you sure you want to sign out?": "Are you sure you want to sign out?",
- "Thanks for testing the Riot Redesign. If you run into any bugs or visual issues, please let us know on GitHub.": "Thanks for testing the Riot Redesign. If you run into any bugs or visual issues, please let us know on GitHub.",
+ "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.",
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.",
"Report bugs & give feedback": "Report bugs & give feedback",
"Go back": "Go back",
@@ -1218,7 +1219,6 @@
"View Community": "View Community",
"Hide": "Hide",
"Sign in": "Sign in",
- "Welcome": "Welcome",
"Login": "Login",
"powered by Matrix": "powered by Matrix",
"Robot check is currently unavailable on desktop - please use a web browser": "Robot check is currently unavailable on desktop - please use a web browser",
diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json
index 1a55796e6c..fb0c6c7eab 100644
--- a/src/i18n/strings/es.json
+++ b/src/i18n/strings/es.json
@@ -1097,11 +1097,11 @@
"Username available": "Nombre de usuario disponible",
"This will be your account name on the homeserver, or you can pick a different server.": "Este será el nombre de su cuenta en el servidor doméstico, o puede elegir un servidor diferente.",
"If you already have a Matrix account you can log in instead.": "Si ya tiene una cuenta de Matrix puede conectarse: log in.",
- "Share Room": "Compartir Sala",
+ "Share Room": "Compartir sala",
"Link to most recent message": "Enlazar a mensaje más reciente",
- "Share User": "Compartir Usuario",
+ "Share User": "Compartir usuario",
"Share Community": "Compartir Comunidad",
- "Share Room Message": "Compartir Mensaje de Sala",
+ "Share Room Message": "Compartir el mensaje de la sala",
"Link to selected message": "Enlazar a mensaje seleccionado",
"COPY": "COPIAR",
"You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Está actualmente prohibiendo dispositivos sin verificar; para enviar mensajes a los mismos deber verificarlos.",
@@ -1267,5 +1267,20 @@
"%(senderName)s removed the main address for this room.": "%(senderName)s eliminó la dirección principal para esta sala.",
"Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot ahora utiliza de 3 a 5 veces menos memoria, porque solo carga información sobre otros usuarios cuando es necesario. Por favor, ¡aguarda mientras volvemos a sincronizar con el servidor!",
"Updating Riot": "Actualizando Riot",
- "Unable to query for supported registration methods": "No es posible consultar por los métodos de registro compatibles"
+ "Unable to query for supported registration methods": "No es posible consultar por los métodos de registro compatibles",
+ "Room version:": "Versión de la sala:",
+ "Developer options": "Opciones de desarrollador",
+ "Room version": "Versión de la sala",
+ "Room information": "Información de la sala",
+ "Room Topic": "Tema de la sala",
+ "Theme": "Tema",
+ "2018 theme": "Tema 2018",
+ "Voice & Video": "Voz y video",
+ "Gets or sets the room topic": "Obtiene o establece el tema de la sala",
+ "This room has no topic.": "Esta sala no tiene tema.",
+ "Sets the room name": "Establece el nombre de la sala",
+ "Upload profile picture": "Subir imagen de perfil",
+ "Phone numbers": "Números de teléfono",
+ "Email addresses": "Correos electrónicos",
+ "Language and region": "Idioma y región"
}
diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json
index 3670efc173..071de3b409 100644
--- a/src/i18n/strings/fi.json
+++ b/src/i18n/strings/fi.json
@@ -1078,5 +1078,6 @@
"%(count)s of your messages have not been sent.|one": "Viestiäsi ei lähetetty.",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s asetti näyttönimekseen %(displayName)s.",
"Learn more about how we use analytics.": "Lue lisää analytiikkakäytännöistämme.",
- "There's no one else here! Would you like to invite others or stop warning about the empty room?": "Täällä ei ole muita! Haluaisitko kutsua muita tai lopettaa tyhjästä huoneesta huomauttamisen?"
+ "There's no one else here! Would you like to invite others or stop warning about the empty room?": "Täällä ei ole muita! Haluaisitko kutsua muita tai lopettaa tyhjästä huoneesta huomauttamisen?",
+ "The version of Riot.im": "Riot.im:n versio"
}
diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json
index af81555f1f..54407ef11a 100644
--- a/src/i18n/strings/fr.json
+++ b/src/i18n/strings/fr.json
@@ -92,7 +92,7 @@
"Current password": "Mot de passe actuel",
"Curve25519 identity key": "Clé d’identité Curve25519",
"/ddg is not a command": "/ddg n'est pas une commande",
- "Deactivate Account": "Désactiver le compte",
+ "Deactivate Account": "Fermer le compte",
"Deactivate my account": "Désactiver mon compte",
"Decrypt %(text)s": "Déchiffrer %(text)s",
"Decryption error": "Erreur de déchiffrement",
@@ -1526,7 +1526,6 @@
"2018 theme": "Thème 2018",
"Account management": "Gestion du compte",
"Deactivating your account is a permanent action - be careful!": "La désactivation du compte est une action permanente. Soyez prudent !",
- "Deactivate Account": "Fermer le compte",
"For help with using Riot, click here.": "Pour obtenir de l'aide sur l'utilisation de Riot, cliquez ici.",
"For help with using Riot, click here or start a chat with our bot using the button below.": "Pour obtenir de l'aide sur l'utilisation de Riot, cliquez ici ou commencez une discussion avec notre bot en utilisant le bouton ci-dessous.",
"Start a chat with Riot Bot": "Commencer une discussion avec le bot Riot",
@@ -1738,5 +1737,43 @@
"This homeserver does not support login using email address.": "Ce serveur d'accueil ne prend pas en charge la connexion avec une adresse e-mail.",
"Guest access is disabled on this homeserver.": "L'accès des invités est désactivé sur ce serveur d'accueil.",
"Registration has been disabled on this homeserver.": "L'inscription a été désactivée sur ce serveur d'accueil.",
- "Unable to query for supported registration methods.": "Impossible de demander les méthodes d'inscription prises en charge."
+ "Unable to query for supported registration methods.": "Impossible de demander les méthodes d'inscription prises en charge.",
+ "Show recent room avatars above the room list (refresh to apply changes)": "Afficher les avatars des salons récents au-dessus de la liste de salons (actualiser pour appliquer les changements)",
+ "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "En êtes-vous sûr(e) ? Vous perdrez vos messages chiffrés si vos clés ne sont pas sauvegardées correctement.",
+ "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Les messages chiffrés sont sécurisés avec un chiffrement de bout en bout. Seuls vous et le(s) destinataire(s) ont les clés pour lire ces messages.",
+ "Restore from Backup": "Récupérer depuis la sauvegarde",
+ "This device is backing up your keys. ": "Cet appareil sauvegarde vos clés. ",
+ "This device is not backing up your keys.": "Cet appareil ne sauvegarde pas vos clés.",
+ "Back up your keys before signing out to avoid losing them.": "Sauvegardez vos clés avant de vous déconnecter pour éviter de les perdre.",
+ "Use key backup": "Utiliser la sauvegarde de clés",
+ "Your keys are not being backed up from this device.": "Vos clés ne sont pas sauvegardées depuis cet appareil.",
+ "Start using Key Backup": "Commencer à utiliser la sauvegarde de clés",
+ "Use Key Backup": "Utiliser la sauvegarde de clés",
+ "Never lose encrypted messages": "Ne perdez jamais vos messages chiffrés",
+ "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Les messages de ce salon sont sécurisés avec le chiffrement de bout en bout. Seuls vous et le(s) destinataire(s) avez les clés pour lire ces messages.",
+ "Securely back up your keys to avoid losing them. Learn more.": "Sauvegardez vos clés de façon sécurisée pour éviter de les perdre. En savoir plus.",
+ "Not now": "Pas maintenant",
+ "Don't ask me again": "Ne plus me demander",
+ "Nothing appearing? Not all clients support interactive verification yet. .": "Rien n'apparaît ? Certains clients ne prennent pas encore en charge la vérification interactive. .",
+ "I don't want my encrypted messages": "Je ne veux pas de mes messages chiffrés",
+ "Manually export keys": "Exporter manuellement les clés",
+ "You'll lose access to your encrypted messages": "Vous perdrez l’accès à vos messages chiffrés",
+ "Are you sure you want to sign out?": "Voulez-vous vraiment vous déconnecter ?",
+ "Warning: you should only set up key backup from a trusted computer.": "Attention : vous ne devriez configurer la sauvegarde des clés que depuis un ordinateur de confiance.",
+ "Hide": "Masquer",
+ "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Nous conserverons une copie chiffrée de vos clés sur notre serveur. Protégez votre sauvegarde avec une phrase de passe pour qu'elle reste sécurisée.",
+ "For maximum security, this should be different from your account password.": "Pour une sécurité maximale, ceci devrait être différent du mot de passe de votre compte.",
+ "Set up with a Recovery Key": "Configurer une clé de récupération",
+ "Please enter your passphrase a second time to confirm.": "Veuillez saisir votre phrase de passe une seconde fois pour la confirmer.",
+ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Votre clé de récupération est une mesure de précaution. Vous pouvez l'utiliser pour récupérer l’accès à vos messages chiffrés si vous oubliez votre phrase de passe.",
+ "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Conservez votre clé de récupération dans un endroit très sécurisé, comme un gestionnaire de mots de passe (ou un coffre-fort)",
+ "Your keys are being backed up (the first backup could take a few minutes).": "Vous clés sont en cours de sauvegarde (la première sauvegarde peut prendre quelques minutes).",
+ "Okay": "OK",
+ "Secure your backup with a passphrase": "Protégez votre sauvegarde avec une phrase de passe",
+ "Confirm your passphrase": "Confirmez votre phrase de passe",
+ "Recovery key": "Clé de récupération",
+ "Success!": "Terminé !",
+ "Allow Peer-to-Peer for 1:1 calls": "Autoriser les connexions pair-à-pair pour les appels individuels",
+ "Default theme": "Thème par défaut",
+ "Welcome": "Bienvenue"
}
diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json
index 2dbba24ade..79e9ba95fc 100644
--- a/src/i18n/strings/hu.json
+++ b/src/i18n/strings/hu.json
@@ -113,7 +113,7 @@
"Custom": "Egyedi",
"Custom level": "Egyedi szint",
"/ddg is not a command": "/ddg nem egy parancs",
- "Deactivate Account": "Fiók zárolása",
+ "Deactivate Account": "Fiók bezárása",
"Deactivate my account": "Fiókom felfüggesztése",
"Decline": "Elutasít",
"Decrypt %(text)s": "%(text)s visszafejtése",
@@ -1525,7 +1525,6 @@
"2018 theme": "2018-as téma",
"Account management": "Fiók menedzsment",
"Deactivating your account is a permanent action - be careful!": "A fiók felfüggesztése végleges - légy óvatos!",
- "Deactivate Account": "Fiók bezárása",
"For help with using Riot, click here.": "A Riot használatában való segítséghez kattints ide.",
"For help with using Riot, click here or start a chat with our bot using the button below.": "A Riot használatában való segítségér kattints ide vagy kezdj beszélgetni a botunkkal az alábbi gombra kattintva.",
"Start a chat with Riot Bot": "Csevegés kezdése a Riot Bottal",
@@ -1738,5 +1737,43 @@
"This homeserver does not support login using email address.": "Ezen a Matrix szerveren nem tudsz e-mail címmel bejelentkezni.",
"Guest access is disabled on this homeserver.": "A vendég felhasználók le vannak tiltva ezen a Matrix szerveren.",
"Registration has been disabled on this homeserver.": "A fiókkészítés le van tiltva ezen a Matrix szerveren.",
- "Unable to query for supported registration methods.": "A támogatott regisztrációs módokat nem lehet lekérdezni."
+ "Unable to query for supported registration methods.": "A támogatott regisztrációs módokat nem lehet lekérdezni.",
+ "Show recent room avatars above the room list (refresh to apply changes)": "Mutasd a legutóbbi szoba profilképét a szobák listája felett (a változtatáshoz frissítsd az oldalt)",
+ "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Biztos vagy benne? Ha a kulcsaid nincsenek megfelelően elmentve elveszted a titkosított üzeneteidet.",
+ "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "A titkosított üzenetek végponttól végpontig titkosítással védettek. Csak neked és a címzetteknek lehet meg a kulcs az üzenet visszafejtéséhez.",
+ "Restore from Backup": "Visszaállítás mentésből",
+ "This device is backing up your keys. ": "Ez az eszköz elmenti a kulcsaidat. ",
+ "This device is not backing up your keys.": "Ez az eszköz nem menti el a kulcsaidat.",
+ "Back up your keys before signing out to avoid losing them.": "Ments el a kulcsaidat mielőtt kijelentkezel, hogy ne veszítsd el őket.",
+ "Use key backup": "Kulcs mentés használata",
+ "Your keys are not being backed up from this device.": "A kulcsaid erről az eszközről nem lesznek mentve.",
+ "Start using Key Backup": "Kulcs mentés használatának megkezdése",
+ "Use Key Backup": "Kulcs mentés használata",
+ "Never lose encrypted messages": "Soha ne veszíts el titkosított üzenetet",
+ "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "A szobában az üzenetek végponttól végpontig titkosítva vannak. Csak neked és a címzetteknek vannak meg a kulcsok az üzenetek visszafejtéséhez.",
+ "Securely back up your keys to avoid losing them. Learn more.": "Mentsd el megfelelően a kulcsaidat, hogy ne vesszenek el. Tudj meg róla többet.",
+ "Not now": "Most nem",
+ "Don't ask me again": "Ne kérdezz többet",
+ "Nothing appearing? Not all clients support interactive verification yet. .": "Nem jelent meg semmi? Az interaktív hitelesítést még nem minden kliens támogatja. .",
+ "I don't want my encrypted messages": "Nincs szükségem a titkosított üzeneteimre",
+ "Manually export keys": "Kulcsok kézi mentése",
+ "You'll lose access to your encrypted messages": "Elveszted a hozzáférést a titkosított üzeneteidhez",
+ "Are you sure you want to sign out?": "Biztos, hogy ki akarsz jelentkezni?",
+ "Warning: you should only set up key backup from a trusted computer.": "Figyelmeztetés: csak biztonságos számítógépről állíts be kulcs mentést.",
+ "Hide": "Eltakar",
+ "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "A kulcsaid másolatát titkosítva tároljuk a Matrix szerveren. Védd a mentésedet jelmondattal, hogy biztonságban legyen.",
+ "For maximum security, this should be different from your account password.": "A maximális biztonság érdekében ez térjen el a felhasználói fióknál használt jelszótól.",
+ "Set up with a Recovery Key": "Beállítás Visszaállítási Kulccsal",
+ "Please enter your passphrase a second time to confirm.": "Kérlek add meg a jelmondatot másodszor is a biztonság kedvéért.",
+ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "A Visszaállítási Kulcs egy olyan biztonsági elem amivel visszaállíthatod a hozzáférésed a titkosított üzenetekhez még akkor is, ha a jelmondatot elfelejtetted.",
+ "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "A Visszaállítási Kulcsot nagyon biztonságos helyen tárold, mint pl. egy jelszókezelőben (vagy széfben)",
+ "Your keys are being backed up (the first backup could take a few minutes).": "A kulcsaid mentése folyamatban van (az első mentés több percig is eltarthat).",
+ "Okay": "Rendben",
+ "Secure your backup with a passphrase": "Védd a mentést egy jelmondattal",
+ "Confirm your passphrase": "Erősítsd meg a jelmondatot",
+ "Recovery key": "Visszaállítási Kulcs",
+ "Success!": "Sikeres!",
+ "Allow Peer-to-Peer for 1:1 calls": "Ponttól-pontig kapcsolat engedélyezése az 1:1 hívásokban",
+ "Default theme": "Alapértelmezett stílus",
+ "Welcome": "Üdvözöllek"
}
diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json
index abef2825fc..2bf2f13420 100644
--- a/src/i18n/strings/sq.json
+++ b/src/i18n/strings/sq.json
@@ -1705,5 +1705,40 @@
"No thanks, I'll download a copy of my decryption keys before I log out": "Jo, faleminderit, do të shkarkoj një kopje të kyçeve të mi të shfshehtëzimeve, përpara se të bëj daljen",
"Disinvite this user from community?": "T’i hiqet ftesa për në bashkësi këtij përdoruesi?",
"The homeserver URL %(hsUrl)s doesn't seem to be valid URL. Please enter a valid URL including the protocol prefix.": "URL-ja e shërbyesit Home %(hsUrl)s s’duket të jetë URL e vlefshme. Ju lutemi, jepni një URL të vlefshme, përfshi prefiksin e protokollit.",
- "A verification email will be sent to your inbox to confirm setting your new password.": "Te mesazhet tuaj do të dërgohet një email verifikimi, për të ripohuar caktimin e fjalëkalimit tuaj të ri."
+ "A verification email will be sent to your inbox to confirm setting your new password.": "Te mesazhet tuaj do të dërgohet një email verifikimi, për të ripohuar caktimin e fjalëkalimit tuaj të ri.",
+ "Show recent room avatars above the room list (refresh to apply changes)": "Shfaq avatarë dhome së fundi mbi listën e dhomave (që të zbatohen ndryshimet, rifreskojeni)",
+ "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Jeni i sigurt? Do të humbni mesazhet tuaj të fshehtëzuar, nëse kopjeruajtja për kyçet tuaj nuk bëhet si duhet.",
+ "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Mesazhet e fshehtëzuar sigurohen me fshehtëzim skaj-më-skaj. Vetëm ju dhe marrësi(t) kanë kyçet për të lexuar këto mesazhe.",
+ "Restore from Backup": "Riktheje prej Kopjeruajtje",
+ "This device is backing up your keys. ": "Kjo pajisje po bën kopjeruajtje të kyçeve tuaja. ",
+ "This device is not backing up your keys.": "Kjo pajisje nuk kopjeruan kyçe tuajt.",
+ "Back up your keys before signing out to avoid losing them.": "Kopjeruajini kyçet tuaj, përpara se të dilni, që të shmangni humbjen e tyre.",
+ "Use key backup": "Përdor kopjeruajtje kyçesh",
+ "Your keys are not being backed up from this device.": "Kyçet tuaj nuk po kopjeruhen nga kjo pajisje.",
+ "Start using Key Backup": "Fillo të përdorësh Kopjeruajtje Kyçesh",
+ "Use Key Backup": "Përdor Kopjeruajtje Kyçesh",
+ "Never lose encrypted messages": "Mos humbni kurrë mesazhe të fshehtëzuar",
+ "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Mesazhet në këtë dhomë janë të siguruar përmes fshehtëzimi skaj-më-skaj. Vetëm ju dhe marrësi(t) kanë kyçet për të lexuar këto mesazhe.",
+ "Securely back up your keys to avoid losing them. Learn more.": "Kopjeruajini kyçet tuaj në mënyrë të sigurt, për të shmangur humbjen e tyre. Mësoni më tepër.",
+ "Not now": "Jo tani",
+ "Don't ask me again": "Mos më pyet sërish",
+ "Nothing appearing? Not all clients support interactive verification yet. .": "S’duket gjë? Jo të tërë klientët mbulojnë verifikim ndërveprues ende. .",
+ "I don't want my encrypted messages": "Nuk i dua mesazhet e mia të fshehtëzuar",
+ "Manually export keys": "Eksporto dorazi kyçet",
+ "You'll lose access to your encrypted messages": "Do të humbni hyrje te mesazhet tuaj të fshehtëzuar",
+ "Are you sure you want to sign out?": "Jeni i sigurt se doni të dilni?",
+ "Warning: you should only set up key backup from a trusted computer.": "Kujdes: duhet të ujdisni kopjeruajtje kyçesh vetëm nga një kompjuter i besuar.",
+ "Hide": "Fshihe",
+ "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Do të depozitojmë në shërbyesin tonë një kopje të fshehtëzuar të kyçeve tuaj. Mbrojeni kopjeruajtjen tuaj me një frazëkalim, për ta mbajtur të parrezikuar.",
+ "For maximum security, this should be different from your account password.": "Për maksimumin e sigurisë, ky do të duhej të ishte i ndryshëm nga fjalëkalimi juaj për llogarinë.",
+ "Set up with a Recovery Key": "Rregullojeni me një Kyç Rikthimesh",
+ "Please enter your passphrase a second time to confirm.": "Ju lutemi, që të ripohohet, rijepeni frazëkalimin tuaj.",
+ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Kyçi juaj i rikthimeve është një rrjet sigurie - mund ta përdorni për rikthim hyrjeje te mesazhet tuaj të fshehtëzuar, nëse harroni frazëkalimin tuaj.",
+ "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Mbajeni kyçin tuaj të rikthimeve diku në një vend shumë të sigurt, bie fjala, nën një përgjegjës fjalëkalimesh (ose në një kasafortë)",
+ "Your keys are being backed up (the first backup could take a few minutes).": "Kyçet tuaj po kopjeruhen (kopjeruajtja e parë mund të hajë disa minuta).",
+ "Okay": "Në rregull",
+ "Secure your backup with a passphrase": "Sigurojeni kopjeruajtjen tuaj me një frazëkalim",
+ "Confirm your passphrase": "Ripohoni frazëkalimin tuaj",
+ "Recovery key": "Kyç Rikthimesh",
+ "Success!": "Sukses!"
}
diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json
index 479f8d68bb..9dbcad953f 100644
--- a/src/i18n/strings/zh_Hans.json
+++ b/src/i18n/strings/zh_Hans.json
@@ -1325,5 +1325,22 @@
"Capitalization doesn't help very much": "大写字母并没有很大的作用",
"All-uppercase is almost as easy to guess as all-lowercase": "全大写的密码通常比全小写的更容易猜测",
"Reversed words aren't much harder to guess": "把单词倒过来不会比原来的难猜很多",
- "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "您也可以自定义身份服务器,但是您将不能用电子邮箱地址邀请或被邀请。"
+ "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "您也可以自定义身份服务器,但是您将不能用电子邮箱地址邀请他人或被邀请。",
+ "Whether or not you're logged in (we don't record your username)": "您是否已经登入(我们不会记录您的用户名)",
+ "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "文件 %(fileName)s 超过主服务器的文件大小限制",
+ "Upgrades a room to a new version": "将聊天室升级到新版本",
+ "Gets or sets the room topic": "获取或设置聊天室话题",
+ "This room has no topic.": "此聊天室没有话题。",
+ "Sets the room name": "设置聊天室名称",
+ "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s 升级了此聊天室。",
+ "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s 将此聊天室对知道此聊天室链接的人公开。",
+ "%(senderDisplayName)s made the room invite only.": "%(senderDisplayName)s 将此聊天室改为仅限邀请。",
+ "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s 将加入规则改为 %(rule)s",
+ "%(displayName)s is typing …": "%(displayName)s 正在打字…",
+ "%(names)s and %(count)s others are typing …|other": "%(names)s 与其他 %(count)s 位正在打字…",
+ "%(names)s and %(count)s others are typing …|one": "%(names)s 与另一位正在打字…",
+ "%(names)s and %(lastPerson)s are typing …": "%(names)s 和 %(lastPerson)s正在打字…",
+ "Unrecognised address": "无法识别地址",
+ "User %(user_id)s may or may not exist": "用户 %(user_id)s 不一定存在",
+ "Predictable substitutions like '@' instead of 'a' don't help very much": "可预见的替换如将 '@' 替换为 'a' 并不会有太大效果"
}
diff --git a/src/utils/pages.js b/src/utils/pages.js
new file mode 100644
index 0000000000..d63ca3f2c7
--- /dev/null
+++ b/src/utils/pages.js
@@ -0,0 +1,31 @@
+/*
+Copyright 2019 New Vector Ltd
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+export function getHomePageUrl(appConfig) {
+ const pagesConfig = appConfig.embeddedPages;
+ let pageUrl = null;
+ if (pagesConfig) {
+ pageUrl = pagesConfig.homeUrl;
+ }
+ if (!pageUrl) {
+ // This is a deprecated config option for the home page
+ // (despite the name, given we also now have a welcome
+ // page, which is not the same).
+ pageUrl = appConfig.welcomePageUrl;
+ }
+
+ return pageUrl;
+}