From 85040a2e6d77c2a33262df92f8cf2cbfa5cc01e3 Mon Sep 17 00:00:00 2001 From: rubo77 Date: Thu, 5 Jan 2017 23:18:56 +0100 Subject: [PATCH 001/391] Hide Options button from copy to clipboard --- .../vector/css/matrix-react-sdk/views/rooms/EventTile.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/EventTile.css b/src/skins/vector/css/matrix-react-sdk/views/rooms/EventTile.css index fd3f486b7..cbae86439 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/EventTile.css +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/EventTile.css @@ -172,6 +172,10 @@ limitations under the License. cursor: pointer; top: 6px; right: 6px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } .mx_EventTile:hover .mx_EventTile_editButton, From 5020307a6c01122706dff1e835d8f0a93495bb23 Mon Sep 17 00:00:00 2001 From: Ruben Barkow Date: Mon, 2 Jan 2017 01:44:04 +0100 Subject: [PATCH 002/391] Add a   after timestamp This solves part of the problem that the timestamp is gluing at the message, when copied in your clipboard. Example: 23:02test message see https://github.com/vector-im/riot-web/issues/893 --- src/components/views/messages/MessageTimestamp.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/views/messages/MessageTimestamp.js b/src/components/views/messages/MessageTimestamp.js index dda87767a..3a8dd91dc 100644 --- a/src/components/views/messages/MessageTimestamp.js +++ b/src/components/views/messages/MessageTimestamp.js @@ -26,9 +26,8 @@ module.exports = React.createClass({ var date = new Date(this.props.ts); return ( - { DateUtils.formatTime(date) } + { DateUtils.formatTime(date)+' ' } ); }, }); - From 71d0ecf37daec0d737a10ef3e11828ce55935506 Mon Sep 17 00:00:00 2001 From: Tong Hui Date: Fri, 10 Nov 2017 14:14:35 +0000 Subject: [PATCH 003/391] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/ --- src/i18n/strings/zh_Hans.json | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 0a1465b4c..1d06ef7da 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -203,5 +203,19 @@ "Event sent!": "事件已发出!", "Event Type": "事件类型", "Event Content": "事件内容", - "State Key": "状态密钥" + "State Key": "状态密钥", + "Show message in desktop notification": "在桌面通知中显示信息", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "您可以使用自订的服务器选项,并指定不同的主服务器 URL 来登录其他的 Matrix 服务器。
这让您可以在不同的服务器上以既有的 Matrix 帐号使用 Riot。

您也可以设置一个自订的身份服务器,但您可能无法透过电子邮件地址来邀请用户,或是让别人透过电子邮件邀请您。", + "Toolbox": "工具箱", + "Back": "返回", + "Edit": "编辑", + "Send Account Data": "发送账户数据", + "Explore Account Data": "探索账户数据", + "Explore Room State": "探索聊天室状态", + "Unpin Message": "取消置顶消息", + "Pin Message": "置顶消息", + "Register": "注册", + "Rooms": "聊天室", + "Invite to this community": "邀请加入此社区", + "Add rooms to this community": "添加聊天室到此社区" } From 261f91da6ef4d07ae18590e1dfa641338db4c65c Mon Sep 17 00:00:00 2001 From: Bamstam Date: Mon, 13 Nov 2017 14:04:39 +0000 Subject: [PATCH 004/391] Translated using Weblate (German) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 196bdc9a3..89ab4cf54 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -216,6 +216,6 @@ "Invite to this community": "In diese Community einladen", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Die benutzerdefinierten Server-Einstellungen kannst du verwenden, um dich auf anderen Matrix-Servern anzumelden, indem du eine abweichende Heimserver-URL eingibst.
Somit ist es möglich, Riot mit einem bereits bestehendem Matrix-Benutzerkonto auf einem anderen Heimserver zu verwenden.

Außerdem kannst du einen benutzerdefinierten Identitätsserver eingeben. Allerdings kannst du in diesem Fall Benutzer nicht mehr per E-Mail-Adresse einladen und auch selbst nicht mehr per E-Mail-Adresse eingeladen werden.", "Toolbox": "Werkzeugkasten", - "Explore Account Data": "Daten des Benutzerkontos erkunden", - "Send Account Data": "Sende Benutzerkonto-Daten" + "Explore Account Data": "Benutzerkonto-Daten analysieren", + "Send Account Data": "Benutzerkonto-Daten senden" } From e540fd40cb215af986ae0dbd8c459dd8b7811da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Tue, 14 Nov 2017 14:04:59 +0000 Subject: [PATCH 005/391] Translated using Weblate (Slovak) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 01ecc7881..d33b51b75 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -178,7 +178,7 @@ "Couldn't find a matching Matrix room": "Nie je možné nájsť zodpovedajúcu Matrix miestnosť", "Fetching third party location failed": "Nepodarilo sa získať umiestnenie tretej strany", "Unable to look up room ID from server": "Nie je možné vyhľadať ID miestnosti na servery", - "World readable": "Viditeľná pre všetkých", + "World readable": "Viditeľné pre každého", "Guests can join": "Pripojiť sa môžu aj hostia", "Directory": "Adresár", "No rooms to show": "Žiadne miestnosti na zobrazenie", From 8bd66b93c5ab32b6f12872bc11f649a776ba35b4 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 15 Nov 2017 00:22:06 +0000 Subject: [PATCH 006/391] Translated using Weblate (German) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 89ab4cf54..44a91dc05 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -217,5 +217,7 @@ "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Die benutzerdefinierten Server-Einstellungen kannst du verwenden, um dich auf anderen Matrix-Servern anzumelden, indem du eine abweichende Heimserver-URL eingibst.
Somit ist es möglich, Riot mit einem bereits bestehendem Matrix-Benutzerkonto auf einem anderen Heimserver zu verwenden.

Außerdem kannst du einen benutzerdefinierten Identitätsserver eingeben. Allerdings kannst du in diesem Fall Benutzer nicht mehr per E-Mail-Adresse einladen und auch selbst nicht mehr per E-Mail-Adresse eingeladen werden.", "Toolbox": "Werkzeugkasten", "Explore Account Data": "Benutzerkonto-Daten analysieren", - "Send Account Data": "Benutzerkonto-Daten senden" + "Send Account Data": "Benutzerkonto-Daten senden", + "Away": "Abwesend", + "Appear Offline": "Als offline anzeigen" } From a9cd62633e8e5e9f8765e77eda1166d7aa2eabd7 Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 15 Nov 2017 04:44:06 +0000 Subject: [PATCH 007/391] Translated using Weblate (Russian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/ --- src/i18n/strings/ru.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 48415323b..8ef08f462 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -217,5 +217,7 @@ "Add rooms to this community": "Добавить комнаты в это сообщество", "Toolbox": "Панель инструментов", "Send Account Data": "Отправить данные аккаунта", - "Explore Account Data": "Просмотр данных аккаунта" + "Explore Account Data": "Просмотр данных аккаунта", + "Away": "Нет на месте", + "Appear Offline": "Отображать как не в сети" } From 3a2c778e1c32ef5bc22b8eb7dbebb834942c95bd Mon Sep 17 00:00:00 2001 From: Szimszon Date: Wed, 15 Nov 2017 05:52:04 +0000 Subject: [PATCH 008/391] Translated using Weblate (Hungarian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/ --- src/i18n/strings/hu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 4fe423371..cf83fb0ca 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -217,5 +217,7 @@ "Add rooms to this community": "Szobák hozzáadása ehhez a közösséghez", "Toolbox": "Szerszámok", "Send Account Data": "Fiók adatok küldése", - "Explore Account Data": "Fiók adatok böngészése" + "Explore Account Data": "Fiók adatok böngészése", + "Appear Offline": "Kapcsolat nélkülinek tűnik", + "Away": "Távol" } From 0a55c87dd33d9422e0c38d1e30ce82a6c4fed404 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Wed, 15 Nov 2017 16:30:41 +0000 Subject: [PATCH 009/391] Translated using Weblate (French) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 9e365cde0..193d9e7d9 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -217,5 +217,7 @@ "Invite to this community": "Inviter à cette communauté", "Toolbox": "Boîte à outils", "Send Account Data": "Envoyer les données du compte", - "Explore Account Data": "Explorer les données du compte" + "Explore Account Data": "Explorer les données du compte", + "Appear Offline": "Apparaître Hors ligne", + "Away": "Absent" } From 311bdf71fb9e48737c3ca30edf125ecd37eb26d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Wed, 15 Nov 2017 22:56:22 +0000 Subject: [PATCH 010/391] Added translation using Weblate (Serbian) --- src/i18n/strings/sr.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/sr.json diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/src/i18n/strings/sr.json @@ -0,0 +1 @@ +{} \ No newline at end of file From 84c5ce1b4e6c02d8ca653a62da748e24d8ba7590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=86=E5=B9=B4?= Date: Thu, 16 Nov 2017 02:38:20 +0000 Subject: [PATCH 011/391] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/ --- src/i18n/strings/zh_Hans.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 1d06ef7da..caaa3d2de 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -217,5 +217,7 @@ "Register": "注册", "Rooms": "聊天室", "Invite to this community": "邀请加入此社区", - "Add rooms to this community": "添加聊天室到此社区" + "Add rooms to this community": "添加聊天室到此社区", + "Appear Offline": "似乎离线了", + "Away": "离开状态" } From 4657f89b3ecee3dc1e9a13de604efc9c1426e6bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Wed, 15 Nov 2017 23:06:32 +0000 Subject: [PATCH 012/391] Translated using Weblate (Serbian) Currently translated at 18.2% (40 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 43 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 9e26dfeeb..966a547f6 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -1 +1,42 @@ -{} \ No newline at end of file +{ + "Riot is not supported on mobile web. Install the app?": "RIot не ради на мобилном вебу. Инсталирати апликацију?", + "Collecting app version information": "Прикупљам податке о издању апликације", + "Collecting logs": "Прикупљам записнике", + "Uploading report": "Отпремам извештај", + "Waiting for response from server": "Чекам на одговор са сервера", + "Riot Desktop on %(platformName)s": "Riot стони програм за %(platformName)s", + "Unknown device": "Непознати уређај", + "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s преко прегледача %(browserName)s на систему %(osName)s", + "You need to be using HTTPS to place a screen-sharing call.": "Морате користити HTTPS да бисте започели позив са дељењем екрана.", + "Messages containing my display name": "Поруке које садрже моје приказно име", + "Messages containing my user name": "Поруке које садрже моје корисничко име", + "Messages in one-to-one chats": "Поруке у један-на-један ћаскањима", + "Messages in group chats": "Поруке у групним ћаскањима", + "When I'm invited to a room": "Када сам позван у собу", + "Call invitation": "Позивница за позив", + "Messages sent by bot": "Поруке послате од бота", + "Error saving email notification preferences": "Грешка при чувању поставки мејл обавештења", + "An error occurred whilst saving your email notification preferences.": "Догодила се грешка при чувању ваших поставки мејл обавештења.", + "Keywords": "Кључне речи", + "Enter keywords separated by a comma:": "Унесите кључне речи одвојене зарезима:", + "OK": "У реду", + "Failed to change settings": "Нисам успео да променим подешавања", + "Operation failed": "Радња није успела", + "Can't update user notification settings": "Не могу да ажурирам корисничка подешавања обавештења", + "Failed to update keywords": "Нисам успео да ажурирам кључне речи", + "Messages containing keywords": "Поруке које садрже кључне речи", + "Notify for all other messages/rooms": "Обавести за све друге поруке и собе", + "Notify me for anything else": "Обавести ме за било шта друго", + "Enable notifications for this account": "Омогући обавештења за овај налог", + "All notifications are currently disabled for all targets.": "Сва обавештења су тренутно онемогућена за све циљеве.", + "Add an email address above to configure email notifications": "Додајте мејл адресу изнад да бисте подесили мејл обавештења", + "Enable email notifications": "Омогући мејл обавештења", + "Notifications on the following keywords follow rules which can’t be displayed here:": "Обавештења за следеће кључне речи прате правила која не могу бити приказана овде:", + "Unable to fetch notification target list": "Не могу да досегнем списак циљева за обавештења", + "Notification targets": "Циљеви обавештења", + "Advanced notification settings": "Напредна подешавања обавештења", + "There are advanced notifications which are not shown here": "Постоје напредна обавештења која нису приказана овде", + "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Можда сте их подесили у неком другом клијенту а не Riot-у. Не можете их преправљати у Riot-у али се и даље примењују", + "Enable desktop notifications": "Омогући стона обавештења", + "Show message in desktop notification": "Прикажи поруку у стоном обавештењу" +} From 3c9210e3761d4a6e53f45e98a2cbb68d8b9d48c9 Mon Sep 17 00:00:00 2001 From: Andrey Date: Thu, 16 Nov 2017 12:09:10 +0000 Subject: [PATCH 013/391] Translated using Weblate (Russian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/ --- src/i18n/strings/ru.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 8ef08f462..77fb55ffa 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -219,5 +219,7 @@ "Send Account Data": "Отправить данные аккаунта", "Explore Account Data": "Просмотр данных аккаунта", "Away": "Нет на месте", - "Appear Offline": "Отображать как не в сети" + "Appear Offline": "Отображать как не в сети", + "Please install Chrome or Firefox for the best experience.": "Лучший опыт вы получите, установив Chrome или Firefox.", + "Safari and Opera work too.": "Safari и Opera работают тоже." } From 63c4a14dc242d1b8ebc78a08ef7ec3bf5d18b1ac Mon Sep 17 00:00:00 2001 From: Bamstam Date: Thu, 16 Nov 2017 12:37:32 +0000 Subject: [PATCH 014/391] Translated using Weblate (German) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 44a91dc05..af0f03d3b 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -219,5 +219,7 @@ "Explore Account Data": "Benutzerkonto-Daten analysieren", "Send Account Data": "Benutzerkonto-Daten senden", "Away": "Abwesend", - "Appear Offline": "Als offline anzeigen" + "Appear Offline": "Als offline anzeigen", + "Safari and Opera work too.": "Safari und Opera sind weitere Alternativen.", + "Please install Chrome or Firefox for the best experience.": "Bitte installiere Chrome oder Firefox für ein optimales Anwendungsergebnis." } From 1e5fabed977447cbd8fbaf4a9684e158b48066e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Thu, 16 Nov 2017 12:58:52 +0000 Subject: [PATCH 015/391] Translated using Weblate (Slovak) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index d33b51b75..a3af1a486 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -215,5 +215,9 @@ "Contributing code to Matrix and Riot": "Prispievanie kódu projektom Matrix a Riot", "Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web", "Dev chat for the Dendrite dev team": "Diskusia pre tím vývojárov Dendrite", - "Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web" + "Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web", + "Appear Offline": "Zdá sa byť nedostupný", + "Away": "Preč", + "Please install Chrome or Firefox for the best experience.": "Aby ste s používania mali čo možno najlepší dojem, nainštalujte si Chrome alebo Firefox.", + "Safari and Opera work too.": "Správne fungujú aj Safari a Opera." } From e788f231486729abf48f23ddde7e9f2659e74fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Thu, 16 Nov 2017 16:04:24 +0000 Subject: [PATCH 016/391] Translated using Weblate (French) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 193d9e7d9..589d730b7 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -219,5 +219,7 @@ "Send Account Data": "Envoyer les données du compte", "Explore Account Data": "Explorer les données du compte", "Appear Offline": "Apparaître Hors ligne", - "Away": "Absent" + "Away": "Absent", + "Please install Chrome or Firefox for the best experience.": "Veuillez installer Chrome ou Firefox pour une expérience optimale.", + "Safari and Opera work too.": "Safari et Opera fonctionnent également." } From 38cdc0782d382a5eeaf88f242264fc5729899e5e Mon Sep 17 00:00:00 2001 From: Szimszon Date: Thu, 16 Nov 2017 19:45:23 +0000 Subject: [PATCH 017/391] Translated using Weblate (Hungarian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/ --- src/i18n/strings/hu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index cf83fb0ca..1a90d0467 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -219,5 +219,7 @@ "Send Account Data": "Fiók adatok küldése", "Explore Account Data": "Fiók adatok böngészése", "Appear Offline": "Kapcsolat nélkülinek tűnik", - "Away": "Távol" + "Away": "Távol", + "Please install Chrome or Firefox for the best experience.": "A legjobb élmény érdekében telepíts Chromeot vagy Firefoxot.", + "Safari and Opera work too.": "Működik Safari és Opera böngészővel is." } From eff2c140f62e13af775607b5068199b1c791650d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Thu, 16 Nov 2017 21:07:36 +0000 Subject: [PATCH 018/391] Translated using Weblate (Serbian) Currently translated at 27.8% (61 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 966a547f6..21d85c931 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -38,5 +38,26 @@ "There are advanced notifications which are not shown here": "Постоје напредна обавештења која нису приказана овде", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Можда сте их подесили у неком другом клијенту а не Riot-у. Не можете их преправљати у Riot-у али се и даље примењују", "Enable desktop notifications": "Омогући стона обавештења", - "Show message in desktop notification": "Прикажи поруку у стоном обавештењу" + "Show message in desktop notification": "Прикажи поруку у стоном обавештењу", + "Enable audible notifications in web client": "Омогући звучна обавештења у веб клијенту", + "Off": "Искључено", + "On": "Укључено", + "Noisy": "Бучно", + "Failed to set direct chat tag": "Нисам успео да поставим ознаку директног ћаскања", + "Failed to remove tag %(tagName)s from room": "Нисам успео да уклоним ознаку %(tagName)s са собе", + "Failed to add tag %(tagName)s to room": "Нисам успео да додам ознаку %(tagName)s на собу", + "Search…": "Претрага…", + "Search": "Претрага", + "This Room": "Ова соба", + "All Rooms": "Све собе", + "Sunday": "Недеља", + "Monday": "Понедељак", + "Tuesday": "Уторак", + "Wednesday": "Среда", + "Thursday": "Четвртак", + "Friday": "Петак", + "Saturday": "Субота", + "Today": "Данас", + "Yesterday": "Јуче", + "Custom Server Options": "Опције прилагођеног сервера" } From ee35fdb4835b8176c958ac554838595ac49b2f54 Mon Sep 17 00:00:00 2001 From: Walter Date: Fri, 17 Nov 2017 20:19:00 +0000 Subject: [PATCH 019/391] Translated using Weblate (Ukrainian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/ --- src/i18n/strings/uk.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 2e3cf6128..459430f15 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -216,5 +216,10 @@ "Add rooms to this community": "Добавити кімнати в це суспільство", "Toolbox": "Панель інструментів", "Send Account Data": "Відправити данні аккаунта", - "Explore Account Data": "Продивитись данні аккаунта" + "Explore Account Data": "Продивитись данні аккаунта", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Ви можете використовувати параметри користувача сервера для входа на другі сервера Matrix, вказав другий URL-адресу домашнього сервера.
Це дозволяє використовувати Riot з обліковим записом Matrix який існує на другому домашньому сервері.

Окрім цього, можливо встановити ідентифікаційний сервер користувача, але ви не зможете запросити других користувачів та бути запрошенному використовуючи адресу електронної пошти.", + "Appear Offline": "Відображати як не в мережі", + "Away": "Нема на місці", + "Please install Chrome or Firefox for the best experience.": "Краще встановіть Chrome або Firefox.", + "Safari and Opera work too.": "Safari та Opera працюють теж." } From 5132d2132b5d544352dd3a972fb7a91b8391da2f Mon Sep 17 00:00:00 2001 From: dark159123 Date: Sat, 18 Nov 2017 20:45:02 +0000 Subject: [PATCH 020/391] Translated using Weblate (Danish) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/da/ --- src/i18n/strings/da.json | 187 +++++++++++++++++++++++++++++++++++---- 1 file changed, 171 insertions(+), 16 deletions(-) diff --git a/src/i18n/strings/da.json b/src/i18n/strings/da.json index bcd3da6f3..f669b2f0a 100644 --- a/src/i18n/strings/da.json +++ b/src/i18n/strings/da.json @@ -6,8 +6,8 @@ "Couldn't find a matching Matrix room": "Kunne ikke finde et matchende Matrix-rum", "Custom Server Options": "Brugerdefinerede serverindstillinger", "delete the alias.": "Slet aliaset.", - "Direct Chat": "Personligt Chat", - "Directory": "Rum fortegnelse", + "Direct Chat": "Personlig Chat", + "Directory": "Rum katalog", "Dismiss": "Afskedige", "Enable audible notifications in web client": "Aktivér hørbare underretninger i webklienten", "Enable desktop notifications": "Aktivér desktop meddelelser", @@ -22,22 +22,22 @@ "Failed to update keywords": "Kunne ikke opdatere søgeord", "Failed to get protocol list from Home Server": "Kunne ikke få protokolliste fra Home Server", "Failed to get public room list": "Kunne ikke få offentlig rumliste", - "Failed to set Direct Message status of room": "Kunne ikke indstille direkte beskedstatus for rumet", + "Failed to set Direct Message status of room": "Kunne ikke indstille Direkte Beskedstatus for rummet", "Favourite": "Favorit", "Fetching third party location failed": "Hentning af tredjeparts placering mislykkedes", "Files": "Filer", - "Filter room names": "Filtrer rumnavne", + "Filter room names": "Filtrér rumnavne", "Forget": "Glem", "Guests can join": "Gæster kan deltage", "Invite to this room": "Inviter til dette rum", "Keywords": "Søgeord", - "Leave": "Forlade", + "Leave": "Forlad", "Low Priority": "Lav prioritet", "Members": "Medlemmer", "No rooms to show": "Ingen rum at vise", "Noisy": "Støjende", "Notification targets": "Meddelelsesmål", - "Notifications": "Meddelser", + "Notifications": "Notifikationer", "Notifications on the following keywords follow rules which can’t be displayed here:": "Meddelelser om følgende søgeord følger regler, der ikke kan vises her:", "Notify for all other messages/rooms": "Underret om alle andre meddelelser / rum", "Notify me for anything else": "Underret mig om noget andet", @@ -45,22 +45,177 @@ "On": "Tændt", "Operation failed": "Operation mislykkedes", "powered by Matrix": "Drevet af Matrix", - "Reject": "Afvise", - "Remove": "Fjerne", - "Remove from Directory": "Fjern fra fortegnelse", + "Reject": "Afvis", + "Remove": "Fjern", + "Remove from Directory": "Fjern fra Katalog", "Riot does not know how to join a room on this network": "Riot ved ikke, hvordan man kan deltage i et rum på dette netværk", - "Room not found": "Rumet ikke fundet", + "Room not found": "Rummet ikke fundet", "Search for a room": "Søg efter et rum", "The Home Server may be too old to support third party networks": "Hjemmeserveren kan være for gammel til at understøtte tredjepartsnetværk", "There are advanced notifications which are not shown here": "Der er avancerede meddelelser, som ikke vises her", "The server may be unavailable or overloaded": "Serveren kan være utilgængelig eller overbelastet", "Unable to fetch notification target list": "Kan ikke hente meddelelsesmålliste", - "Unable to join network": "Kan ikke deltage i netværket", - "Unable to look up room ID from server": "Kunne ikke slå op på rum-id fra server", + "Unable to join network": "Kan ikke forbinde til netværket", + "Unable to look up room ID from server": "Kunne ikke slå rum-id op på server", "unknown error code": "Ukendt fejlkode", - "Unnamed room": "Unnamed rum", - "World readable": "Læselig til alle", - "You are not receiving desktop notifications": "Du modtager ikke desktop meddelelser", + "Unnamed room": "Unavngivet rum", + "World readable": "Læselig af alle", + "You are not receiving desktop notifications": "Du modtager ikke skrivebordsmeddelelser", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Du har muligvis konfigureret dem i en anden klient end Riot. Du kan ikke tune dem i Riot, men de gælder stadig", - "Close": "Luk" + "Close": "Luk", + "Riot is not supported on mobile web. Install the app?": "Riot understøtter ikke mobilhjemmesider. Vil du installere app'en?", + "Collecting app version information": "Indsamler app versionsoplysninger", + "Collecting logs": "Indsamler logfiler", + "Uploading report": "Uploader rapport", + "Waiting for response from server": "Venter på svar fra server", + "Riot Desktop on %(platformName)s": "Riot Desktop på %(platformName)s", + "Unknown device": "Ukendt enhed", + "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s på %(osName)s", + "You need to be using HTTPS to place a screen-sharing call.": "Du skal bruge HTTPS for at lave skærm-delings-opkald.", + "Messages containing my display name": "Beskeder der indeholder mit viste navn", + "Messages containing my user name": "Beskeder der indeholder mit brugernavn", + "Messages in one-to-one chats": "Beskeder i en-til-en chats", + "Messages in group chats": "Beskeder i gruppechats", + "When I'm invited to a room": "Når jeg bliver inviteret til et rum", + "Call invitation": "Opkalds invitation", + "Messages sent by bot": "Beskeder sendt af en bot", + "OK": "OK", + "Messages containing keywords": "Beskeder der indeholder keywords", + "Advanced notification settings": "Avancerede notifikationsindstillinger", + "Show message in desktop notification": "Vis besked i skrivebordsnotifikation", + "Failed to set direct chat tag": "Kunne ikke markere rummet som direkte chat", + "Failed to remove tag %(tagName)s from room": "Kunne ikke fjerne tag(s): %(tagName)s fra rummet", + "Failed to add tag %(tagName)s to room": "Kunne ikke tilføje tag(s): %(tagName)s til rummet", + "Search…": "Søg…", + "Search": "Søg", + "This Room": "Dette rum", + "All Rooms": "Alle rum", + "Sunday": "Søndag", + "Monday": "Mandag", + "Tuesday": "Tirsdag", + "Wednesday": "Onsdag", + "Thursday": "Torsdag", + "Friday": "Fredag", + "Saturday": "Lørdag", + "Today": "I dag", + "Yesterday": "I går", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Du kan bruge de brugerdefinerede server indstillinger til at logge ind på andre Matrix servere ved at skrive en anden Home Server adresse.
Dette tillader dig at bruge Riot med en eksisterende Matrix konto på en anden home server.

Du kan også indstille en brugerdefineret identity server men så vil du ikke kunne invitere brugere ved hjælp af deres emailadresse eller selv blive inviteret med emailadresse.", + "What's New": "Hvad er nyt", + "Update": "Opdater", + "What's new?": "Hvad er nyt?", + "Appear Offline": "Fremstå Offline", + "Away": "Ikke til stede", + "A new version of Riot is available.": "En ny version a Riot er tilgængelig.", + "To return to your account in future you need to set a password": "For at komme ind på din konto i fremtiden skal du indstille et password", + "Set Password": "Indstil Password", + "Error encountered (%(errorDetail)s).": "En fejl er opstået (%(errorDetail)s).", + "Checking for an update...": "Checker om der er en opdatering...", + "No update available.": "Ingen opdatering tilgængelig.", + "Downloading update...": "Downloader opdatering...", + "Warning": "Advarsel", + "You cannot delete this image. (%(code)s)": "Du kan ikke slette dette billede. (%(code)s)", + "Uploaded on %(date)s by %(user)s": "Uploadet den %(date)s af %(user)s", + "Download this file": "Download denne fil", + "Please describe the bug and/or send logs.": "Beskriv venligst fejlen og/eller send logs.", + "Loading bug report module": "Indlæser fejlrepporterings modul", + "Bug report sent": "Fejl rapporteret", + "Thank you!": "Tak!", + "Failed to send report: ": "Kunne ikke sende rapport: ", + "Cancel": "Afbryd", + "Report a bug": "Rapportér en fejl", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Beskriv venlist fejlen. Hvad gjorde du? Hvad forventede du ville ske? Hvad skete rent faktisk?", + "Describe your problem here.": "Beskriv dit problem her.", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "For at diagnosticere problemer vil logs fra denne klient blive sendt sammen med fejlrapporten. Hvis du vil foretrække kun at sende teksten foroven, bedes du fjerne fluebenet:", + "Send logs": "Send logs", + "Send": "Send", + "Unavailable": "Utilgængelig", + "Changelog": "Ændringslog", + "Back": "Tilbage", + "Send Custom Event": "Send Brugerdefineret Begivenhed", + "You must specify an event type!": "Du skal angive en begivenhedstype!", + "Event sent!": "Begivenhed sendt!", + "Failed to send custom event.": "Kunne ikke sende brugerdefinerede begivenhed.", + "Event Type": "Begivenhedstype", + "State Key": "Tilstandsnøgle", + "Event Content": "Begivenhedsindhold", + "Send Account Data": "Send Konto Data", + "Filter results": "Filtrér resultater", + "Explore Room State": "Udforsk Rum Tilstand", + "Edit": "Rediger", + "Explore Account Data": "Udforsk Konto Data", + "Toolbox": "Værktøjer", + "Developer Tools": "Udviklingsværktøjer", + "You have successfully set a password!": "Du har succesfuldt indstillet et password!", + "You have successfully set a password and an email address!": "Du har succesfuldt indstillet et password og en emailadresse!", + "You can now return to your account after signing out, and sign in on other devices.": "Du kan nu vende tilbage til din konto efter at have logget ud og logge ind på andre enheder.", + "Remember, you can always set an email address in user settings if you change your mind.": "Husk, du kan altid indstille en emailadresse i dine bruger indstillinger hvis du ombestemmer dig.", + "Continue": "Fortsæt", + "Failed to change password. Is your password correct?": "Kunne ikke ændre password. Er dit password korrekt?", + "(HTTP status %(httpStatus)s)": "(HTTP tilstand %(httpStatus)s)", + "Please set a password!": "Indstil venligst et password!", + "This will allow you to return to your account after signing out, and sign in on other devices.": "Dette vil tillade dig at vende tilbage til din konto efter at have logget ud og at logge ind på andre enheder.", + "You cannot delete this message. (%(code)s)": "Du kan ikke slette denne besked. (%(code)s)", + "Resend": "Send igen", + "Cancel Sending": "Stop Forsendelse", + "Forward Message": "Videresend Besked", + "Unpin Message": "Fasthold ikke længere Besked", + "Pin Message": "Fasthold Besked", + "View Source": "Se Kilde", + "View Decrypted Source": "Se Dekrypteret Kilde", + "Unhide Preview": "Vis Forhåndsvisning", + "Permalink": "Permanent link", + "Quote": "Citat", + "Source URL": "Kilde URL", + "Failed to forget room %(errCode)s": "Kunne ikke glemme rummet %(errCode)s", + "All messages (loud)": "Alle beskeder (høj)", + "All messages": "Alle beskeder", + "Mentions only": "Kun nævninger", + "Mute": "Sæt på lydløs", + "Sorry, your browser is not able to run Riot.": "Beklager, din browser kan ikke køre Riot.", + "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot bruger mange avancerede browser funktioner, hvoraf nogle af dem ikke er tilgængelige eller er eksperimentelle i din browser.", + "Please install Chrome or Firefox for the best experience.": "Installer venligst Chrome eller Firefox for den bedste oplevelse.", + "Safari and Opera work too.": "Safari og Opera virker også.", + "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Med din nuværnde broser kan udseendet og fornemmelsen af programmet være helt forkert og nogle funktioner virker måske ikke. Hvis du alligevel vil prøve så kan du fortsætte, men det er på egen risiko!", + "I understand the risks and wish to continue": "Jeg forstår risikoen og ønsker at fortsætte", + "Couldn't load home page": "Kunne ikke indlæse startsiden", + "Login": "Log ind", + "Register": "Registrér", + "Rooms": "Rum", + "Hide panel": "Gem panel", + "Invite to this community": "Inviter til dette fællesskab", + "Add rooms to this community": "Tilføj rum til dette fællesskab", + "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Slet rumaliaset %(alias)s og fjern %(name)s fra kataloget?", + "Remove %(name)s from the directory?": "Fjern %(name)s fra kataloget?", + "remove %(name)s from the directory.": "fjern %(name)s fra kataloget.", + "more": "mere", + "Expand panel": "Udvid panel", + "Collapse panel": "Slå panel sammen", + "Welcome to Riot.im": "Velkommen til Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentraliseret, krypteret chat & samarbejde baseret på [matrix]", + "Search the room directory": "Søg i rumkataloget", + "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Masser af rum ekistere allerede i Matrix, forbundet til eksisterende netværk (Slack, IRC, Gitter osv.) eller selvstændige. Tjek kataloget ud!", + "Chat with Riot Bot": "Chat med Riot Bot", + "Get started with some tips from Riot Bot!": "Kom godt i gang med nogle tips fra Riot Bot!", + "General discussion about Matrix and Riot": "Generel diskussion om Matrix og Riot", + "Discussion of all things Matrix!": "Diskussion om alt der har med Matrix at gøre!", + "Riot/Web & Desktop chat": "Riot/Web- & Desktopchat", + "Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk chat", + "Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk chat", + "Matrix technical discussions": "Matrix tekniske diskussioner", + "Running Matrix services": "Drift af Matrix tjenester", + "Community-run support for Synapse": "Fællesskabsstyret hjælp til Synapse", + "Admin support for Dendrite": "Adminstrationshjælp til Dendrite", + "Announcements about Synapse releases": "Announceringer om Synapse udgivelser", + "Support for those using and running matrix-appservice-irc": "Hjælp til dem der bruger og kører matrix-appservice-irc", + "Building services on Matrix": "Bygning af tjenester på Matrix", + "Support for those using the Matrix spec": "Hjælp til dem der anvender Matrix speciffikationen", + "Design and implementation of E2E in Matrix": "Design og implementering af E2E i Matrix", + "Implementing VR services with Matrix": "Implementering af VR tjenester med Matrix", + "Implementing VoIP services with Matrix": "Implementering af VoIP tjenester med Matrix", + "Discussion of the Identity Service API": "Diskussion af Identity Service API'en", + "Support for those using, running and writing other bridges": "Hjælp til dem der bruger, driver og skriver andre bridges", + "Contributing code to Matrix and Riot": "Biddrag med kode til Matrix og Riot", + "Dev chat for the Riot/Web dev team": "Udviklerchat til Riot/Web udviklerholdet", + "Dev chat for the Dendrite dev team": "Udviklerchat til Dendrite udviklerholdet", + "Co-ordination for Riot/Web translators": "Co-ordination af Riot/Web oversættere" } From 08be00a15422b2204d20fea708064c037b23dda3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Sat, 18 Nov 2017 21:36:10 +0000 Subject: [PATCH 021/391] Translated using Weblate (Serbian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 160 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 159 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 21d85c931..2df46220c 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -59,5 +59,163 @@ "Saturday": "Субота", "Today": "Данас", "Yesterday": "Јуче", - "Custom Server Options": "Опције прилагођеног сервера" + "Custom Server Options": "Опције прилагођеног сервера", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Можете користити опције прилагођеног сервера за пријаву у друге Матрикс сервере навођењем другачије адресе кућног сервера.
Ово вам омогућава да користите Riot са постојећим Матрикс налогомна другом кућном серверу.

Такође, можете поставити прилагођени идентитески сервер али нећете моћи да позивате кориснике по мејл адреси а ни други вас.", + "Dismiss": "Одбаци", + "powered by Matrix": "покреће Матрикс (Matrix)", + "You are not receiving desktop notifications": "Не примате стона обавештења", + "Enable them now": "Омогућите их сада", + "What's New": "Шта је ново", + "Update": "Ажурирај", + "What's new?": "Шта је ново?", + "Appear Offline": "Прикажи себе као ван мреже", + "Away": "Одустан", + "A new version of Riot is available.": "Ново издање RIot-а је доступно.", + "To return to your account in future you need to set a password": "Да бисте се вратили на ваш налог у будућности, морате поставити лозинку", + "Set Password": "Постави лозинку", + "Error encountered (%(errorDetail)s).": "Догодила се грешка (%(errorDetail)s).", + "Checking for an update...": "Проверавам ажурирања...", + "No update available.": "Нема нових ажурирања.", + "Downloading update...": "Преузимам ажурирање...", + "Warning": "Упозорење", + "Error": "Грешка", + "You cannot delete this image. (%(code)s)": "Не можете обрисати ову слику. (%(code)s)", + "Uploaded on %(date)s by %(user)s": "Отпремљено датума %(date)s од корисника %(user)s", + "Remove": "Уклони", + "Close": "Затвори", + "Download this file": "Преузми ову датотеку", + "Please describe the bug and/or send logs.": "Опишите грешку и/или пошаљите записнике.", + "Loading bug report module": "Учитавам модул за извештавање о грешкама", + "Bug report sent": "Извештај о грешци послат", + "Thank you!": "Хвала вам!", + "Failed to send report: ": "Нисам успео да пошаљем извештај: ", + "Cancel": "Откажи", + "Report a bug": "Пријави грешку", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Опишите грешку. Шта сте урадили? Шта сте очекивали да се догоди? Шта се заправо догодило?", + "Describe your problem here.": "Опишите ваш проблем овде.", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Да бисмо проучили проблеме, послаћемо записнике са овог клијента уз овај извештај о грешци. Уколико само желите да пошаљете текст изнад, дештиклирајте:", + "Send logs": "Пошаљи записнике", + "Send": "Пошаљи", + "Unavailable": "Недоступан", + "Changelog": "Записник о изменама", + "Back": "Назад", + "Send Custom Event": "Пошаљи прилагођени догађај", + "You must specify an event type!": "Морате навести врсту догађаја!", + "Event sent!": "Догађај је послат!", + "Failed to send custom event.": "Нисам успео да пошаљем прилагођени догађај.", + "Event Type": "Врста догађаја", + "State Key": "Кључ стања", + "Event Content": "Садржај догађаја", + "Send Account Data": "Пошаљи податке налога", + "Filter results": "Филтрирај резултате", + "Explore Room State": "Истражи стање собе", + "Edit": "Уреди", + "Explore Account Data": "Истражи податке налога", + "Toolbox": "Алатница", + "Developer Tools": "Програмерске алатке", + "You have successfully set a password!": "Успешно сте поставили лозинку!", + "You have successfully set a password and an email address!": "Успешно сте поставили лозинку и мејл адресу!", + "You can now return to your account after signing out, and sign in on other devices.": "Можете се вратити у ваш налог након што се одјавите и пријавите поново, на другим уређајима.", + "Remember, you can always set an email address in user settings if you change your mind.": "Запамтите, увек можете поставити мејл адресу у корисничким подешавањима, уколико се предомислите.", + "Continue": "Настави", + "Failed to change password. Is your password correct?": "Нисам успео да променим лозинку. Да ли је ваша лозинка исправна?", + "(HTTP status %(httpStatus)s)": "(HTTP стање %(httpStatus)s)", + "Please set a password!": "Поставите лозинку!", + "This will allow you to return to your account after signing out, and sign in on other devices.": "Ово ће вам омогућити да се вратите у ваш налог након што се одјавите и пријавите, на другим уређајима.", + "You cannot delete this message. (%(code)s)": "Не можете обрисати ову поруку. (%(code)s)", + "Resend": "Поново пошаљи", + "Cancel Sending": "Откажи слање", + "Forward Message": "Проследи поруку", + "Unpin Message": "Откачи поруку", + "Pin Message": "Закачи поруку", + "View Source": "Погледај извор", + "View Decrypted Source": "Погледај дешифровани извор", + "Unhide Preview": "Откриј преглед", + "Permalink": "Трајна веза", + "Quote": "Цитирај", + "Source URL": "Адреса извора", + "Failed to set Direct Message status of room": "Нисам успео да подесим стање директне поруке собе", + "unknown error code": "непознати код грешке", + "Failed to forget room %(errCode)s": "Нисам успео да заборавим собу %(errCode)s", + "All messages (loud)": "Све поруке (гласно)", + "All messages": "Све поруке", + "Mentions only": "Само спомињања", + "Mute": "Утишај", + "Leave": "Напусти", + "Forget": "Заборави", + "Reject": "Одбаци", + "Favourite": "Омиљено", + "Low Priority": "Најмања важност", + "Direct Chat": "Директно ћаскање", + "Sorry, your browser is not able to run Riot.": "Нажалост, ваш прегледач не може да покреће Riot.", + "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot користи напредне могућности прегледача од којих неке нису доступне или су у пробној фази, у вашем прегледачу.", + "Please install Chrome or Firefox for the best experience.": "Инсталирајте Хром (Chrome) или Фајерфокс (Firefox) за најбољи угођај.", + "Safari and Opera work too.": "Сафари и Опера такође раде.", + "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Са вашим тренутним прегледачем изглед и угођај ове апликације може бити скроз неправилан и неке могућности можда неће радити. Уколико желите да ипак пробате, можете наставити али ћете бити без подршке за било које проблеме на које налетите!", + "I understand the risks and wish to continue": "Разумем опасност и желим да наставим", + "Couldn't load home page": "Нисам могао да учитам почетну страну", + "Login": "Пријава", + "Register": "Регистрација", + "Invite to this room": "Позови у ову собу", + "Members": "Чланови", + "Files": "Датотеке", + "Notifications": "Обавештења", + "Rooms": "Собе", + "Hide panel": "Сакриј површ", + "Invite to this community": "Позови у ову заједницу", + "Add rooms to this community": "Додај собе у ову заједницу", + "Failed to get protocol list from Home Server": "Нисам успео да добијем списак протокола од кућног сервера", + "The Home Server may be too old to support third party networks": "Кућни сервер је можда сувише застарео да би подржао мреже трећих страна", + "Failed to get public room list": "Нисам успео да добавим списак јавних соба", + "The server may be unavailable or overloaded": "Сервер је можда недоступан или преоптерећен", + "Unnamed room": "Неименована соба", + "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Обрисати алијас собе %(alias)s и уклонити %(name)s из фасцикле?", + "Remove %(name)s from the directory?": "Уклонити %(name)s из фасцикле?", + "Remove from Directory": "Уклони из фасцикле", + "remove %(name)s from the directory.": "уклони %(name)s из фасцикле.", + "delete the alias.": "обриши алијас.", + "Unable to join network": "Не могу да приступим мрежи", + "Riot does not know how to join a room on this network": "Riot не зна како да приступи соби на овој мрежи", + "Room not found": "Соба није пронађена", + "Couldn't find a matching Matrix room": "Не могу да нађем одговарајућу Матрикс собу", + "Fetching third party location failed": "Добављање локације треће стране није успело", + "Unable to look up room ID from server": "Не могу да погледам ИБ собе на серверу", + "World readable": "Читљиво за све", + "Guests can join": "Гости могу приступити", + "Directory": "Фасцикла", + "No rooms to show": "Нема соба за приказ", + "Search for a room": "Потражи собу", + "#example": "#пример", + "more": "више", + "Expand panel": "Прошири површ", + "Collapse panel": "Скупи површ", + "Filter room names": "Филтрирај називе соба", + "Welcome to Riot.im": "Добродошли у Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Децентрализовано, шифровано ћаскање и сарадња коју покреће [matrix]", + "Search the room directory": "Претражи фасциклу са собама", + "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Много соба већ постоји у Матриксу, неке су повезане на постојеће мреже (Slack, IRC, Gitter итд.) а неке независне. Погледајте фасциклу!", + "Chat with Riot Bot": "Ћаскајте са Riot ботом", + "Get started with some tips from Riot Bot!": "Крените уз пар савета од Riot бота!", + "General discussion about Matrix and Riot": "Општи разговори о Матриксу и Riot-у", + "Discussion of all things Matrix!": "Разговори о свим Матрикс стварима!", + "Riot/Web & Desktop chat": "Riot/веб и стоно ћаскање", + "Riot/iOS & matrix-ios-sdk chat": "Riot/iOS и matrix-ios-sdk ћаскање", + "Riot/Android & matrix-android-sdk chat": "Riot/Андроид и matrix-android-sdk ћаскање", + "Matrix technical discussions": "Технички разговори о Матриксу", + "Running Matrix services": "Покренуте Матрикс услуге", + "Community-run support for Synapse": "Подршка од стране заједнице за Synapse", + "Admin support for Dendrite": "Администраторска подршка за Dendrite", + "Announcements about Synapse releases": "Објаве поводом нових Synapse издања", + "Support for those using and running matrix-appservice-irc": "Подршка за оне који користе и одржавају matrix-appservice-irc", + "Building services on Matrix": "Стварање услуга уз помоћ Матрикса", + "Support for those using the Matrix spec": "Подршка за оне који користе Матрикс спецификацију", + "Design and implementation of E2E in Matrix": "Дизајн и имплементација E2E у Матриксу", + "Implementing VR services with Matrix": "Израда услуга за ВР уз Матрикс", + "Implementing VoIP services with Matrix": "Израда VoIP услуга уз Матрикс", + "Discussion of the Identity Service API": "Разговори о API-ју идентитетског сервиса", + "Support for those using, running and writing other bridges": "Подршка за оне који користе, одржавају и пишу друге мостове", + "Contributing code to Matrix and Riot": "Додавање кода у Матрикс и Riot", + "Dev chat for the Riot/Web dev team": "Програмерско ћаскање за Riot/веб програмерски тим", + "Dev chat for the Dendrite dev team": "Програмерско ћаскање за Dendrite програмерски тим", + "Co-ordination for Riot/Web translators": "Координација за Riot/веб преводиоце" } From e4f7cbe85c1d1bda25e3595f78e335ee3f2f7248 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Sun, 19 Nov 2017 03:11:40 +0000 Subject: [PATCH 022/391] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index fc5dd6ec6..4b0b1e9b9 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -217,5 +217,9 @@ "Add rooms to this community": "新增聊天室到此社群", "Toolbox": "工具箱", "Send Account Data": "傳送帳號資料", - "Explore Account Data": "探索帳號資料" + "Explore Account Data": "探索帳號資料", + "Appear Offline": "顯示為離線", + "Away": "離開", + "Please install Chrome or Firefox for the best experience.": "請安裝 ChromeFirefox 以取得最佳體驗。", + "Safari and Opera work too.": "SafariOpera 也可以運作。" } From cecaca61a3a03465578a4ad93801685545e8f85b Mon Sep 17 00:00:00 2001 From: Jan Kudrik Date: Sun, 19 Nov 2017 13:52:06 +0000 Subject: [PATCH 023/391] Translated using Weblate (Czech) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 8b8550261..17c68117c 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -217,5 +217,9 @@ "Unpin Message": "Odepnout zprávu", "Toolbox": "Sada nástrojů", "Send Account Data": "Poslat data o účtu", - "Explore Account Data": "Prozkoumat data o účtu" + "Explore Account Data": "Prozkoumat data o účtu", + "Appear Offline": "Jevit se offline", + "Away": "Pryč", + "Please install Chrome or Firefox for the best experience.": "Pro nejlepší zážitek si prosím nainstalujte Chrome nebo Firefox.", + "Safari and Opera work too.": "Safari a Opera fungují taky." } From 26269986f512c015754c2c1863b31491b6e57ffc Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 19 Nov 2017 15:36:28 +0000 Subject: [PATCH 024/391] move piwik whitelists to conf and add piwik config.json info to readme Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- README.md | 5 +++++ config.sample.json | 2 ++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index 1da206321..273f448b2 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,11 @@ You can configure the app by copying `config.sample.json` to anything else since it is used to isolate the privileges of file attachments to this domain. Default: `usercontent.riot.im`. This needs to contain v1.html from https://github.com/matrix-org/usercontent/blob/master/v1.html +1. `piwik`: an object containing the following properties: + 1. `url`: The URL of the Piwik instance to use for collecting Analytics + 1. `whitelistedHSUrls`: a list of HS URLs to not redact from the Analytics + 1. `whitelistedISUrls`: a list of IS URLs to not redact from the Analytics + 1. `siteId`: The Piwik Site ID to use when sending Analytics to the Piwik server configured above Running as a Desktop app ======================== diff --git a/config.sample.json b/config.sample.json index 016517cd2..6e83cec2d 100644 --- a/config.sample.json +++ b/config.sample.json @@ -24,6 +24,8 @@ "welcomeUserId": "@riot-bot:matrix.org", "piwik": { "url": "https://piwik.riot.im/", + "whitelistedHSUrls": ["https://matrix.org"], + "whitelistedISUrls": ["https://vector.im", "https://matrix.org"], "siteId": 1 } } From f7a26ddb915143918e93a0fea89a0b7d0394355d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 19 Nov 2017 20:46:40 +0000 Subject: [PATCH 025/391] fix (race?) broken tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- test/app-tests/joining.js | 5 +++++ test/app-tests/loading.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/test/app-tests/joining.js b/test/app-tests/joining.js index 29da3413b..fc380e7d5 100644 --- a/test/app-tests/joining.js +++ b/test/app-tests/joining.js @@ -16,6 +16,9 @@ limitations under the License. /* joining.js: tests for the various paths when joining a room */ +import PlatformPeg from 'matrix-react-sdk/lib/PlatformPeg'; +import Platform from '../../src/vector/platform'; + require('skin-sdk'); var jssdk = require('matrix-js-sdk'); @@ -85,6 +88,8 @@ describe('joining a room', function () { localStorage.setItem("mx_access_token", ACCESS_TOKEN ); localStorage.setItem("mx_user_id", USER_ID); + PlatformPeg.set(new Platform()); + var mc = ( {throw new Error("unimplemented");}} diff --git a/test/app-tests/loading.js b/test/app-tests/loading.js index a7e7c9851..dab616577 100644 --- a/test/app-tests/loading.js +++ b/test/app-tests/loading.js @@ -16,6 +16,9 @@ limitations under the License. /* loading.js: test the myriad paths we have for loading the application */ +import PlatformPeg from 'matrix-react-sdk/lib/PlatformPeg'; +import Platform from '../../src/vector/platform'; + import 'skin-sdk'; import React from 'react'; @@ -137,6 +140,8 @@ describe('loading:', function () { default_is_url: DEFAULT_IS_URL, }, opts.config || {}); + PlatformPeg.set(new Platform()); + var params = parseQs(windowLocation); matrixChat = ReactDOM.render( Date: Sat, 25 Nov 2017 14:12:12 +0000 Subject: [PATCH 026/391] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 4b0b1e9b9..48655147e 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -176,7 +176,7 @@ "Implementing VoIP services with Matrix": "使用 Matrix 實作 VoIP 服務", "Discussion of the Identity Service API": "識別服務 API 的討論", "Support for those using, running and writing other bridges": "那些使用、執行與撰寫其他橋接的支援", - "Contributing code to Matrix and Riot": "貢獻程式碼給 Matrix 與 Riot", + "Contributing code to Matrix and Riot": "為 Matrix 和 Riot 做出貢獻", "Dev chat for the Riot/Web dev team": "Riot/Web 開發團隊的開發聊天", "Dev chat for the Dendrite dev team": "Dendrite 開發團隊的開發聊天", "Co-ordination for Riot/Web translators": "Riot/Web 翻譯者的協調區", From 9ec1f9b07da4bcf53bf402f62965aecca623dd66 Mon Sep 17 00:00:00 2001 From: xmeta Date: Wed, 22 Nov 2017 17:49:26 +0000 Subject: [PATCH 027/391] Translated using Weblate (Japanese) Currently translated at 32.8% (72 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/ --- src/i18n/strings/ja.json | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index 97a0640e0..4bd46f3f5 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -52,5 +52,24 @@ "Filter room names": "部屋名検索", "Forget": "忘れる", "Leave": "退室", - "Files": "添付ファイル" + "Files": "添付ファイル", + "Unknown device": "不明な端末", + "Collecting app version information": "アプリのバージョン情報を収集", + "Collecting logs": "ログの収集", + "Uploading report": "レポートのアップロード", + "Messages containing my display name": "自身の表示名を含むメッセージ", + "Messages containing my user name": "自身のユーザー名を含むメッセージ", + "Messages in one-to-one chats": "一対一のチャットでのメッセージ", + "Messages in group chats": "グループチャットのメッセージ", + "When I'm invited to a room": "部屋に招待された時", + "Messages sent by bot": "ボットから送信されたメッセージ", + "Error saving email notification preferences": "電子メール通知設定の保存中にエラー", + "An error occurred whilst saving your email notification preferences.": "電子メール通知設定を保存中にエラーが発生しました。", + "Keywords": "キーワード", + "Enter keywords separated by a comma:": "キーワードをコンマで区切って入力:", + "OK": "OK", + "Operation failed": "操作に失敗しました", + "Can't update user notification settings": "ユーザー通知の設定を更新できません", + "Failed to update keywords": "キーワードの更新に失敗しました", + "Messages containing keywords": "keywordsを含むメッセージ" } From a7ac003064783995065a2d61a1ff26f62075f5fe Mon Sep 17 00:00:00 2001 From: Mateo Castro Date: Mon, 27 Nov 2017 16:13:39 +0000 Subject: [PATCH 028/391] Translated using Weblate (Spanish) Currently translated at 95.8% (210 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/ --- src/i18n/strings/es.json | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index b0fbdaa84..1cdce766b 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -132,8 +132,8 @@ "What's New": "Novedades", "What's new?": "¿Qué hay de nuevo?", "Waiting for response from server": "Esperando una respuesta del servidor", - "You have successfully set a password and an email address!": "¡Ha establecido exitosamente la contraseña y la dirección de email!", - "You have successfully set a password!": "¡Ha establecido exitosamente una contraseña!", + "You have successfully set a password and an email address!": "¡Has establecido exitosamente una contraseña y una dirección de correo electrónico!", + "You have successfully set a password!": "¡Has establecido exitosamente una contraseña!", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s en %(osName)s", "All messages (loud)": "Todos los mensajes (ruidoso)", "All notifications are currently disabled for all targets.": "Las notificaciones estan desactivadas para todos los objetivos.", @@ -193,5 +193,23 @@ "Error encountered (%(errorDetail)s).": "Error encontrado (%(errorDetail)s).", "Couldn't load home page": "No se puede cargar la página principal", "Bug report sent": "Informe de fallo enviado", - "Thank you!": "¡Gracias!" + "Thank you!": "¡Gracias!", + "Show message in desktop notification": "Mostrar mensaje en la notificación del escritorio", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Puedes usar las opciones del servidor personalizado para acceder a otros servidores Matrix especificando un LUR de servidor de Hogar distinto.
Esto te permite usar Riot con una cuenta Matrix existente en un servidor de hogar distinto.

También podrías establecer un servidor de identidad personalizado pero no podrías invitar a otros usuarios o ser invitado por correo electrónico.", + "Appear Offline": "Muéstrate fuera de linea", + "Away": "Distante", + "Back": "Atrás", + "Send Custom Event": "Envía Evento Acomodado", + "You must specify an event type!": "Debes especificar un tipo de evento!", + "Event sent!": "Evento enviado!", + "Failed to send custom event.": "Ha fallado el envio del evento acomodado.", + "Event Type": "Tipo de Evento", + "State Key": "Llave del Estado", + "Event Content": "Contenido del Evento", + "Send Account Data": "Envía Datos de la Cuenta", + "Filter results": "Filtra los resultados", + "Explore Room State": "Explora el Estado del Cuarto", + "Edit": "Edita", + "Explore Account Data": "Explora los Datos de la Cuenta", + "Toolbox": "Caja de Herramientas" } From 43578d23664368cc63201ae89317fd68465dd00e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 28 Nov 2017 22:16:53 +0000 Subject: [PATCH 029/391] make FilteredList controlled, such that it can externally persist filter Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/dialogs/DevtoolsDialog.js | 87 +++++++++++++------ 1 file changed, 60 insertions(+), 27 deletions(-) diff --git a/src/components/views/dialogs/DevtoolsDialog.js b/src/components/views/dialogs/DevtoolsDialog.js index a7155ad12..85ab40292 100644 --- a/src/components/views/dialogs/DevtoolsDialog.js +++ b/src/components/views/dialogs/DevtoolsDialog.js @@ -244,6 +244,8 @@ class SendAccountData extends GenericEditor { class FilteredList extends React.Component { static propTypes = { children: PropTypes.any, + query: PropTypes.string, + onChange: PropTypes.func, }; constructor(props, context) { @@ -251,12 +253,17 @@ class FilteredList extends React.Component { this.onQuery = this.onQuery.bind(this); this.state = { - query: '', + query: this.props.query, }; } + componentWillReceiveProps(nextProps) { + if (this.state.query !== nextProps.query) this.setState({ query: nextProps.query }); + } + onQuery(ev) { this.setState({ query: ev.target.value }); + if (this.props.onChange) this.props.onChange(ev.target.value); } filterChildren() { @@ -295,11 +302,16 @@ class RoomStateExplorer extends DevtoolsComponent { this.onBack = this.onBack.bind(this); this.editEv = this.editEv.bind(this); + this.onQueryEventType = this.onQueryEventType.bind(this); + this.onQueryStateKey = this.onQueryStateKey.bind(this); this.state = { eventType: null, event: null, editing: false, + + queryEventType: '', + queryStateKey: '', }; } @@ -331,6 +343,14 @@ class RoomStateExplorer extends DevtoolsComponent { this.setState({ editing: true }); } + onQueryEventType(filterEventType) { + this.setState({ queryEventType: filterEventType }); + } + + onQueryStateKey(filterStateKey) { + this.setState({ queryStateKey: filterStateKey }); + } + render() { if (this.state.event) { if (this.state.editing) { @@ -352,41 +372,47 @@ class RoomStateExplorer extends DevtoolsComponent { ; } - const rows = []; + let list = null; const classes = 'mx_DevTools_RoomStateExplorer_button'; if (this.state.eventType === null) { - Object.keys(this.roomStateEvents).forEach((evType) => { - const stateGroup = this.roomStateEvents[evType]; - const stateKeys = Object.keys(stateGroup); + list = + { + Object.keys(this.roomStateEvents).map((evType) => { + const stateGroup = this.roomStateEvents[evType]; + const stateKeys = Object.keys(stateGroup); - let onClickFn; - if (stateKeys.length > 1) { - onClickFn = this.browseEventType(evType); - } else if (stateKeys.length === 1) { - onClickFn = this.onViewSourceClick(stateGroup[stateKeys[0]]); + let onClickFn; + if (stateKeys.length > 1) { + onClickFn = this.browseEventType(evType); + } else if (stateKeys.length === 1) { + onClickFn = this.onViewSourceClick(stateGroup[stateKeys[0]]); + } + + return ; + }) } - - rows.push(); - }); + ; } else { - const evType = this.state.eventType; - const stateGroup = this.roomStateEvents[evType]; - Object.keys(stateGroup).forEach((stateKey) => { - const ev = stateGroup[stateKey]; - rows.push(); - }); + const stateGroup = this.roomStateEvents[this.state.eventType]; + + list = + { + Object.keys(stateGroup).map((stateKey) => { + const ev = stateGroup[stateKey]; + return ; + }) + } + ; } return
- - { rows } - + { list }
@@ -408,11 +434,14 @@ class AccountDataExplorer extends DevtoolsComponent { this.onBack = this.onBack.bind(this); this.editEv = this.editEv.bind(this); this._onChange = this._onChange.bind(this); + this.onQueryEventType = this.onQueryEventType.bind(this); this.state = { isRoomAccountData: false, event: null, editing: false, + + queryEventType: '', }; } @@ -448,6 +477,10 @@ class AccountDataExplorer extends DevtoolsComponent { this.setState({ editing: true }); } + onQueryEventType(queryEventType) { + this.setState({ queryEventType }); + } + render() { if (this.state.event) { if (this.state.editing) { @@ -482,7 +515,7 @@ class AccountDataExplorer extends DevtoolsComponent { return
- + { rows }
From fd63aac406d73ef97b5de07de007d5d7485601d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Koreck=C3=BD?= Date: Wed, 29 Nov 2017 10:30:44 +0000 Subject: [PATCH 030/391] Translated using Weblate (Czech) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 17c68117c..6e65f0c7d 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -210,7 +210,7 @@ "Register": "Zaregistrovat", "Rooms": "Místnosti", "Invite to this community": "Pozvat do této komunity", - "Add rooms to this community": "Přidat místnosti do této komunity", + "Add rooms to this community": "Přidat místnosti do této skupiny", "State Key": "Stavový klíč", "Send Custom State Event": "Poslat vlastní stavovou událost", "Explore Room State": "Prohlížet stav místnosti", From 452fe44795af210bbade8b719d8c7884d5032bc1 Mon Sep 17 00:00:00 2001 From: Moo Date: Fri, 1 Dec 2017 22:15:02 +0000 Subject: [PATCH 031/391] Added translation using Weblate (Lithuanian) --- src/i18n/strings/lt.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/lt.json diff --git a/src/i18n/strings/lt.json b/src/i18n/strings/lt.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/src/i18n/strings/lt.json @@ -0,0 +1 @@ +{} \ No newline at end of file From a3e26982231e00f3515eccbe9a020a7f6704b5d5 Mon Sep 17 00:00:00 2001 From: Tirifto Date: Sun, 3 Dec 2017 13:05:37 +0000 Subject: [PATCH 032/391] Translated using Weblate (Esperanto) Currently translated at 84.4% (185 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/ --- src/i18n/strings/eo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index 6dcf08095..61367d6a4 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -91,7 +91,7 @@ "Notify me for anything else": "Sciigu min por ĉio alia", "Off": "Malŝaltita", "On": "Ŝaltita", - "Operation failed": "La operacio malsukcesis", + "Operation failed": "Ago malsukcesis", "Permalink": "Konstanta ligilo", "Please describe the bug and/or send logs.": "Bonvolu priskribi la cimon kaj/aŭ sendi protokolojn.", "Remove %(name)s from the directory?": "Forigi %(name)s el la dosierujo?", From 491bb4fd1dacd609da52e6403359ee8936e553df Mon Sep 17 00:00:00 2001 From: Moo Date: Sun, 3 Dec 2017 21:49:24 +0000 Subject: [PATCH 033/391] Translated using Weblate (Lithuanian) Currently translated at 39.7% (87 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/ --- src/i18n/strings/lt.json | 90 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/lt.json b/src/i18n/strings/lt.json index 9e26dfeeb..bf79a8fb6 100644 --- a/src/i18n/strings/lt.json +++ b/src/i18n/strings/lt.json @@ -1 +1,89 @@ -{} \ No newline at end of file +{ + "Waiting for response from server": "Laukiama atsakymo iš serverio", + "Unknown device": "Nežinomas įrenginys", + "Collecting app version information": "Renkama programėlės versijos informacija", + "Collecting logs": "Renkami žurnalai", + "Uploading report": "Išsiunčiama ataskaita", + "Keywords": "Raktažodžiai", + "Enter keywords separated by a comma:": "Įveskite kableliais atskirtus raktažodžius:", + "OK": "Gerai", + "Failed to change settings": "Nepavyko pakeisti nustatymų", + "Operation failed": "Operacija nepavyko", + "Failed to update keywords": "Nepavyko atnaujinti raktažodžių", + "Enable email notifications": "Įjungti pranešimus el. paštu", + "Advanced notification settings": "Išplėstiniai pranešimų nustatymai", + "Enable desktop notifications": "Įjungti pranešimus darbalaukyje", + "Sunday": "Sekmadienis", + "Monday": "Pirmadienis", + "Tuesday": "Antradienis", + "Wednesday": "Trečiadienis", + "Thursday": "Ketvirtadienis", + "Friday": "Penktadienis", + "Saturday": "Šeštadienis", + "Today": "Šiandien", + "Yesterday": "Vakar", + "powered by Matrix": "veikia su Matrix", + "What's New": "Kas naujo", + "What's new?": "Kas naujo?", + "A new version of Riot is available.": "Yra prieinama nauja Riot versija.", + "To return to your account in future you need to set a password": "Norėdami ateityje sugrįžti į savo paskyrą, turite nusistatyti slaptažodį", + "Set Password": "Nustatyti slaptažodį", + "Checking for an update...": "Tikrinama ar yra atnaujinimų...", + "No update available.": "Nėra prieinamų atnaujinimų.", + "Downloading update...": "Atsiunčiamas atnaujinimas...", + "Warning": "Įspėjimas", + "Error": "Klaida", + "You cannot delete this image. (%(code)s)": "Jūs negalite ištrinti šio paveikslo. (%(code)s)", + "Remove": "Šalinti", + "Close": "Užverti", + "Download this file": "Atsisiųsti šį failą", + "Thank you!": "Ačiū!", + "Cancel": "Atsisakyti", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Aprašykite klaidą. Ką darėte? Ko tikėjotės? Kas iš tikrųjų nutiko?", + "Describe your problem here.": "Čia aprašykite savo problemą.", + "Changelog": "Keitinių žurnalas", + "Back": "Atgal", + "You must specify an event type!": "Privalote nurodyti įvykio tipą!", + "Event sent!": "Įvykis išsiųstas!", + "Event Type": "Įvykio tipas", + "Toolbox": "Parankinė", + "You have successfully set a password!": "Jūs sėkmingai nusistatėte slaptažodį!", + "You have successfully set a password and an email address!": "Jūs sėkmingai nusistatėte slaptažodį ir el. pašto adresą!", + "Continue": "Tęsti", + "(HTTP status %(httpStatus)s)": "(HTTP būsena %(httpStatus)s)", + "Please set a password!": "Prašome nusistatyti slaptažodį!", + "You cannot delete this message. (%(code)s)": "Negalite ištrinti šios žinutės. (%(code)s)", + "Cancel Sending": "Atsisakyti siuntimo", + "Forward Message": "Persiųsti žinutę", + "Unpin Message": "Atsegti žinutę", + "Pin Message": "Prisegti žinutę", + "Permalink": "Pastovioji nuoroda", + "unknown error code": "nežinomas klaidos kodas", + "Reject": "Atmesti", + "Sorry, your browser is not able to run Riot.": "Atleiskite, jūsų naršyklė negali paleisti Riot.", + "I understand the risks and wish to continue": "Aš suprantu riziką ir noriu tęsti", + "Login": "Prisijungti", + "Register": "Registruotis", + "Files": "Failai", + "Notifications": "Pranešimai", + "Rooms": "Kambariai", + "Hide panel": "Slėpti skydelį", + "Invite to this community": "Pakviesti į šią bendruomenę", + "The server may be unavailable or overloaded": "Gali būti, kad serveris yra neprieinamas arba perkrautas", + "Unnamed room": "Kambarys be pavadinimo", + "Remove from Directory": "Šalinti iš katalogo", + "remove %(name)s from the directory.": "šalinti %(name)s iš katalogo.", + "Unable to join network": "Nepavyko prisijungti prie tinklo", + "Riot does not know how to join a room on this network": "Riot nežino kaip prisijungti prie kambario šiame tinkle", + "Room not found": "Kambarys nerastas", + "Couldn't find a matching Matrix room": "Nepavyko rasti atitinkamo Matrix kambario", + "Directory": "Katalogas", + "#example": "#pavyzdys", + "more": "daugiau", + "Expand panel": "Išskleisti skydelį", + "Collapse panel": "Suskleisti skydelį", + "Welcome to Riot.im": "Sveiki atvykę į Riot.im", + "Chat with Riot Bot": "Kalbėtis su Riot robotu", + "General discussion about Matrix and Riot": "Bendros diskusijos apie Matrix ir Riot", + "Matrix technical discussions": "Matrix techninės diskusijos" +} From fb1afdab1cb1ad1ea609b0766d686f7bc746d1f1 Mon Sep 17 00:00:00 2001 From: Sulejman Delic Date: Fri, 8 Dec 2017 09:19:00 +0000 Subject: [PATCH 034/391] Added translation using Weblate (Bosnian) --- src/i18n/strings/bs.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/bs.json diff --git a/src/i18n/strings/bs.json b/src/i18n/strings/bs.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/src/i18n/strings/bs.json @@ -0,0 +1 @@ +{} \ No newline at end of file From db3bd1dbf04660884507eb8246f3008b7a4a055a Mon Sep 17 00:00:00 2001 From: Szimszon Date: Fri, 8 Dec 2017 17:49:56 +0000 Subject: [PATCH 035/391] Translated using Weblate (Hungarian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/ --- src/i18n/strings/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 1a90d0467..200c29f78 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -132,7 +132,7 @@ "Riot is not supported on mobile web. Install the app?": "Riot nem támogatott mobil webböngészőn. Telepíted az alkalmazást?", "Search": "Keresés", "Search…": "Keresés…", - "Send": "Küld", + "Send": "Elküld", "Send logs": "Naplók elküldése", "This Room": "Ebben a szobában", "Unavailable": "Elérhetetlen", From 68706a92090a7efd4ceed9e0638a7736c87b9cd9 Mon Sep 17 00:00:00 2001 From: vricci Date: Tue, 5 Dec 2017 17:42:31 +0000 Subject: [PATCH 036/391] Translated using Weblate (Italian) Currently translated at 97.7% (214 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index a162340fb..9d1eebd52 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -207,5 +207,14 @@ "Event Content": "Contenuto dell'Evento", "State Key": "Chiave dello Stato", "Show message in desktop notification": "Mostra i messaggi nelle notifiche desktop", - "Edit": "Modifica" + "Edit": "Modifica", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.
Questo permette di usare Matrix con un account esistente su un home server diverso.

È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.", + "Appear Offline": "Appari offline", + "Away": "Assente", + "Explore Account Data": "Esplora dati account", + "Toolbox": "Strumenti", + "Please install Chrome or Firefox for the best experience.": "Installa Chrome o Firefox per la migliore esperienza d'uso.", + "Safari and Opera work too.": "Anche Safari e Opera vanno bene.", + "Register": "Registrati", + "Rooms": "Stanze" } From e24ffeea449f963b58bf6dd9fefa740990695077 Mon Sep 17 00:00:00 2001 From: Moo Date: Thu, 7 Dec 2017 21:49:40 +0000 Subject: [PATCH 037/391] Translated using Weblate (Lithuanian) Currently translated at 40.1% (88 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/ --- src/i18n/strings/lt.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/lt.json b/src/i18n/strings/lt.json index bf79a8fb6..bc5e4321b 100644 --- a/src/i18n/strings/lt.json +++ b/src/i18n/strings/lt.json @@ -85,5 +85,6 @@ "Welcome to Riot.im": "Sveiki atvykę į Riot.im", "Chat with Riot Bot": "Kalbėtis su Riot robotu", "General discussion about Matrix and Riot": "Bendros diskusijos apie Matrix ir Riot", - "Matrix technical discussions": "Matrix techninės diskusijos" + "Matrix technical discussions": "Matrix techninės diskusijos", + "Riot is not supported on mobile web. Install the app?": "Riot nėra palaikoma naršant svetainėje mobiliaisiais įrenginiais. Įdiegti programėlę?" } From 10c6f24a8325376c62db690e35f00c0949e46b38 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 10 Dec 2017 12:46:12 +0000 Subject: [PATCH 038/391] CSS and Context Menu tweaks for Rich Quoting/Replies Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/context_menus/MessageContextMenu.js | 4 +-- .../views/rooms/_Autocomplete.scss | 29 +++++++++++++++++-- .../views/rooms/_EventTile.scss | 4 +-- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/components/views/context_menus/MessageContextMenu.js b/src/components/views/context_menus/MessageContextMenu.js index d8f9a4daa..dfff031fc 100644 --- a/src/components/views/context_menus/MessageContextMenu.js +++ b/src/components/views/context_menus/MessageContextMenu.js @@ -171,8 +171,8 @@ module.exports = React.createClass({ onQuoteClick: function() { dis.dispatch({ - action: 'quote', - text: this.props.eventTileOps.getInnerText(), + action: 'quote_event', + event: this.props.mxEvent, }); this.closeMenu(); }, diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss index 6bf3f3b60..8ce81c0de 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss @@ -1,4 +1,17 @@ .mx_Autocomplete { + position: absolute; + bottom: 0; + z-index: 1001; + width: 100%; + border: 1px solid $primary-hairline-color; + background: $primary-bg-color; + border-bottom: none; + border-radius: 4px 4px 0 0; + max-height: 50vh; + overflow: auto +} + +.mx_Quoting { position: absolute; bottom: 0; z-index: 1000; @@ -11,7 +24,7 @@ overflow: auto } -.mx_Autocomplete_ProviderSection { +.mx_Autocomplete_ProviderSection, .mx_Quoting_section { border-bottom: 1px solid $primary-hairline-color; } @@ -74,13 +87,25 @@ outline: none; } -.mx_Autocomplete_provider_name { +.mx_Autocomplete_provider_name, .mx_Quoting_header { margin: 12px; color: $primary-fg-color; font-weight: 400; opacity: 0.4; } +.mx_Quoting_title { + float: left; +} + +.mx_Quoting_cancel { + float: right; +} + +.mx_Quoting_clear { + clear: both; +} + /* styling for common completion elements */ .mx_Autocomplete_Completion_subtitle { font-style: italic; diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss index cfc46e85a..b4a424202 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss @@ -109,7 +109,7 @@ limitations under the License. /* this is used for the tile for the event which is selected via the URL. * TODO: ultimately we probably want some transition on here. */ -.mx_EventTile_selected .mx_EventTile_line { +.mx_EventTile_selected > .mx_EventTile_line { border-left: $accent-color 5px solid; padding-left: 60px; background-color: $event-selected-color; @@ -209,7 +209,7 @@ limitations under the License. visibility: visible; } -.mx_EventTile_selected .mx_MessageTimestamp { +.mx_EventTile_selected > div > a > .mx_MessageTimestamp { left: 3px; width: auto; } From 8e66665bbdde38cc04bee2353e3d33e4ec0f6d49 Mon Sep 17 00:00:00 2001 From: Tirifto Date: Tue, 12 Dec 2017 10:22:28 +0000 Subject: [PATCH 039/391] Translated using Weblate (Esperanto) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/ --- src/i18n/strings/eo.json | 172 +++++++++++++++++++++++---------------- 1 file changed, 103 insertions(+), 69 deletions(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index 61367d6a4..afdf93b28 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -1,96 +1,96 @@ { - "A new version of Riot is available.": "Nova versio de \"Riot\" haveblas.", + "A new version of Riot is available.": "Nova versio de Riot haveblas.", "All messages": "Ĉiuj mesaĝoj", - "All messages (loud)": "Ĉiuj mesaĝoj (lauta)", - "All Rooms": "Ĉiuj babilejoj", + "All messages (loud)": "Ĉiuj mesaĝoj (laŭte)", + "All Rooms": "Ĉiuj ĉambroj", "Cancel": "Nuligi", "delete the alias.": "Forviŝi la kromnomon.", - "Describe your problem here.": "Priskribi vian problemon ĉi tie.", - "Direct Chat": "Rekta babilejo", + "Describe your problem here.": "Priskribu vian problemon ĉi tie.", + "Direct Chat": "Rekta babilo", "Directory": "Dosierujo", - "Dismiss": "Eksigu", - "Download this file": "Elŝutu ĉi-tiun dosieron", + "Dismiss": "Rezigni", + "Download this file": "Elŝuti ĉi tiun dosieron", "#example": "#ekzemplo", "Files": "Dosieroj", "Forget": "Forgesi", "Guests can join": "Gastoj povas aliĝi", - "I understand the risks and wish to continue": "Mi komprenas la riskonj kaj volas daŭrigi", - "Invite to this room": "Inviti en ĉi tiun babilejon", + "I understand the risks and wish to continue": "Mi komprenas la riskojn kaj volas daŭrigi", + "Invite to this room": "Inviti al ĉi tiu ĉambro", "Keywords": "Ŝlosilvortoj", "Leave": "Foriri", "Low Priority": "Malalta prioritato", "Messages containing my display name": "Mesaĝoj enhavantaj mian vidigan nomon", "Messages containing keywords": "Mesaĝoj enhavantaj ŝlosilovortojn", "Messages containing my user name": "Mesaĝoj enhavantaj mian uzantnomon", - "Messages in group chats": "Mesaĝoj en grupaj babilejoj", + "Messages in group chats": "Mesaĝoj en grupaj babiloj", "Mute": "Silentigi", - "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bonvolu priskribi la cimon. Kion vi faris? Kion vi atendis okazi? Kion fakte okazis?", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bonvolu priskribi la cimon. Kion vi faris? Kion vi atendis? Kio fakte okazis?", "Please install Chrome or Firefox for the best experience.": "Bonvolu instali \"Chrome\"\"Firefox\" por la plej bona sperto.", - "powered by Matrix": "funkciigata de \"Matrix\"", - "Quote": "Citu", - "Reject": "Malakcepti", + "powered by Matrix": "funkciigata de Matrix", + "Quote": "Citi", + "Reject": "Rifuzi", "Resend": "Resendi", "Room not found": "Babilejo ne trovita", "Search": "Serĉi", "Search…": "Serĉi…", "Search for a room": "Serĉi babilejon", "Send": "Sendi", - "This Room": "Ĉi tiu Babilejo", + "This Room": "Ĉi tiu ĉambro", "Add an email address above to configure email notifications": "Aldonu retadreson supre por agordi retpoŝtajn sciigojn", - "Advanced notification settings": "Agordoj de sciigoj specialaj", + "Advanced notification settings": "Specialaj agordoj de sciigoj", "Call invitation": "Invito al voko", - "All notifications are currently disabled for all targets.": "Ĉiuj sciigoj estas malvalidigitaj por ĉiu aparato.", - "An error occurred whilst saving your email notification preferences.": "Eraro okazis dum konservado de agordoj por retpoŝtaj sciigoj.", - "Cancel Sending": "Nuligi sendadon", - "Can't update user notification settings": "Ne eblas ĝisdatigi la agordojn de sciigoj al uzanto", + "All notifications are currently disabled for all targets.": "Ĉiuj sciigoj nun estas malŝaltitaj por ĉiuj aparatoj.", + "An error occurred whilst saving your email notification preferences.": "Eraro okazis dum konservado de agordoj pri retpoŝtaj sciigoj.", + "Cancel Sending": "Nuligi sendon", + "Can't update user notification settings": "Agordoj de sciigoj al uzanto ne ĝisdatigeblas", "Changelog": "Protokolo de ŝanĝoj", "Close": "Fermi", "Collapse panel": "Kaŝi panelon", - "Collecting app version information": "Kolektante informon pri versio de la aplikaĵo", + "Collecting app version information": "Kolektanta informon pri versio de la aplikaĵo", "Collecting logs": "Kolektante protokolon", "Couldn't find a matching Matrix room": "Ne eblis trovi kongruantan ejon Matrix", - "Custom Server Options": "Opcioj pri personigo de servilo", + "Custom Server Options": "Propraj servilaj elektoj", "customServer_text": "Vi povas uzi opciojn personigitajn de la servilo por ensaluti en aliajn servilojn Matrix specifante alian adreson URL-an de alia servilo Home.
Tio permesas al vi uzi Riot per ekzistanta konto en alia Home servilo.

Vi povas ankaŭ agordi servilon identecan personigita, sed ne eblos inviti uzantojn pere de retpoŝtadreso, aŭ esti invitita pere de retpoŝtadreso vi mem.", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Forviŝi la kromnomon de la ejo %(alias)s and forigi %(name)s el la dosierujo?", - "Enable audible notifications in web client": "Ebligi aŭdeblajn sciigojn en la retkliento", - "Enable desktop notifications": "Ebligi labortablajn sciigojn", - "Enable email notifications": "Ebligi retpoŝtajn sciigojn", - "Enable notifications for this account": "Ebligi sciigojn por tiu ĉi konto", - "Enable them now": "Ebligi ilin nun", - "Enter keywords separated by a comma:": "Entajpi ŝlosilvortojn apartigitaj per komoj:", + "Enable audible notifications in web client": "Ŝalti aŭdeblajn sciigojn en la retkliento", + "Enable desktop notifications": "Ŝalti labortablajn sciigojn", + "Enable email notifications": "Ŝalti retpoŝtajn sciigojn", + "Enable notifications for this account": "Ŝalti sciigojn por tiu ĉi konto", + "Enable them now": "Ŝalti ilin nun", + "Enter keywords separated by a comma:": "Entajpu ŝlosilvortojn apartigitajn per komoj:", "Error": "Eraro", "Error saving email notification preferences": "Eraro konservante agordojn pri retpoŝtaj sciigoj", "Expand panel": "Pli grandigi panelon", - "Failed to add tag %(tagName)s to room": "Malsukcesis aldoni etikedon %(tagName)s al la ejo", + "Failed to add tag %(tagName)s to room": "Malsukcesis aldoni etikedon %(tagName)s al la ĉambro", "Failed to change settings": "Malsukcesis ŝanĝi la agordojn", - "Failed to forget room %(errCode)s": "Malsukcesis forgesi la ejon %(errCode)s", + "Failed to forget room %(errCode)s": "Malsukcesis forgesi ĉambron %(errCode)s", "Failed to update keywords": "Malsukcesis ĝisdatigi la ŝlosilvortojn", "Failed to get protocol list from Home Server": "Malsukcesis obteni la liston de protokoloj por la servilo Home", "Failed to get public room list": "Malsukcesis obteni la liston de publikaj ejoj", - "Failed to remove tag %(tagName)s from room": "Malsukcesis forigi la etikedon %(tagName)s el la ejo", + "Failed to remove tag %(tagName)s from room": "Malsukcesis forigi etikedon %(tagName)s el la ĉambro", "Failed to send report: ": "Malsukcesis sendi raporton: ", - "Failed to set direct chat tag": "Malsukcesis agordi la etikedon de rekta babilejo", - "Failed to set Direct Message status of room": "Malsukcesis agordi la staton de Rekta Mesaĝo de la ejo", + "Failed to set direct chat tag": "Malsukcesis agordi la etikedon de rekta babilo", + "Failed to set Direct Message status of room": "Malsukcesis agordi staton de rekta mesaĝo al la ĉambro", "Forward Message": "Plusendi mesaĝon", "Hide panel": "Kaŝi panelon", - "(HTTP status %(httpStatus)s)": "(stato HTTP %(httpStatus)s)", + "(HTTP status %(httpStatus)s)": "(stato de HTTP %(httpStatus)s)", "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Por diagnozi problemojn, protokoloj el tiu ĉi kliento sendiĝos kune kun tiu ĉi raporto de eraro. Se vi preferas sendi nur la supran tekston, bonvolu malŝalti:", - "Login": "Ensaluti", - "Loading bug report module": "Ŝarĝante modulon pri eraroraporto", - "Members": "Membroj", + "Login": "Saluti", + "Loading bug report module": "Enleganta cimraportan modulon", + "Members": "Anoj", "Mentions only": "Nur mencioj", - "Messages in one-to-one chats": "Mesaĝoj en unu-je-unu babilejoj", - "Messages sent by bot": "Mesaĝoj sendita per roboto", + "Messages in one-to-one chats": "Mesaĝoj en duopaj babiloj", + "Messages sent by bot": "Mesaĝoj senditaj per roboto", "more": "pli", - "No rooms to show": "Neniu ejo por montri", + "No rooms to show": "Neniuj ĉambroj por montro", "Noisy": "Brua", - "Notification targets": "Celo de sciigoj", + "Notification targets": "Celoj de sciigoj", "Notifications": "Sciigoj", - "Notifications on the following keywords follow rules which can’t be displayed here:": "La sciigoj de la sekvaj ŝlosilvortoj sekvas regulojn kiuj ne povas esti montrataj ĉi tie:", + "Notifications on the following keywords follow rules which can’t be displayed here:": "La sciigoj de la jenaj ŝlosilvortoj sekvas regulojn kiuj ne povas esti montrataj ĉi tie:", "Notify for all other messages/rooms": "Sciigu min por ĉiu alia babilejo", - "Notify me for anything else": "Sciigu min por ĉio alia", - "Off": "Malŝaltita", - "On": "Ŝaltita", + "Notify me for anything else": "Sciigu min pri ĉio alia", + "Off": "For", + "On": "Ek", "Operation failed": "Ago malsukcesis", "Permalink": "Konstanta ligilo", "Please describe the bug and/or send logs.": "Bonvolu priskribi la cimon kaj/aŭ sendi protokolojn.", @@ -101,36 +101,36 @@ "Report a bug": "Raporti cimon", "Riot Desktop on %(platformName)s": "Riot Labortablo sur %(platformName)s", "Riot does not know how to join a room on this network": "Riot ne scias kiel aliĝi al ejo en tiu ĉi reto", - "Riot is not supported on mobile web. Install the app?": "Riot ne estas subtenita je mobile web. Instali la aplikaĵon?", - "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uzas multajn specialajn trajtojn, kelkaj ne estas disponeblaj aŭ estas eksperimentaj en via nuna retumilo.", + "Riot is not supported on mobile web. Install the app?": "Riot ne estas subtenata sur poŝkomputila reto. Ĉu instali la aplikaĵon?", + "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uzas multajn specialajn funkciojn, el kiuj kelkaj ne disponeblas aŭ estas eksperimentaj en via nuna foliumilo.", "Send logs": "Sendi protokolojn", "Source URL": "Fonta URL", - "Sorry, your browser is not able to run Riot.": "Pardonu, via retumilo ne kapablas funkciigi Riot.", + "Sorry, your browser is not able to run Riot.": "Pardonu, via foliumilo ne kapablas funkciigi klienton Riot.", "The Home Server may be too old to support third party networks": "La servilo Home povas esti tro malnova por subteni retoj de ekstera liveranto", - "There are advanced notifications which are not shown here": "Estas specialaj sciigoj kiuj ne estas montritaj ĉi tie", + "There are advanced notifications which are not shown here": "Ekzistas specialaj sciigoj, kiuj ne montriĝas ĉi tie", "The server may be unavailable or overloaded": "La servilo povas esti maldisponebla aŭ tro ŝarĝita", - "Unable to fetch notification target list": "Ne eblis obteni la liston de celoj por sciigoj", + "Unable to fetch notification target list": "Malsukcesis akiri la liston de celoj por sciigoj", "Unable to join network": "Ne eblis kuniĝi kun la reto", "Unable to look up room ID from server": "Ne eblis trovi la identigon el la servilo", - "Unavailable": "Maldisponebla", + "Unavailable": "Nedisponebla", "Unhide Preview": "Malkaŝi antaŭrigardon", "Unknown device": "Nekonata aparato", - "unknown error code": "kodo de nekonata eraro", - "Unnamed room": "Nekonata ejo", + "unknown error code": "nekonata kodo de eraro", + "Unnamed room": "Sennoma ĉambro", "Update": "Ĝisdatigi", - "Uploaded on %(date)s by %(user)s": "Alŝutita je %(date)s per %(user)s", + "Uploaded on %(date)s by %(user)s": "Alŝutita je %(date)s de %(user)s", "Uploading report": "Alŝutante raporton", "View Decrypted Source": "Vidi malĉifritan fonton", "View Source": "Vidi fonton", "What's New": "Kio novas", "What's new?": "Kio novas?", "Waiting for response from server": "Atendante respondon el la servilo", - "When I'm invited to a room": "Kiam mi estas invitita en ejon", - "World readable": "Legebla tutmonde", - "You cannot delete this image. (%(code)s)": "Vi ne povas forviŝi tiun ĉi bildon. (%(code)s)", - "You cannot delete this message. (%(code)s)": "Vi ne povas forviŝi tiun ĉi mesaĝon. (%(code)s)", - "You are not receiving desktop notifications": "Vi ne estas ricevante sciigojn labortablan", - "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Vi eble agordis ilin en kliento kiu ne estis Riot. Vi ne povas agordi ilin en Riot sed ili ankoraŭ validas", + "When I'm invited to a room": "Kiam mi estas invitita al ĉambro", + "World readable": "Legebla de ĉiuj", + "You cannot delete this image. (%(code)s)": "Vi ne povas forigi tiun ĉi bildon. (%(code)s)", + "You cannot delete this message. (%(code)s)": "Vi ne povas forigi tiun ĉi mesaĝon. (%(code)s)", + "You are not receiving desktop notifications": "Vi ne ricevadas sciigojn labortablajn", + "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Vi eble agordis ilin en alia kliento. Vi ne povas agordi ilin en Riot, sed ili ankoraŭ validas", "Sunday": "Dimanĉo", "Monday": "Lundo", "Tuesday": "Mardo", @@ -141,8 +141,8 @@ "Today": "Hodiaŭ", "Yesterday": "Hieraŭ", "OK": "Bone", - "You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por starigi ekranan vokon.", - "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Kun via nuna retumilo, la aspekto kaj funkciado de la aplikaĵo povas esti tute malĝusta, kaj kelkaj aŭ ĉiu funkcioj eble ne funkcios. Se vi volas provi ĉiuokaze vi rajtas daŭrigi, sed ne estos subteno se vi trafas problemojn!", + "You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por ekranvidadi.", + "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Kun via nuna foliumilo, la aspekto kaj funkciado de la aplikaĵo povas esti tute malĝusta, kaj kelkaj aŭ ĉiu funkcioj eble ne tute funkcios. Se vi tamen volas provi, vi povas daŭrigi, sed vi ricevos nenian subtenon se vi renkontos problemojn!", "Welcome to Riot.im": "Bonvenon al Riot.im", "Decentralised, encrypted chat & collaboration powered by [matrix]": "Malcentra, ĉifrita babilejo & kunlaboro povigita de [matrix]", "Search the room directory": "Serĉi la ejan dosierujon", @@ -171,20 +171,54 @@ "Dev chat for the Dendrite dev team": "Programista babilado por la programteamo de Dendrite", "Co-ordination for Riot/Web translators": "Kunordigado por tradukistoj de Riot/Web", "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Multaj ejoj jam ekzistas en Matrix, ligitaj al ekzistantaj retoj (Slock, IRC, Gitter, ktp) aŭ sendependaj. Kontrolu la dosierujon!", - "Failed to change password. Is your password correct?": "Malsukcesis ŝanĝi la pasvorton. Ĉu via pasvorto pravas?", + "Failed to change password. Is your password correct?": "Malsukcesis ŝanĝi la pasvorton. Ĉu via pasvorto estas ĝusta?", "You have successfully set a password!": "Vi sukcese agordis pasvorton!", - "You can now return to your account after signing out, and sign in on other devices.": "Vi nun rajtas reiri al via konto post elsaluto, kaj ensaluti per aliaj aparatoj.", + "You can now return to your account after signing out, and sign in on other devices.": "Vi nun rajtas reveni al via konto post adiaŭo, kaj saluti per ĝi kun aliaj aparatoj.", "Continue": "Daŭrigi", "Please set a password!": "Bonvolu agordi pasvorton!", - "This will allow you to return to your account after signing out, and sign in on other devices.": "Tio ĉi permesos vin reiri al via konto post elsaluto, kaj ensaluti per alia aparato.", + "This will allow you to return to your account after signing out, and sign in on other devices.": "Tio ĉi permesos al vi reveni al via konto post adiaŭo, kaj saluti kun alia aparato.", "You have successfully set a password and an email address!": "Vi sukcese agordis pasvorton kaj retpoŝtadreson!", - "Remember, you can always set an email address in user settings if you change your mind.": "Memoru, vi ĉiam povas agordi retpoŝtadreson en via uzanta agordo se vi decidas ŝanĝi ĝin poste.", + "Remember, you can always set an email address in user settings if you change your mind.": "Memoru: vi ĉiam povas agordi retpoŝtadreson en viaj agordoj por uzantoj.", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s je %(osName)s", "Safari and Opera work too.": "Safari kaj Opera ankaŭ funkcias.", - "Favourite": "Plej ŝatata", + "Favourite": "Ŝatata", "Fetching third party location failed": "Venigado de ekstere liverita loko malsukcesis", "Filter room names": "Filtri nomojn de ejoj", "Warning": "Averto", - "Checking for an update...": "Kontrolanta por ĝisdatigo...", - "No update available.": "Ĝisdatigo ne estas disponata." + "Checking for an update...": "Serĉanta ĝisdatigojn…", + "No update available.": "Neniuj ĝisdatigoj haveblas.", + "Unpin Message": "Malfiksi mesaĝon", + "Rooms": "Ĉambroj", + "Show message in desktop notification": "Montradi mesaĝojn en labortablaj sciigoj", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Vi povas uzi proprajn servilajn elektojn por saluti aliajn servilojn de Matrix, per specifo de alia hejmservila URL.
Tio permesas al vi uzi klienton Riot kun jama konto de Matrix en alia hejmservilo.

Vi ankaŭ povas agordi propran identigan servilon, sed vi ne povos inviti uzantojn per retpoŝtadreso, aŭ esti invitata per retpoŝtadreso mem.", + "Appear Offline": "Montriĝi kiel eksterreta", + "Away": "Foresta", + "To return to your account in future you need to set a password": "Por reveni al via konto estonte, vi devas agordi pasvorton", + "Set Password": "Agordi pasvorton", + "Error encountered (%(errorDetail)s).": "Eraro okazis (%(errorDetail)s).", + "Downloading update...": "Elŝutanta ĝisdatigon…", + "Bug report sent": "Cimraporto sendiĝis", + "Thank you!": "Dankon!", + "Back": "Reen", + "Send Custom Event": "Sendi propran okazon", + "You must specify an event type!": "Vi devas specifi tipon de okazo!", + "Event sent!": "Okazo sendiĝis!", + "Failed to send custom event.": "Malsukcesis sendi propran okazon.", + "Event Type": "Tipo de okazo", + "State Key": "Stata ŝlosilo", + "Event Content": "Enhavo de okazo", + "Send Account Data": "Sendi kontajn informojn", + "Filter results": "Filtri rezultojn", + "Explore Room State": "Esplori staton de ĉambro", + "Edit": "Redakti", + "Explore Account Data": "Esplori kontajn datumojn", + "Toolbox": "Ilaro", + "Developer Tools": "Evoluigiloj", + "Pin Message": "Fiksi mesaĝon", + "Please install Chrome or Firefox for the best experience.": "Bonvolu instali ĤromonFajrovulpon por plej bona sperto.", + "Safari and Opera work too.": "Ankaŭ Safario kaj Opero funkcias.", + "Couldn't load home page": "Malsukcesis enlegi hejmpaĝon", + "Register": "Registriĝi", + "Invite to this community": "Inviti al tiu ĉi komunumo", + "Add rooms to this community": "Aldoni ĉambrojn al ĉi tiu komunumo" } From 54a9ccdee759d38b24f3597a8e4fc70a980117c2 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 Dec 2017 23:36:10 +0000 Subject: [PATCH 040/391] throw new quoting behind flags Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/context_menus/MessageContextMenu.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/components/views/context_menus/MessageContextMenu.js b/src/components/views/context_menus/MessageContextMenu.js index dfff031fc..f2a106749 100644 --- a/src/components/views/context_menus/MessageContextMenu.js +++ b/src/components/views/context_menus/MessageContextMenu.js @@ -170,10 +170,17 @@ module.exports = React.createClass({ }, onQuoteClick: function() { - dis.dispatch({ - action: 'quote_event', - event: this.props.mxEvent, - }); + if (SettingsStore.isFeatureEnabled("feature_rich_quoting")) { + dis.dispatch({ + action: 'quote_event', + event: this.props.mxEvent, + }); + } else { + dis.dispatch({ + action: 'quote', + text: this.props.eventTileOps.getInnerText(), + }); + } this.closeMenu(); }, From 4bc99b7f01c7b9488c748b05cb722ccb7217190d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 Dec 2017 23:40:02 +0000 Subject: [PATCH 041/391] move QuotePreview CSS out to own file Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/skins/vector/css/_components.scss | 1 + .../views/rooms/_Autocomplete.scss | 30 ++-------------- .../views/rooms/_QuotePreview.scss | 35 +++++++++++++++++++ 3 files changed, 39 insertions(+), 27 deletions(-) create mode 100644 src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 0dd6a1b1b..016658514 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -70,6 +70,7 @@ @import "./matrix-react-sdk/views/rooms/_RoomTile.scss"; @import "./matrix-react-sdk/views/rooms/_SearchableEntityList.scss"; @import "./matrix-react-sdk/views/rooms/_TopUnreadMessagesBar.scss"; +@import "./matrix-react-sdk/views/rooms/_QuotePreview.scss"; @import "./matrix-react-sdk/views/settings/_DevicesPanel.scss"; @import "./matrix-react-sdk/views/settings/_IntegrationsManager.scss"; @import "./matrix-react-sdk/views/voip/_CallView.scss"; diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss index 8ce81c0de..732ada088 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_Autocomplete.scss @@ -11,20 +11,7 @@ overflow: auto } -.mx_Quoting { - position: absolute; - bottom: 0; - z-index: 1000; - width: 100%; - border: 1px solid $primary-hairline-color; - background: $primary-bg-color; - border-bottom: none; - border-radius: 4px 4px 0 0; - max-height: 50vh; - overflow: auto -} - -.mx_Autocomplete_ProviderSection, .mx_Quoting_section { +.mx_Autocomplete_ProviderSection { border-bottom: 1px solid $primary-hairline-color; } @@ -87,25 +74,13 @@ outline: none; } -.mx_Autocomplete_provider_name, .mx_Quoting_header { +.mx_Autocomplete_provider_name { margin: 12px; color: $primary-fg-color; font-weight: 400; opacity: 0.4; } -.mx_Quoting_title { - float: left; -} - -.mx_Quoting_cancel { - float: right; -} - -.mx_Quoting_clear { - clear: both; -} - /* styling for common completion elements */ .mx_Autocomplete_Completion_subtitle { font-style: italic; @@ -115,3 +90,4 @@ .mx_Autocomplete_Completion_description { color: gray; } + diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss new file mode 100644 index 000000000..f0fb62b8e --- /dev/null +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss @@ -0,0 +1,35 @@ +.mx_QuotePreview { + position: absolute; + bottom: 0; + z-index: 1000; + width: 100%; + border: 1px solid $primary-hairline-color; + background: $primary-bg-color; + border-bottom: none; + border-radius: 4px 4px 0 0; + max-height: 50vh; + overflow: auto +} + +.mx_QuotePreview_section { + border-bottom: 1px solid $primary-hairline-color; +} + +.mx_QuotePreview_header { + margin: 12px; + color: $primary-fg-color; + font-weight: 400; + opacity: 0.4; +} + +.mx_QuotePreview_title { + float: left; +} + +.mx_QuotePreview_cancel { + float: right; +} + +.mx_QuotePreview_clear { + clear: both; +} From 0c7b15db478879c893f5f1cb5ecc1f26561a830c Mon Sep 17 00:00:00 2001 From: Tirifto Date: Tue, 12 Dec 2017 10:47:39 +0000 Subject: [PATCH 042/391] Translated using Weblate (Esperanto) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/ --- src/i18n/strings/eo.json | 88 ++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index afdf93b28..ebb289bc7 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -4,7 +4,7 @@ "All messages (loud)": "Ĉiuj mesaĝoj (laŭte)", "All Rooms": "Ĉiuj ĉambroj", "Cancel": "Nuligi", - "delete the alias.": "Forviŝi la kromnomon.", + "delete the alias.": "forigi la kromnomon.", "Describe your problem here.": "Priskribu vian problemon ĉi tie.", "Direct Chat": "Rekta babilo", "Directory": "Dosierujo", @@ -30,10 +30,10 @@ "Quote": "Citi", "Reject": "Rifuzi", "Resend": "Resendi", - "Room not found": "Babilejo ne trovita", + "Room not found": "Ĉambro ne troviĝis", "Search": "Serĉi", "Search…": "Serĉi…", - "Search for a room": "Serĉi babilejon", + "Search for a room": "Serĉi ĉambron", "Send": "Sendi", "This Room": "Ĉi tiu ĉambro", "Add an email address above to configure email notifications": "Aldonu retadreson supre por agordi retpoŝtajn sciigojn", @@ -45,13 +45,13 @@ "Can't update user notification settings": "Agordoj de sciigoj al uzanto ne ĝisdatigeblas", "Changelog": "Protokolo de ŝanĝoj", "Close": "Fermi", - "Collapse panel": "Kaŝi panelon", + "Collapse panel": "Maletendi panelon", "Collecting app version information": "Kolektanta informon pri versio de la aplikaĵo", "Collecting logs": "Kolektante protokolon", - "Couldn't find a matching Matrix room": "Ne eblis trovi kongruantan ejon Matrix", + "Couldn't find a matching Matrix room": "Malsukcesis trovi kongruan ĉambron en Matrix", "Custom Server Options": "Propraj servilaj elektoj", "customServer_text": "Vi povas uzi opciojn personigitajn de la servilo por ensaluti en aliajn servilojn Matrix specifante alian adreson URL-an de alia servilo Home.
Tio permesas al vi uzi Riot per ekzistanta konto en alia Home servilo.

Vi povas ankaŭ agordi servilon identecan personigita, sed ne eblos inviti uzantojn pere de retpoŝtadreso, aŭ esti invitita pere de retpoŝtadreso vi mem.", - "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Forviŝi la kromnomon de la ejo %(alias)s and forigi %(name)s el la dosierujo?", + "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Ĉu forigi la ĉambran kromnomon %(alias)s kaj forigi %(name)s de la ujo?", "Enable audible notifications in web client": "Ŝalti aŭdeblajn sciigojn en la retkliento", "Enable desktop notifications": "Ŝalti labortablajn sciigojn", "Enable email notifications": "Ŝalti retpoŝtajn sciigojn", @@ -60,13 +60,13 @@ "Enter keywords separated by a comma:": "Entajpu ŝlosilvortojn apartigitajn per komoj:", "Error": "Eraro", "Error saving email notification preferences": "Eraro konservante agordojn pri retpoŝtaj sciigoj", - "Expand panel": "Pli grandigi panelon", + "Expand panel": "Etendi panelon", "Failed to add tag %(tagName)s to room": "Malsukcesis aldoni etikedon %(tagName)s al la ĉambro", "Failed to change settings": "Malsukcesis ŝanĝi la agordojn", "Failed to forget room %(errCode)s": "Malsukcesis forgesi ĉambron %(errCode)s", "Failed to update keywords": "Malsukcesis ĝisdatigi la ŝlosilvortojn", - "Failed to get protocol list from Home Server": "Malsukcesis obteni la liston de protokoloj por la servilo Home", - "Failed to get public room list": "Malsukcesis obteni la liston de publikaj ejoj", + "Failed to get protocol list from Home Server": "Malsukcesis akiri liston de protokoloj el la hejmservilo", + "Failed to get public room list": "Malsukcesis akiri liston de publikaj ĉambroj", "Failed to remove tag %(tagName)s from room": "Malsukcesis forigi etikedon %(tagName)s el la ĉambro", "Failed to send report: ": "Malsukcesis sendi raporton: ", "Failed to set direct chat tag": "Malsukcesis agordi la etikedon de rekta babilo", @@ -82,7 +82,7 @@ "Messages in one-to-one chats": "Mesaĝoj en duopaj babiloj", "Messages sent by bot": "Mesaĝoj senditaj per roboto", "more": "pli", - "No rooms to show": "Neniuj ĉambroj por montro", + "No rooms to show": "Neniuj ĉambroj montreblas", "Noisy": "Brua", "Notification targets": "Celoj de sciigoj", "Notifications": "Sciigoj", @@ -94,24 +94,24 @@ "Operation failed": "Ago malsukcesis", "Permalink": "Konstanta ligilo", "Please describe the bug and/or send logs.": "Bonvolu priskribi la cimon kaj/aŭ sendi protokolojn.", - "Remove %(name)s from the directory?": "Forigi %(name)s el la dosierujo?", + "Remove %(name)s from the directory?": "Ĉu forigi %(name)s de la ujo?", "Remove": "Forigi", - "remove %(name)s from the directory.": "forigi %(name)s el la dosierujo.", - "Remove from Directory": "Forigi el Dosierujo", + "remove %(name)s from the directory.": "forigi %(name)s de la ujo.", + "Remove from Directory": "Forigi de ujo", "Report a bug": "Raporti cimon", "Riot Desktop on %(platformName)s": "Riot Labortablo sur %(platformName)s", - "Riot does not know how to join a room on this network": "Riot ne scias kiel aliĝi al ejo en tiu ĉi reto", + "Riot does not know how to join a room on this network": "Riot ne scias aliĝi al ĉambroj en tiu ĉi reto", "Riot is not supported on mobile web. Install the app?": "Riot ne estas subtenata sur poŝkomputila reto. Ĉu instali la aplikaĵon?", "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uzas multajn specialajn funkciojn, el kiuj kelkaj ne disponeblas aŭ estas eksperimentaj en via nuna foliumilo.", "Send logs": "Sendi protokolojn", "Source URL": "Fonta URL", "Sorry, your browser is not able to run Riot.": "Pardonu, via foliumilo ne kapablas funkciigi klienton Riot.", - "The Home Server may be too old to support third party networks": "La servilo Home povas esti tro malnova por subteni retoj de ekstera liveranto", + "The Home Server may be too old to support third party networks": "La hejmservilo povas esti tro malnova por subteni retojn de eksteraj liverantoj", "There are advanced notifications which are not shown here": "Ekzistas specialaj sciigoj, kiuj ne montriĝas ĉi tie", - "The server may be unavailable or overloaded": "La servilo povas esti maldisponebla aŭ tro ŝarĝita", + "The server may be unavailable or overloaded": "La servilo povas esti nedisponebla aŭ troŝarĝita", "Unable to fetch notification target list": "Malsukcesis akiri la liston de celoj por sciigoj", - "Unable to join network": "Ne eblis kuniĝi kun la reto", - "Unable to look up room ID from server": "Ne eblis trovi la identigon el la servilo", + "Unable to join network": "Malsukcesis konektiĝi al la reto", + "Unable to look up room ID from server": "Ĉambra identigaĵo ne akireblas de la servilo", "Unavailable": "Nedisponebla", "Unhide Preview": "Malkaŝi antaŭrigardon", "Unknown device": "Nekonata aparato", @@ -143,34 +143,34 @@ "OK": "Bone", "You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por ekranvidadi.", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Kun via nuna foliumilo, la aspekto kaj funkciado de la aplikaĵo povas esti tute malĝusta, kaj kelkaj aŭ ĉiu funkcioj eble ne tute funkcios. Se vi tamen volas provi, vi povas daŭrigi, sed vi ricevos nenian subtenon se vi renkontos problemojn!", - "Welcome to Riot.im": "Bonvenon al Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Malcentra, ĉifrita babilejo & kunlaboro povigita de [matrix]", - "Search the room directory": "Serĉi la ejan dosierujon", - "Chat with Riot Bot": "Babili kun la roboto Riot Bot", - "Get started with some tips from Riot Bot!": "Eki per sugesto de la roboto Riot Bot!", + "Welcome to Riot.im": "Bonvenu al Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Malcentra, ĉifrita babilado & kunlaboro povigita de [matrix]", + "Search the room directory": "Serĉi en la ĉambrujo", + "Chat with Riot Bot": "Babilu kun la roboto Riot Bot", + "Get started with some tips from Riot Bot!": "Komencu kun kelkaj sugestoj de la roboto Riot Bot!", "General discussion about Matrix and Riot": "Ĝenerala diskutado pri Matrix kaj Riot", - "Discussion of all things Matrix!": "Diskutado pri ĉio rilate al Matrix!", - "Riot/Web & Desktop chat": "Diskudato labortabla pri Riot/Web", - "Riot/iOS & matrix-ios-sdk chat": "Diskutado pri Riot/iOS & matrix-ios-sdk", - "Riot/Android & matrix-android-sdk chat": "Diskutado pri Riot/Android & matrix-android-sdk", - "Matrix technical discussions": "Teknikaj diskutoj pri Matrix", - "Running Matrix services": "Funkciigado de servoj Matrix", + "Discussion of all things Matrix!": "Diskutado pri ĉio rilata al Matrix!", + "Riot/Web & Desktop chat": "Babilado pri Riot ĉe reto kaj labortablo", + "Riot/iOS & matrix-ios-sdk chat": "Babilado pri Riot ĉe iOS kaj matrix-ios-sdk", + "Riot/Android & matrix-android-sdk chat": "Babilado pri Riot ĉe Android kaj matrix-android-sdk", + "Matrix technical discussions": "Teĥnikaj diskutoj pri Matrix", + "Running Matrix services": "Funkciigado de servoj de Matrix", "Community-run support for Synapse": "Komunuma subtenado de Synapse", "Admin support for Dendrite": "Administra subtenado por Dendrite", - "Announcements about Synapse releases": "Anoncoj pri eldonoj Synapse", + "Announcements about Synapse releases": "Anoncoj pri eldonoj de Synapse", "Support for those using and running matrix-appservice-irc": "Subteno por tiuj, kiuj uzas kaj funkciigas matrix-appservice-irc", - "Building services on Matrix": "Konstruante servojn per Matrix", - "Support for those using the Matrix spec": "Subteno por tiuj, kiuj uzas la specifon Matrix", - "Design and implementation of E2E in Matrix": "Dizajno kaj realigo de E2E en Matrix", - "Implementing VR services with Matrix": "Realigi VR-servojn per Matrix", - "Implementing VoIP services with Matrix": "Realigi VoIP-servojn per Matrix", - "Discussion of the Identity Service API": "Diskutado pri la API de Identiga Servo", - "Support for those using, running and writing other bridges": "Subteno por tiuj, kiuj uzas, funkciigas kaj skribas aliajn pontojn", - "Contributing code to Matrix and Riot": "Kontribui kodon al Matrix kaj Riot", - "Dev chat for the Riot/Web dev team": "Programista babilado por la programteamo de Riot/Web", - "Dev chat for the Dendrite dev team": "Programista babilado por la programteamo de Dendrite", - "Co-ordination for Riot/Web translators": "Kunordigado por tradukistoj de Riot/Web", - "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Multaj ejoj jam ekzistas en Matrix, ligitaj al ekzistantaj retoj (Slock, IRC, Gitter, ktp) aŭ sendependaj. Kontrolu la dosierujon!", + "Building services on Matrix": "Konstruado de servoj sur Matrix", + "Support for those using the Matrix spec": "Subteno por tiuj, kiuj uzas la specifaĵon de Matrix", + "Design and implementation of E2E in Matrix": "Fasonado kaj realigado de ĝiscela ĉifrado en Matrix", + "Implementing VR services with Matrix": "Realigado de VR-servoj en Matrix", + "Implementing VoIP services with Matrix": "Realigado de VoIP-servoj en Matrix", + "Discussion of the Identity Service API": "Diskutado pri API de la identiga servo", + "Support for those using, running and writing other bridges": "Subteno por tiuj, kiuj uzas, funkciigas, aŭ evoluigas aliajn pontojn", + "Contributing code to Matrix and Riot": "Kontribuado de kodo al Matrix kaj Riot", + "Dev chat for the Riot/Web dev team": "Babilado por la programista skipo de Riot ĉe reto", + "Dev chat for the Dendrite dev team": "Babilado por la programista skipo de Dendrite", + "Co-ordination for Riot/Web translators": "Kunordigado por tradukistoj de Riot ĉe reto", + "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Multaj ĉambroj jam ekzistas en Matrix; kaj sendependaj, kaj ligitaj kun jamaj retoj (Slock, IRC, Gitter, ktp.). Rigardu la ĉambrujon!", "Failed to change password. Is your password correct?": "Malsukcesis ŝanĝi la pasvorton. Ĉu via pasvorto estas ĝusta?", "You have successfully set a password!": "Vi sukcese agordis pasvorton!", "You can now return to your account after signing out, and sign in on other devices.": "Vi nun rajtas reveni al via konto post adiaŭo, kaj saluti per ĝi kun aliaj aparatoj.", @@ -182,8 +182,8 @@ "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s je %(osName)s", "Safari and Opera work too.": "Safari kaj Opera ankaŭ funkcias.", "Favourite": "Ŝatata", - "Fetching third party location failed": "Venigado de ekstere liverita loko malsukcesis", - "Filter room names": "Filtri nomojn de ejoj", + "Fetching third party location failed": "Malsukcesis trovi lokon de ekstera liveranto", + "Filter room names": "Filtri nomojn de ĉambroj", "Warning": "Averto", "Checking for an update...": "Serĉanta ĝisdatigojn…", "No update available.": "Neniuj ĝisdatigoj haveblas.", From e746d2331e008ca5bac9d893d0ba2f92c26e531f Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 8 Dec 2017 19:02:48 +0000 Subject: [PATCH 043/391] Translated using Weblate (Russian) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/ --- src/i18n/strings/ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 77fb55ffa..93f543903 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -132,7 +132,7 @@ "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot использует многие передовые возможности браузера, некоторые из которых недоступны или являются экспериментальным в вашем текущем браузере.", "Search": "Поиск", "Search…": "Поиск.…", - "Send": "Отослать", + "Send": "Отправить", "Send logs": "Отправка журналов", "Sorry, your browser is not able to run Riot.": "К сожалению, ваш браузер не способен запустить Riot.", "This Room": "Эта комната", From 091dfd6e54115d046dd5bebefda0ee234d313839 Mon Sep 17 00:00:00 2001 From: Juho Ylikorpi Date: Thu, 14 Dec 2017 18:19:17 +0000 Subject: [PATCH 044/391] Translated using Weblate (Finnish) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/ --- src/i18n/strings/fi.json | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 9b63f9843..5956a3855 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -95,7 +95,7 @@ "Failed to change settings": "Asetusten muuttaminen epäonnistui", "Failed to forget room %(errCode)s": "Huoneen unohtaminen epäonnistui %(errCode)s", "Failed to update keywords": "Avainsanojen päivittäminen epäonnistui", - "Enable audible notifications in web client": "Ota käyttöön äänelliset ilmoitukset webasiakasohjelmassa", + "Enable audible notifications in web client": "Ota käyttöön äänelliset ilmoitukset", "Enable desktop notifications": "Ota käyttöön työpöytäilmoitukset", "Enable email notifications": "Ota käyttöön sähköposti-ilmoitukset", "Enable notifications for this account": "Ota käyttöön ilmoitukset tälle tilille", @@ -205,5 +205,21 @@ "Event sent!": "Tapahtuma lähetetty!", "Event Type": "Tapahtuman tyyppi", "Event Content": "Tapahtuman sisältö", - "State Key": "Tila-avain" + "State Key": "Tila-avain", + "Show message in desktop notification": "Näytä viestit työpöydän ilmoituksissa", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Voit käyttää edistyksellisiä asetuksia kirjautuaksesi muille Matrix palvelimille, määrittelemällä kotipalvelimen URL-osoitteen.
Tämän avulla voit käyttää Riot:ia olemassa olevalla toisen Matrix palvelimen käyttäjätilillä.

Voit myös asettaa valinnaisen identiteettipalvelimen, mutta et voi kutsua käyttäjiä sähköpostiosoitteella tai tulla kutsutuksi.", + "Appear Offline": "Offline-tila", + "Away": "Poissa", + "Send Account Data": "Lähetä tilin tiedot", + "Edit": "Muokkaa", + "Explore Account Data": "Tilitiedot", + "Toolbox": "Työkalut", + "Unpin Message": "Poista viestin kiinnitys", + "Pin Message": "Kiinnitä viesti", + "Please install Chrome or Firefox for the best experience.": "Asenna Chrome tai Firefox parhaan käyttökokemuksen saavuttamiseksi.", + "Safari and Opera work too.": "Safari ja Opera ovat myös tuettuja.", + "Register": "Rekisteröidy", + "Rooms": "Huoneet", + "Invite to this community": "Kutsu tähän yhteisöön", + "Add rooms to this community": "Lisää huoneita yhteisöön" } From 9c38794ad588474e8b3201ae1a985dca5551a536 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 15 Dec 2017 18:37:44 +0000 Subject: [PATCH 045/391] Style datesep inside Quote Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/skins/vector/css/_components.scss | 1 + .../views/elements/_Quote.scss | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 016658514..c2725aeb9 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -39,6 +39,7 @@ @import "./matrix-react-sdk/views/elements/_RichText.scss"; @import "./matrix-react-sdk/views/elements/_RoleButton.scss"; @import "./matrix-react-sdk/views/elements/_ToolTipButton.scss"; +@import "./matrix-react-sdk/views/elements/_Quote.scss"; @import "./matrix-react-sdk/views/groups/_GroupPublicityToggle.scss"; @import "./matrix-react-sdk/views/groups/_GroupRoomList.scss"; @import "./matrix-react-sdk/views/groups/_GroupUserSettings.scss"; diff --git a/src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss b/src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss new file mode 100644 index 000000000..2ccde389d --- /dev/null +++ b/src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss @@ -0,0 +1,22 @@ +/* +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. +*/ + +.mx_Quote .mx_DateSeparator { + font-size: 1em !important; + margin-bottom: 0; + padding-bottom: 1px; + bottom: -5px; +} From cc1ee16dec47e4b69e4e80aefabcaf04f8a3ab77 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sat, 16 Dec 2017 14:38:15 +0000 Subject: [PATCH 046/391] Translated using Weblate (Basque) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/ --- src/i18n/strings/eu.json | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index 140f34989..2d7a80926 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -193,5 +193,32 @@ "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Arazoak diagnostikatzeko, bezero honen egunkariak bidaliko dira arazte-txosten honekin. Testua besterik ez baduzu bidali nahi, desmarkatu:", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Zure oraingo nabigatzailearekin aplikazioaren itxura eta portaera guztiz okerra izan daiteke, eta funtzio batzuk ez dira ibiliko. Hala ere aurrera jarraitu dezakezu saiatu nahi baduzu, baina zure erantzukizunaren menpe geratzen dira aurkitu ditzakezun arazoak!", "Bug report sent": "Arazte-txostena bidali da", - "Thank you!": "Eskerrik asko!" + "Thank you!": "Eskerrik asko!", + "Show message in desktop notification": "Erakutsi mezua mahaigaineko jakinarazpenean", + "Appear Offline": "Agertu deskonektatuta", + "Away": "Teklatutik at", + "Back": "Atzera", + "Send Custom Event": "Bidali gertaera pertsonalizatua", + "You must specify an event type!": "Gertaera mota bat zehaztu behar duzu!", + "Event sent!": "Gertaera bidalita!", + "Failed to send custom event.": "Huts egin du gertaera pertsonalizatua bidaltzean.", + "Event Type": "Gertaera mota", + "State Key": "Egoera gakoa", + "Event Content": "Gertaeraren edukia", + "Send Account Data": "Bidali kontuaren datuak", + "Filter results": "Iragazi emaitzak", + "Explore Room State": "Miatu gelaren egoera", + "Edit": "Editatu", + "Explore Account Data": "Miatu kantuaren datuak", + "Toolbox": "Tresna-kutxa", + "Developer Tools": "Garatzaile-tresnak", + "Unpin Message": "Desfinkatu mezua", + "Pin Message": "Finkatu mezua", + "Please install Chrome or Firefox for the best experience.": "Instalatu Chrome edo Firefox esperientzia onena izateko.", + "Safari and Opera work too.": "Safari eta Opera badabiltza ere.", + "Register": "Eman izena", + "Rooms": "Gelak", + "Invite to this community": "Gonbidatu komunitate honetara", + "Add rooms to this community": "Gehitu gelak komunitate honetara", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Zerbitzari pertsonalizatuaren aukerak erabili ditzakezu beste Matrix zerbitzarietan saioa hasteko, han beste hasiera-zerbitzari baten URLa sartuz.
Horrela Riot aurretik duzun kontu batekin erabili dezakezu beste hasiera-zerbitzari batean.

Identitate-zerbitzari pertsonalizatu bat ezarri dezakezu ere, baina orduan ezin izango dituzu erabiltzaileak e-mail helbidea erabiliz gonbidatu, edo ezin izan izango zaituzte zu e-mail helbidea erabiliz gonbidatu." } From 304d281ed2ae4801cba26441ee948f30ab2b791c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sat, 16 Dec 2017 19:01:56 +0000 Subject: [PATCH 047/391] change reply to be its own thing Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/context_menus/MessageContextMenu.js | 38 ++++++++++++------- src/i18n/strings/en_EN.json | 3 +- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/components/views/context_menus/MessageContextMenu.js b/src/components/views/context_menus/MessageContextMenu.js index f2a106749..84bebc134 100644 --- a/src/components/views/context_menus/MessageContextMenu.js +++ b/src/components/views/context_menus/MessageContextMenu.js @@ -25,6 +25,7 @@ import { _t } from 'matrix-react-sdk/lib/languageHandler'; const Modal = require('matrix-react-sdk/lib/Modal'); const Resend = require("matrix-react-sdk/lib/Resend"); import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore"; +import {makeEventPermalink} from 'matrix-react-sdk/lib/matrix-to'; module.exports = React.createClass({ displayName: 'MessageContextMenu', @@ -170,17 +171,18 @@ module.exports = React.createClass({ }, onQuoteClick: function() { - if (SettingsStore.isFeatureEnabled("feature_rich_quoting")) { - dis.dispatch({ - action: 'quote_event', - event: this.props.mxEvent, - }); - } else { - dis.dispatch({ - action: 'quote', - text: this.props.eventTileOps.getInnerText(), - }); - } + dis.dispatch({ + action: 'quote', + text: this.props.eventTileOps.getInnerText(), + }); + this.closeMenu(); + }, + + onReplyClick: function() { + dis.dispatch({ + action: 'quote_event', + event: this.props.mxEvent, + }); this.closeMenu(); }, @@ -197,6 +199,7 @@ module.exports = React.createClass({ let permalinkButton; let externalURLButton; let quoteButton; + let replyButton; if (eventStatus === 'not_sent') { resendButton = ( @@ -268,8 +271,8 @@ module.exports = React.createClass({ // XXX: if we use room ID, we should also include a server where the event can be found (other than in the domain of the event ID) permalinkButton = ( ); @@ -279,6 +282,14 @@ module.exports = React.createClass({ { _t('Quote') }
); + + if (SettingsStore.isFeatureEnabled("feature_rich_quoting")) { + replyButton = ( +
+ { _t('Reply') } +
+ ); + } } // Bridges can provide a 'external_url' to link back to the source. @@ -304,6 +315,7 @@ module.exports = React.createClass({ {unhidePreviewButton} {permalinkButton} {quoteButton} + {replyButton} {externalURLButton}
); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index c1857e314..cdca2570c 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -217,5 +217,6 @@ "Contributing code to Matrix and Riot": "Contributing code to Matrix and Riot", "Dev chat for the Riot/Web dev team": "Dev chat for the Riot/Web dev team", "Dev chat for the Dendrite dev team": "Dev chat for the Dendrite dev team", - "Co-ordination for Riot/Web translators": "Co-ordination for Riot/Web translators" + "Co-ordination for Riot/Web translators": "Co-ordination for Riot/Web translators", + "Reply": "Reply" } From 2961e1949ff3d0208983465fccb9eb29683cdf3c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sat, 16 Dec 2017 19:05:18 +0000 Subject: [PATCH 048/391] delint Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/context_menus/MessageContextMenu.js | 72 +++++++++---------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/src/components/views/context_menus/MessageContextMenu.js b/src/components/views/context_menus/MessageContextMenu.js index 84bebc134..62bffa762 100644 --- a/src/components/views/context_menus/MessageContextMenu.js +++ b/src/components/views/context_menus/MessageContextMenu.js @@ -16,14 +16,14 @@ limitations under the License. 'use strict'; -const React = require('react'); +import React from 'react'; -const MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg'); -const dis = require('matrix-react-sdk/lib/dispatcher'); -const sdk = require('matrix-react-sdk'); +import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; +import dis from 'matrix-react-sdk/lib/dispatcher'; +import sdk from 'matrix-react-sdk'; import { _t } from 'matrix-react-sdk/lib/languageHandler'; -const Modal = require('matrix-react-sdk/lib/Modal'); -const Resend = require("matrix-react-sdk/lib/Resend"); +import Modal from 'matrix-react-sdk/lib/Modal'; +import Resend from "matrix-react-sdk/lib/Resend"; import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore"; import {makeEventPermalink} from 'matrix-react-sdk/lib/matrix-to'; @@ -108,15 +108,14 @@ module.exports = React.createClass({ onFinished: (proceed) => { if (!proceed) return; - MatrixClientPeg.get().redactEvent( - this.props.mxEvent.getRoomId(), this.props.mxEvent.getId() - ).catch(function(e) { + const cli = MatrixClientPeg.get(); + cli.redactEvent(this.props.mxEvent.getRoomId(), this.props.mxEvent.getId()).catch(function(e) { const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); // display error message stating you couldn't delete this. const code = e.errcode || e.statusCode; Modal.createTrackedDialog('You cannot delete this message', '', ErrorDialog, { title: _t('Error'), - description: _t('You cannot delete this message. (%(code)s)', {code: code}) + description: _t('You cannot delete this message. (%(code)s)', {code}), }); }).done(); }, @@ -139,12 +138,12 @@ module.exports = React.createClass({ onPinClick: function() { MatrixClientPeg.get().getStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', '') - .catch(e => { + .catch((e) => { // Intercept the Event Not Found error and fall through the promise chain with no event. if (e.errcode === "M_NOT_FOUND") return null; throw e; }) - .then(event => { + .then((event) => { const eventIds = (event ? event.pinned : []) || []; if (!eventIds.includes(this.props.mxEvent.getId())) { // Not pinned - add @@ -154,7 +153,8 @@ module.exports = React.createClass({ eventIds.splice(eventIds.indexOf(this.props.mxEvent.getId()), 1); } - MatrixClientPeg.get().sendStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', {pinned: eventIds}, ''); + const cli = MatrixClientPeg.get(); + cli.sendStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', {pinned: eventIds}, ''); }); this.closeMenu(); }, @@ -193,10 +193,8 @@ module.exports = React.createClass({ let cancelButton; let forwardButton; let pinButton; - let viewSourceButton; let viewClearSourceButton; let unhidePreviewButton; - let permalinkButton; let externalURLButton; let quoteButton; let replyButton; @@ -237,14 +235,14 @@ module.exports = React.createClass({ if (this.state.canPin) { pinButton = (
- {this._isPinned() ? _t('Unpin Message') : _t('Pin Message')} + { this._isPinned() ? _t('Unpin Message') : _t('Pin Message') }
); } } } - viewSourceButton = ( + const viewSourceButton = (
{ _t('View Source') }
@@ -269,7 +267,7 @@ module.exports = React.createClass({ } // XXX: if we use room ID, we should also include a server where the event can be found (other than in the domain of the event ID) - permalinkButton = ( + const permalinkButton = (
{ _t('Permalink') } @@ -293,30 +291,30 @@ module.exports = React.createClass({ } // Bridges can provide a 'external_url' to link back to the source. - if( typeof(this.props.mxEvent.event.content.external_url) === "string") { - externalURLButton = ( - - ); + if (typeof(this.props.mxEvent.event.content.external_url) === "string") { + externalURLButton = ( + + ); } return (
- {resendButton} - {redactButton} - {cancelButton} - {forwardButton} - {pinButton} - {viewSourceButton} - {viewClearSourceButton} - {unhidePreviewButton} - {permalinkButton} - {quoteButton} - {replyButton} - {externalURLButton} + { resendButton } + { redactButton } + { cancelButton } + { forwardButton } + { pinButton } + { viewSourceButton } + { viewClearSourceButton } + { unhidePreviewButton } + { permalinkButton } + { quoteButton } + { replyButton } + { externalURLButton }
); }, From 0ea8efcaf4bb729c0aadbc9bf78f797a6ec81107 Mon Sep 17 00:00:00 2001 From: Tirifto Date: Sat, 16 Dec 2017 14:23:00 +0000 Subject: [PATCH 049/391] Translated using Weblate (Esperanto) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/ --- src/i18n/strings/eo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index ebb289bc7..e32b699ff 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -21,7 +21,7 @@ "Low Priority": "Malalta prioritato", "Messages containing my display name": "Mesaĝoj enhavantaj mian vidigan nomon", "Messages containing keywords": "Mesaĝoj enhavantaj ŝlosilovortojn", - "Messages containing my user name": "Mesaĝoj enhavantaj mian uzantnomon", + "Messages containing my user name": "Mesaĝoj enhavantaj mian salutnomon", "Messages in group chats": "Mesaĝoj en grupaj babiloj", "Mute": "Silentigi", "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bonvolu priskribi la cimon. Kion vi faris? Kion vi atendis? Kio fakte okazis?", From dc3f7f3cd16a39eead2410168657afe007f14286 Mon Sep 17 00:00:00 2001 From: Juho Ylikorpi Date: Sun, 17 Dec 2017 09:41:27 +0000 Subject: [PATCH 050/391] Translated using Weblate (Finnish) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/ --- src/i18n/strings/fi.json | 62 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 5956a3855..954d67e46 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -27,7 +27,7 @@ "Files": "Tiedostot", "Forget": "Unohda", "I understand the risks and wish to continue": "Ymmärrän riskit ja haluan jatkaa", - "Invite to this room": "Kutsu tähän huoneeseen", + "Invite to this room": "Kutsu käyttäjiä", "Keywords": "Avainsanat", "Leave": "Poistu", "Login": "Kirjaudu sisään", @@ -63,7 +63,7 @@ "Unnamed room": "Nimeämätön huone", "Update": "Päivitä", "View Source": "Näytä lähde", - "Waiting for response from server": "Odotetaan palvelimen vastausta", + "Waiting for response from server": "Odotetaan vastausta palvelimelta", "Monday": "Maanantai", "Tuesday": "Tiistai", "Wednesday": "Keskiviikko", @@ -72,20 +72,20 @@ "Saturday": "Lauantai", "Today": "Tänään", "Yesterday": "Eilen", - "OK": "Selvä", + "OK": "OK", "Warning": "Varoitus", "Checking for an update...": "Tarkistetaan päivityksen saatavuutta...", "No update available.": "Ei päivityksiä saatavilla.", "Downloading update...": "Ladataan päivitystä...", - "Welcome to Riot.im": "Tervetuloa Riot.im:ään", - "Search the room directory": "Hae huonehakemistosta", + "Welcome to Riot.im": "Tervetuloa Riot.im -palveluun", + "Search the room directory": "Hae hakemistosta", "Continue": "Jatka", "Set Password": "Aseta salasana", "Safari and Opera work too.": "Safari ja Opera toimivat myös.", "Collapse panel": "Piilota paneeli", - "Collecting app version information": "Kerätään sovelluksen versiotietoja", - "Collecting logs": "Kerätään lokitietoja", - "Custom Server Options": "Omat palvelinasetukset", + "Collecting app version information": "Haetaan versiotietoja", + "Collecting logs": "Haetaan lokitietoja", + "Custom Server Options": "Palvelinasetukset", "customServer_text": "Voit käyttää palvelinasetuksia muille Matrix-palvelimille kirjautumiseen asettamalla oman kotipalvelinosoitteen.
Näin voit käyttää Riotia toisella kotipalvelimella sijaitsevan Matrix-käyttäjän kanssa.

Voit myös asettaa oman tunnistautumispalvelimen, mutta sinua ei voi kutsua etkä voi kutsua muita sähköpostiosoitteella.", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Poista huonetunnus %(alias)s ja poista %(name)s hakemistosta?", "Enable them now": "Ota käyttöön nyt", @@ -106,15 +106,15 @@ "Failed to send report: ": "Raportin lähettäminen epäonnistui: ", "Failed to set direct chat tag": "Suoran viestittelyn tagin asettaminen epäonnistui", "Fetching third party location failed": "Kolmannen osapuolen paikan haku epäonnistui", - "Filter room names": "Suodata huoneiden nimet", + "Filter room names": "Suodata", "Forward Message": "Edelleenlähetä viesti", "Guests can join": "Vieraat voivat liittyä", "Hide panel": "Piilota paneeli", "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Diagnoosin helpottamiseksi lokitietoja tältä laitteelta lähetetään tämän bugiraportin mukana. Poista ruksi jos haluat lätettää vain ylläolevan tekstin:", "Loading bug report module": "Ladataan bugiraportointimoduuli", - "Messages containing my display name": "Näyttönimeni sisältävät viestit", + "Messages containing my display name": "Viestit joissa mainitaan nimimerkkini", "Messages containing keywords": "Avainsanoja sisältävät viestit", - "Messages containing my user name": "Käyttäjänimeni sisältävät viestit", + "Messages containing my user name": "Viestit joissa mainitaan käyttäjänimeni", "Messages in group chats": "Viestit ryhmäkeskusteluissa", "Messages in one-to-one chats": "Viestit henkilökohtaisissa keskusteluissa", "Messages sent by bot": "Bottien lähettämät viestit", @@ -127,7 +127,7 @@ "Remove %(name)s from the directory?": "Poista %(name)s hakemistosta?", "remove %(name)s from the directory.": "poista %(name)s hakemistosta.", "Remove from Directory": "Poista hakemistosta", - "Riot Desktop on %(platformName)s": "Riot Desktop järjestelmällä %(platformName)s", + "Riot Desktop on %(platformName)s": "Riot Desktop %(platformName)s", "Riot does not know how to join a room on this network": "Riot ei tiedä miten liittya huoneeseen tässä verkossa", "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot käyttää monia selainominaisuuksia, joista osa selaimesi ei tue tai ne ovat kokeellisia.", "Sorry, your browser is not able to run Riot.": "Valitettavasti Riot ei toimi selaimessasi.", @@ -137,7 +137,7 @@ "Unable to look up room ID from server": "Huone-ID:n haku palvelimelta epäonnistui", "Unhide Preview": "Näytä ennakkokatselu", "Uploaded on %(date)s by %(user)s": "Ladattu %(date)s käyttäjän %(user)s toimesta", - "Uploading report": "Ladataan raportti", + "Uploading report": "Ladataan raporttia", "View Decrypted Source": "Näytä purettu lähdekoodi", "What's New": "Mikä on uutta", "What's new?": "Mikä on uutta?", @@ -147,23 +147,23 @@ "You cannot delete this message. (%(code)s)": "Et voi poistaa tätä viestiä. (%(code)s)", "You are not receiving desktop notifications": "Et vastaanota työpöytäilmoituksia", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Olet saattanut muuttaa niitä toisessa asiakasohjelmassa kuin Riot. Et voi muuttaa niitä Riotissa mutta ne pätevät kuitenkin", - "You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS:ää voidaaksesi soittaa ruudunjakopuhelun.", + "You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS -yhteyttä, jotta voit jakaa ruudun.", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Nykyisellä selaimellasi ohjelman ulkonäkö voi olla aivan virheellinen, ja jotkut ominaisuudet eivät saata toimia. Voit jatkaa jos haluat kokeilla mutta et voi odottaa saavasi apua mahdollisesti ilmeneviin ongelmiin!", - "Chat with Riot Bot": "Keskustele Riot-botin kanssa", - "Get started with some tips from Riot Bot!": "Pääse käyntiin Riot-botin vinkkien avulla!", - "General discussion about Matrix and Riot": "Yleistä Matrix- ja Riot-keskustelua", + "Chat with Riot Bot": "Keskustele Riot Botin kanssa", + "Get started with some tips from Riot Bot!": "Aloita Riot Botin vinkkien avulla!", + "General discussion about Matrix and Riot": "Matrix- ja Riot keskustelut", "Discussion of all things Matrix!": "Keskustelu kaikesta Matrixiin liittyvästä!", "Riot/Web & Desktop chat": "Riot/Web & Työpöytä-keskustelu", "Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk -keskustelu", "Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk -keskustelu", - "Matrix technical discussions": "Matrix tekniset keskustelut", + "Matrix technical discussions": "Tekniset keskustelut", "Running Matrix services": "Matrix-palvelujen ylläpito", "Community-run support for Synapse": "Yhteisön tarjoama Synapse-tuki", "Admin support for Dendrite": "Dendrite ylläpitotuki", "Announcements about Synapse releases": "Ilmoitukset uusista Synapse-julkaisuista", "Error encountered (%(errorDetail)s).": "Virhe: %(errorDetail)s.", "Support for those using and running matrix-appservice-irc": "Tuki niille jotka käyttävät ja ajavat matrix-appservice-irc", - "Building services on Matrix": "Palvelujen rakentaminen Matrixin avulla", + "Building services on Matrix": "Palveluiden rakentaminen Matrixin avulla", "Support for those using the Matrix spec": "Tuki Matrix-spesifikaation käyttäjille", "Implementing VR services with Matrix": "VR-palvelujen implementointi Matrixin avulla", "Implementing VoIP services with Matrix": "VoIP-palvelujen implementointi Matrixin avulla", @@ -172,7 +172,7 @@ "Dev chat for the Riot/Web dev team": "Kehittäjäkeskustelu Riot/Web kehitystiimille", "Dev chat for the Dendrite dev team": "Kehittäjäkeskustelu Dendrite kehitystiimille", "Co-ordination for Riot/Web translators": "Riot/Web kääntäjien koordinointi", - "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrixissa on jo olemassa monia huoneita jotka on linkitetty olemassa oleviin verkkoihin (Slack, IRC, Gitter, jne) tai itsenäisiin. Tutustu hakemistoon!", + "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrixissa on olemassa monia huoneita, jotka on linkitetty olemassa oleviin verkkoihin (Slack, IRC, Gitter yms.). Tutustu hakemistoon!", "Failed to change password. Is your password correct?": "Salasanan muuttaminen epäonnistui. Onko salasanasi oikein?", "You have successfully set a password!": "Olet onnistuneesti asettanut salasanan!", "You can now return to your account after signing out, and sign in on other devices.": "Voit nyt palata tilillesi kirjauduttua ulos, sekä kirjautua muilla laitteilla.", @@ -186,27 +186,27 @@ "Failed to set Direct Message status of room": "Huoneen suoran viestittelyn tilan asettaminen epäonnistui", "(HTTP status %(httpStatus)s)": "(HTTP tila %(httpStatus)s)", "Notify for all other messages/rooms": "Ilmoita kaikista muista viesteistä/huoneista", - "powered by Matrix": "Matrix-pohjainen", - "Riot is not supported on mobile web. Install the app?": "Riot ei tue mobiiliselaimia. Asenna sovellus?", + "powered by Matrix": "Matrix", + "Riot is not supported on mobile web. Install the app?": "Riot ei tue laitettasi. Asenna mobiilisovellus?", "Thank you!": "Kiitos!", "Design and implementation of E2E in Matrix": "Matrix päästä-päähän salauksen suunnittelu ja implementointi", - "Contributing code to Matrix and Riot": "Osallistu Matrix ja Riot kehitykseen", - "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s selaimella %(browserName)s käyttöjärjestelmällä %(osName)s", + "Contributing code to Matrix and Riot": "Osallistu kehitystyöhön", + "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s %(osName)s", "There are advanced notifications which are not shown here": "On kehittyneitä ilmoituksia joita ei näytetä tässä", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Matrix-pohjainen hajautettu, salattu viestittely ja yhteistyö", - "Back": "Palaa", - "Developer Tools": "Kehitystyökalut", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Salattua ja vikasietoista viestintää Matrix -teknologialla", + "Back": "Takaisin", + "Developer Tools": "Kehitystila", "Failed to send custom event.": "Kustomoidun tapahtuman lähettäminen epäonnistui.", - "Filter results": "Suodata tuloksia", + "Filter results": "Suodata", "Send Custom Event": "Lähetä kustomoitu tapahtuma", "Send Custom State Event": "Lähetä kustomoitu tilatapahtuma", - "Explore Room State": "Tutki huoneen tilaa", + "Explore Room State": "Huoneen tila", "You must specify an event type!": "Sinun on määritettävä tapahtuman tyyppi!", "Event sent!": "Tapahtuma lähetetty!", "Event Type": "Tapahtuman tyyppi", "Event Content": "Tapahtuman sisältö", "State Key": "Tila-avain", - "Show message in desktop notification": "Näytä viestit työpöydän ilmoituksissa", + "Show message in desktop notification": "Näytä viestit ilmoituskeskuksessa", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Voit käyttää edistyksellisiä asetuksia kirjautuaksesi muille Matrix palvelimille, määrittelemällä kotipalvelimen URL-osoitteen.
Tämän avulla voit käyttää Riot:ia olemassa olevalla toisen Matrix palvelimen käyttäjätilillä.

Voit myös asettaa valinnaisen identiteettipalvelimen, mutta et voi kutsua käyttäjiä sähköpostiosoitteella tai tulla kutsutuksi.", "Appear Offline": "Offline-tila", "Away": "Poissa", @@ -220,6 +220,6 @@ "Safari and Opera work too.": "Safari ja Opera ovat myös tuettuja.", "Register": "Rekisteröidy", "Rooms": "Huoneet", - "Invite to this community": "Kutsu tähän yhteisöön", + "Invite to this community": "Kutsu käyttäjiä", "Add rooms to this community": "Lisää huoneita yhteisöön" } From b16dcbc057bb726c9ce09fed777362e7a131e0aa Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 18 Dec 2017 19:28:19 +0000 Subject: [PATCH 051/391] styling for on-demand quote nest traversal Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../vector/css/matrix-react-sdk/views/elements/_Quote.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss b/src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss index 2ccde389d..0af555b5a 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/elements/_Quote.scss @@ -20,3 +20,7 @@ limitations under the License. padding-bottom: 1px; bottom: -5px; } + +.mx_Quote_show { + cursor: pointer; +} From 67746b021a7d84b9656209012fb71667b7943feb Mon Sep 17 00:00:00 2001 From: IMIN <2reeseenmin@gmail.com> Date: Mon, 18 Dec 2017 21:34:17 +0000 Subject: [PATCH 052/391] Translated using Weblate (Korean) Currently translated at 90.8% (199 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/ --- src/i18n/strings/ko.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ko.json b/src/i18n/strings/ko.json index 62bea2ebd..a98c7c2f7 100644 --- a/src/i18n/strings/ko.json +++ b/src/i18n/strings/ko.json @@ -191,5 +191,14 @@ "Error encountered (%(errorDetail)s).": "오류가 일어났어요 (%(errorDetail)s).", "No update available.": "업데이트가 없어요.", "Downloading update...": "업데이트를 받는 중...", - "Couldn't load home page": "중심 화면을 불러올 수 없어요" + "Couldn't load home page": "중심 화면을 불러올 수 없어요", + "Show message in desktop notification": "컴퓨터 알림에서 내용 보이기", + "Appear Offline": "미접속으로 표시하기", + "Bug report sent": "오류 보고서를 보냈어요", + "Thank you!": "감사합니다!", + "Back": "돌아가기", + "Edit": "수정하기", + "Toolbox": "도구상자", + "Developer Tools": "개발자 도구", + "Register": "등록" } From 17e0d3f8a0fc3bf0464fb3e723f72de8190de6e7 Mon Sep 17 00:00:00 2001 From: Xose M Date: Wed, 20 Dec 2017 06:27:41 +0000 Subject: [PATCH 053/391] Translated using Weblate (Galician) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/ --- src/i18n/strings/gl.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index 3fec05e9f..0bf86d935 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -217,5 +217,9 @@ "Register": "Rexistrar", "Rooms": "Salas", "Invite to this community": "Convidar a esta comunidade", - "Add rooms to this community": "Engadir salas a esta comunidade" + "Add rooms to this community": "Engadir salas a esta comunidade", + "Appear Offline": "Aparecer fora de liña", + "Away": "Fóra", + "Please install Chrome or Firefox for the best experience.": "Por favor instale Chrome ou Firefox para a mellor experiencia de usuaria.", + "Safari and Opera work too.": "Safari e Opera tamén funcionan." } From 8a7477f50cba19d98d901007b87561a52a181382 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 20 Dec 2017 20:40:41 +0000 Subject: [PATCH 054/391] Highlight ViewSource and Devtools ViewSource Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/ViewSource.js | 15 +++--- .../views/dialogs/DevtoolsDialog.js | 9 +++- src/components/views/elements/Highlight.js | 51 +++++++++++++++++++ src/skins/vector/css/_components.scss | 1 + .../vector-web/views/elements/_Highlight.scss | 21 ++++++++ 5 files changed, 89 insertions(+), 8 deletions(-) create mode 100644 src/components/views/elements/Highlight.js create mode 100644 src/skins/vector/css/vector-web/views/elements/_Highlight.scss diff --git a/src/components/structures/ViewSource.js b/src/components/structures/ViewSource.js index a0e198cec..8f60ae886 100644 --- a/src/components/structures/ViewSource.js +++ b/src/components/structures/ViewSource.js @@ -16,14 +16,17 @@ limitations under the License. 'use strict'; -var React = require('react'); +import React from 'react'; +import PropTypes from 'prop-types'; +import Highlight from '../views/elements/Highlight'; + module.exports = React.createClass({ displayName: 'ViewSource', propTypes: { - content: React.PropTypes.object.isRequired, - onFinished: React.PropTypes.func.isRequired, + content: PropTypes.object.isRequired, + onFinished: PropTypes.func.isRequired, }, componentDidMount: function() { @@ -45,9 +48,9 @@ module.exports = React.createClass({ render: function() { return (
-
-                    {JSON.stringify(this.props.content, null, 2)}
-                
+ + { JSON.stringify(this.props.content, null, 2) } +
); } diff --git a/src/components/views/dialogs/DevtoolsDialog.js b/src/components/views/dialogs/DevtoolsDialog.js index 5d9168f5c..1b2af377c 100644 --- a/src/components/views/dialogs/DevtoolsDialog.js +++ b/src/components/views/dialogs/DevtoolsDialog.js @@ -17,6 +17,7 @@ limitations under the License. import React from 'react'; import PropTypes from 'prop-types'; import sdk from 'matrix-react-sdk'; +import Highlight from '../elements/Highlight'; import { _t } from 'matrix-react-sdk/lib/languageHandler'; import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; @@ -343,7 +344,9 @@ class RoomStateExplorer extends DevtoolsComponent { return
-
{ JSON.stringify(this.state.event.event, null, 2) }
+ + { JSON.stringify(this.state.event.event, null, 2) } +
@@ -459,7 +462,9 @@ class AccountDataExplorer extends DevtoolsComponent { return
-
{ JSON.stringify(this.state.event.event, null, 2) }
+ + { JSON.stringify(this.state.event.event, null, 2) } +
diff --git a/src/components/views/elements/Highlight.js b/src/components/views/elements/Highlight.js new file mode 100644 index 000000000..1251264e3 --- /dev/null +++ b/src/components/views/elements/Highlight.js @@ -0,0 +1,51 @@ +/* +Copyright 2017 Michael Telatynski <7t3chguy@gmail.com> + +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. +*/ + +'use strict'; + +import React from 'react'; +import PropTypes from 'prop-types'; +import {highlightBlock} from 'highlight.js'; + +export default class Highlight extends React.Component { + static propTypes = { + className: PropTypes.string, + children: PropTypes.node, + }; + + constructor(props, context) { + super(props, context); + + this._ref = this._ref.bind(this); + } + + componentDidUpdate() { + if (this._el) highlightBlock(this._el); + } + + _ref(el) { + this._el = el; + this.componentDidUpdate(); + } + + render() { + const { className, children } = this.props; + + return
+            { children }
+        
; + } +} diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 0dd6a1b1b..c01a7dcf8 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -91,6 +91,7 @@ @import "./vector-web/views/dialogs/_SetEmailDialog.scss"; @import "./vector-web/views/dialogs/_SetPasswordDialog.scss"; @import "./vector-web/views/directory/_NetworkDropdown.scss"; +@import "./vector-web/views/elements/_Highlight.scss"; @import "./vector-web/views/elements/_ImageView.scss"; @import "./vector-web/views/elements/_InlineSpinner.scss"; @import "./vector-web/views/elements/_Spinner.scss"; diff --git a/src/skins/vector/css/vector-web/views/elements/_Highlight.scss b/src/skins/vector/css/vector-web/views/elements/_Highlight.scss new file mode 100644 index 000000000..9b35844ff --- /dev/null +++ b/src/skins/vector/css/vector-web/views/elements/_Highlight.scss @@ -0,0 +1,21 @@ +/* +Copyright 2017 Michael Telatynski <7t3chguy@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +.mx_Highlight { + /* inhibit hljs styling */ + background: none !important; + color: $light-fg-color !important; +} From 1f26a17b29a8b61fd8b7df0dc0fbfc974627cfa5 Mon Sep 17 00:00:00 2001 From: Joachim Nielandt Date: Tue, 19 Dec 2017 19:16:34 +0000 Subject: [PATCH 055/391] Translated using Weblate (Dutch) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/ --- src/i18n/strings/nl.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 558f9c681..177336c7a 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -205,5 +205,21 @@ "Event sent!": "Event verstuurd!", "Event Type": "Event-type", "Event Content": "Event-inhoud", - "State Key": "Toestandssleutel" + "State Key": "Toestandssleutel", + "Show message in desktop notification": "Toon boodschap in bureaublad popup", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Je kan de custom server opties gebruiken om op andere Matrix server in te loggen door een andere Home server URL op te geven.
Dit laat je toe om Riot te gebruiken met een bestaande Matrix account op een andere home server.

Je kan ook een custom identiteits-server opzetten maar dan kan je geen gebruikers uitnodigen via hun email adres, of zelf uitgenodigd worden via je email adres.", + "Appear Offline": "Lijk offline", + "Away": "Afwezig", + "Send Account Data": "Stuur account informatie", + "Edit": "Aanpassen", + "Explore Account Data": "Bekijk account informatie", + "Unpin Message": "Maak pin los", + "Pin Message": "Bericht vastpinnen", + "Please install Chrome or Firefox for the best experience.": "Installeer alstublieft Chrome of Firefox voor de beste gebruikerservaring.", + "Safari and Opera work too.": "Safari en Opera werken ook.", + "Register": "Registreer", + "Rooms": "Kamers", + "Invite to this community": "Nodig uit in deze community", + "Add rooms to this community": "Voeg kamers toe aan deze community", + "Toolbox": "Eigenschappen" } From ec5c960ebb15ffebf6540bd837076efe25e5d365 Mon Sep 17 00:00:00 2001 From: Nathan van Beelen Date: Fri, 22 Dec 2017 08:10:53 +0000 Subject: [PATCH 056/391] Translated using Weblate (Dutch) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/ --- src/i18n/strings/nl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 177336c7a..a415d3e10 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -57,7 +57,7 @@ "No rooms to show": "Geen kamers om te laten zien", "Noisy": "Luidruchtig", "Notification targets": "Meldingsdoelen", - "Notifications": "Meldingen", + "Notifications": "Notificaties", "Notifications on the following keywords follow rules which can’t be displayed here:": "Meldingen op de volgende trefwoorden volgen regels die hier niet kunnen worden getoond:", "Notify for all other messages/rooms": "Stuur een melding voor alle andere berichten/kamers", "Notify me for anything else": "Stuur een melding voor al het andere", From 3600d1c667997d36b73b6f79eaf086e1f411c5c8 Mon Sep 17 00:00:00 2001 From: Nostradamos Date: Tue, 2 Jan 2018 12:14:54 +0100 Subject: [PATCH 057/391] moved max-height/min-height/overflow attributes to higher level to also include DraftEditorPlaceholder. Could fix https://github.com/vector-im/riot-web/issues/4821 --- .../matrix-react-sdk/views/rooms/_MessageComposer.scss | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index 14e758535..40ed59bc7 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -96,6 +96,9 @@ limitations under the License. width: 100%; flex: 1; word-break: break-word; + max-height: 120px; + min-height: 21px; + overflow: auto; } .mx_MessageComposer_input .DraftEditor-root .DraftEditor-editorContainer { @@ -103,12 +106,6 @@ limitations under the License. padding-top: 2px; } -.mx_MessageComposer_input .public-DraftEditor-content { - max-height: 120px; - min-height: 21px; - overflow: auto; -} - .mx_MessageComposer_input blockquote { color: $blockquote-fg-color; margin: 0 0 16px; From 34a3ef7e1dbba64a98215713736e8ed06f60286e Mon Sep 17 00:00:00 2001 From: Osoitz Date: Mon, 1 Jan 2018 10:32:49 +0000 Subject: [PATCH 058/391] Translated using Weblate (Basque) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/ --- src/i18n/strings/eu.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index 2d7a80926..97b9ac0dd 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -120,7 +120,7 @@ "Unhide Preview": "Ez ezkutatu aurrebista", "Unknown device": "Gailu ezezaguna", "unknown error code": "errore kode ezezaguna", - "Unnamed room": "Izenik gabeko gela", + "Unnamed room": "Izen gabeko gela", "Update": "Eguneratu", "Uploaded on %(date)s by %(user)s": "%(user)s erabiltzaileak %(date)s (e)an igota", "Uploading report": "Igoera txostena", @@ -130,7 +130,7 @@ "What's new?": "Zer dago berri?", "Waiting for response from server": "Zerbitzariaren erantzunaren zain", "When I'm invited to a room": "Gela batetara gonbidatzen nautenean", - "World readable": "Denek irakurtzeko moduan", + "World readable": "Munduak irakurgarria", "You cannot delete this image. (%(code)s)": "Ezin duzu irudi hau ezabatu. (%(code)s)", "You cannot delete this message. (%(code)s)": "Ezin duzu mezu hau ezabatu. (%(code)s)", "You are not receiving desktop notifications": "Ez dituzu mahaigaineko jakinarazpenak jasotzen", From f3f608b35fb398c3c033a3c638df625bdbb1026d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Koreck=C3=BD?= Date: Sat, 30 Dec 2017 14:28:57 +0000 Subject: [PATCH 059/391] Translated using Weblate (Czech) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 6e65f0c7d..36ed3789e 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -100,7 +100,7 @@ "Today": "Dnes", "Yesterday": "Včera", "OK": "OK", - "Warning": "Varování", + "Warning": "Upozornění", "Checking for an update...": "Kontrola aktualizací...", "An error occurred whilst saving your email notification preferences.": "Při ukládání nastavení e-mailových upozornění nastala chyba.", "Collecting app version information": "Sbírání informací o verzi aplikace", From 2660e70e00fd3f0527591e591aed8b8ff01ea67f Mon Sep 17 00:00:00 2001 From: Joachim Nielandt Date: Fri, 22 Dec 2017 19:01:48 +0000 Subject: [PATCH 060/391] Translated using Weblate (Dutch) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/ --- src/i18n/strings/nl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index a415d3e10..77262dc1c 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -129,7 +129,7 @@ "Riot is not supported on mobile web. Install the app?": "Riot wordt niet ondersteund op het mobiele web. Wil je de app installeren?", "Search": "Zoeken", "Search…": "Zoeken…", - "Send": "Versturen", + "Send": "Verstuur", "Send logs": "Logboeken versturen", "Sorry, your browser is not able to run Riot.": "Sorry, uw browser werkt niet met Riot.", "This Room": "Deze kamer", From 760b961e19c671985d8e057200045a72fa37fb9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Tue, 26 Dec 2017 17:56:03 +0000 Subject: [PATCH 061/391] Translated using Weblate (Slovak) Currently translated at 100.0% (219 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index a3af1a486..f2e9147bd 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -94,7 +94,7 @@ "Describe your problem here.": "Tu popíšte váš problém.", "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "S cieľom lepšej diagnostiky problému sa spolu s vašim hlásením odošlú záznami o činnosti programu Riot. Ak si želáte odoslať len text hlásenia, odškrtnite nasledujúce pole:", "Send logs": "Zahrnúť záznamy", - "Send": "Poslať", + "Send": "Odoslať", "Unavailable": "Nedostupné", "Changelog": "Zoznam zmien", "Back": "Naspäť", From 33cf966f34f2e62448d8e838636398d556dd8092 Mon Sep 17 00:00:00 2001 From: Sejo Date: Fri, 29 Dec 2017 06:54:50 +0000 Subject: [PATCH 062/391] Translated using Weblate (Spanish) Currently translated at 99.0% (217 of 219 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/ --- src/i18n/strings/es.json | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 1cdce766b..6607fb87d 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -72,7 +72,7 @@ "Riot does not know how to join a room on this network": "Riot no sabe cómo unirse a una sala en esta red", "Room not found": "Sala no encontrada", "Search for a room": "Buscar sala", - "Source URL": "URL de origen", + "Source URL": "URL de Origen", "The Home Server may be too old to support third party networks": "El Home Server puede ser demasiado antiguo para soportar redes de terceros", "There are advanced notifications which are not shown here": "Hay notificaciones avanzadas que no se muestran aquí", "The server may be unavailable or overloaded": "El servidor puede estar no disponible o sobrecargado", @@ -204,12 +204,19 @@ "Event sent!": "Evento enviado!", "Failed to send custom event.": "Ha fallado el envio del evento acomodado.", "Event Type": "Tipo de Evento", - "State Key": "Llave del Estado", + "State Key": "Llave de estado", "Event Content": "Contenido del Evento", "Send Account Data": "Envía Datos de la Cuenta", "Filter results": "Filtra los resultados", "Explore Room State": "Explora el Estado del Cuarto", "Edit": "Edita", "Explore Account Data": "Explora los Datos de la Cuenta", - "Toolbox": "Caja de Herramientas" + "Toolbox": "Caja de Herramientas", + "Developer Tools": "Herramientas de Desarrollo", + "Please install Chrome or Firefox for the best experience.": "Por favor instala Chrome o Firefox para una experiencia óptima.", + "Safari and Opera work too.": "Safari y Opera también funcionan.", + "Register": "Registro", + "Rooms": "Salas", + "Invite to this community": "Invita a esta comunidad", + "Add rooms to this community": "Agrega salas a esta comunidad" } From d71af40967a0a490f167f4696f12418129c6abca Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 19 Dec 2017 12:03:48 +0000 Subject: [PATCH 063/391] add missing config.json entry such that scalar-staging widgets work Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- electron_app/riot.im/config.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/electron_app/riot.im/config.json b/electron_app/riot.im/config.json index 5b48cf671..5b2fe37ba 100644 --- a/electron_app/riot.im/config.json +++ b/electron_app/riot.im/config.json @@ -5,6 +5,10 @@ "brand": "Riot", "integrations_ui_url": "https://scalar.vector.im/", "integrations_rest_url": "https://scalar.vector.im/api", + "integrations_widgets_urls": [ + "https://scalar-staging.riot.im/scalar/api", + "https://scalar.vector.im/api" + ], "bug_report_endpoint_url": "https://riot.im/bugreports/submit", "welcomeUserId": "@riot-bot:matrix.org", "roomDirectory": { From 2eb433157aad8cb43ad95c72a55f28841b677ea1 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 3 Jan 2018 16:08:38 +0000 Subject: [PATCH 064/391] v0.13.4 --- electron_app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron_app/package.json b/electron_app/package.json index ad237ebe8..b33da34fe 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "0.13.3", + "version": "0.13.4", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "dependencies": { From 1bb861f6cfe500ba7c92fcc001cac9ed3c679895 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 3 Jan 2018 16:13:24 +0000 Subject: [PATCH 065/391] Prepare changelog for v0.13.4 --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c72ea8da0..d93444c41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +Changes in [0.13.4](https://github.com/vector-im/riot-web/releases/tag/v0.13.4) (2018-01-03) +============================================================================================ +[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.3...v0.13.4) + + * Change config of riot.im electron build to fix some widgets not working. This only affects + electron builds using the riot.im config - for all other builds, this is identical to + v0.13.3. + Changes in [0.13.3](https://github.com/vector-im/riot-web/releases/tag/v0.13.3) (2017-12-04) ============================================================================================ [Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.2...v0.13.3) From 5635614549dfabe805ba1235408c0a94ce1e6136 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 3 Jan 2018 16:13:24 +0000 Subject: [PATCH 066/391] v0.13.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 050c9f32a..ac25f8e0c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron_app/src/electron-main.js", - "version": "0.13.3", + "version": "0.13.4", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "repository": { From 3788fde711d5d5a0f761c9b853000f5d1a4692bb Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 5 Jan 2018 23:16:21 +0000 Subject: [PATCH 067/391] Add a tooltip to members button and badge with actual count Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/RightPanel.js | 11 ++++++----- src/i18n/strings/en_EN.json | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/structures/RightPanel.js b/src/components/structures/RightPanel.js index 2a19794fe..778c01149 100644 --- a/src/components/structures/RightPanel.js +++ b/src/components/structures/RightPanel.js @@ -266,6 +266,7 @@ module.exports = React.createClass({ let inviteGroup; let membersBadge; + let membersTitle = _t('Members'); if ((this.state.phase == this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo) && this.props.roomId ) { @@ -273,10 +274,10 @@ module.exports = React.createClass({ const room = cli.getRoom(this.props.roomId); let userIsInRoom; if (room) { - membersBadge = formatCount(room.getJoinedMembers().length); - userIsInRoom = room.hasMembershipState( - this.context.matrixClient.credentials.userId, 'join', - ); + const numMembers = room.getJoinedMembers().length; + membersTitle = _t('%(numMembers)s Members', { numMembers }); + membersBadge =
{ formatCount(numMembers) }
; + userIsInRoom = room.hasMembershipState(this.context.matrixClient.credentials.userId, 'join'); } if (userIsInRoom) { @@ -298,7 +299,7 @@ module.exports = React.createClass({ let headerButtons = []; if (this.props.roomId) { headerButtons = [ - Date: Fri, 5 Jan 2018 23:19:43 +0000 Subject: [PATCH 068/391] delint Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/RightPanel.js | 58 ++++++++++++------------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/src/components/structures/RightPanel.js b/src/components/structures/RightPanel.js index 778c01149..da1e71174 100644 --- a/src/components/structures/RightPanel.js +++ b/src/components/structures/RightPanel.js @@ -24,7 +24,7 @@ import sdk from 'matrix-react-sdk'; import dis from 'matrix-react-sdk/lib/dispatcher'; import { MatrixClient } from 'matrix-js-sdk'; import Analytics from 'matrix-react-sdk/lib/Analytics'; -import rate_limited_func from 'matrix-react-sdk/lib/ratelimitedfunc'; +import RateLimitedFunc from 'matrix-react-sdk/lib/ratelimitedfunc'; import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton'; import { showGroupInviteDialog, showGroupAddRoomDialog } from 'matrix-react-sdk/lib/GroupAddressPicker'; import GroupStoreCache from 'matrix-react-sdk/lib/stores/GroupStoreCache'; @@ -58,8 +58,8 @@ class HeaderButton extends React.Component {
{ this.props.badge ? this.props.badge :   }
- - { this.props.isHighlighted ?
:
} + + { this.props.isHighlighted ?
:
} ; } @@ -184,18 +184,17 @@ module.exports = React.createClass({ onRoomStateMember: function(ev, state, member) { // redraw the badge on the membership list - if (this.state.phase == this.Phase.RoomMemberList && member.roomId === this.props.roomId) { + if (this.state.phase === this.Phase.RoomMemberList && member.roomId === this.props.roomId) { this._delayedUpdate(); - } - else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId && + } else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId && member.userId === this.state.member.userId) { // refresh the member info (e.g. new power level) this._delayedUpdate(); } }, - _delayedUpdate: new rate_limited_func(function() { - this.forceUpdate(); + _delayedUpdate: new RateLimitedFunc(function() { + this.forceUpdate(); // eslint-disable-line babel/no-invalid-this }, 500), onAction: function(payload) { @@ -267,7 +266,7 @@ module.exports = React.createClass({ let membersBadge; let membersTitle = _t('Members'); - if ((this.state.phase == this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo) + if ((this.state.phase === this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo) && this.props.roomId ) { const cli = this.context.matrixClient; @@ -282,7 +281,7 @@ module.exports = React.createClass({ if (userIsInRoom) { inviteGroup = - +
@@ -293,7 +292,7 @@ module.exports = React.createClass({ const isPhaseGroup = [ this.Phase.GroupMemberInfo, - this.Phase.GroupMemberList + this.Phase.GroupMemberList, ].includes(this.state.phase); let headerButtons = []; @@ -337,54 +336,54 @@ module.exports = React.createClass({ // button on these 2 screens or you won't be able to re-expand the panel. headerButtons.push(
- +
, ); } let panel =
; if (!this.props.collapsed) { - if (this.props.roomId && this.state.phase == this.Phase.RoomMemberList) { + if (this.props.roomId && this.state.phase === this.Phase.RoomMemberList) { panel = ; - } else if (this.props.groupId && this.state.phase == this.Phase.GroupMemberList) { + } else if (this.props.groupId && this.state.phase === this.Phase.GroupMemberList) { panel = ; } else if (this.state.phase === this.Phase.GroupRoomList) { panel = ; - } else if (this.state.phase == this.Phase.RoomMemberInfo) { + } else if (this.state.phase === this.Phase.RoomMemberInfo) { panel = ; - } else if (this.state.phase == this.Phase.GroupMemberInfo) { + } else if (this.state.phase === this.Phase.GroupMemberInfo) { panel = ; - } else if (this.state.phase == this.Phase.GroupRoomInfo) { + } else if (this.state.phase === this.Phase.GroupRoomInfo) { panel = ; - } else if (this.state.phase == this.Phase.NotificationPanel) { + } else if (this.state.phase === this.Phase.NotificationPanel) { panel = ; - } else if (this.state.phase == this.Phase.FilePanel) { + } else if (this.state.phase === this.Phase.FilePanel) { panel = ; } } if (!panel) { - panel =
; + panel =
; } if (this.props.groupId && this.state.isUserPrivilegedInGroup) { inviteGroup = isPhaseGroup ? ( - +
{ _t('Invite to this community') }
) : ( - +
@@ -393,19 +392,16 @@ module.exports = React.createClass({ ); } - let classes = classNames( - "mx_RightPanel", "mx_fadable", - { - "collapsed": this.props.collapsed, - "mx_fadable_faded": this.props.disabled, - } - ); + const classes = classNames("mx_RightPanel", "mx_fadable", { + "collapsed": this.props.collapsed, + "mx_fadable_faded": this.props.disabled, + }); return (
); + if (SettingsStore.isFeatureEnabled("feature_rich_quoting")) { + replyButton = ( +
+ { _t('Reply') } +
+ ); + } + if (this.state.canPin) { pinButton = (
@@ -280,14 +288,6 @@ module.exports = React.createClass({ { _t('Quote') }
); - - if (SettingsStore.isFeatureEnabled("feature_rich_quoting")) { - replyButton = ( -
- { _t('Reply') } -
- ); - } } // Bridges can provide a 'external_url' to link back to the source. From 5aec6840bf804cfa26daf4dce7fe4ad9403c900c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 11 Jan 2018 19:33:21 +0000 Subject: [PATCH 086/391] Add cursor:pointer so that it actually looks clickable Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss index f0fb62b8e..86fd79d47 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_QuotePreview.scss @@ -28,6 +28,7 @@ .mx_QuotePreview_cancel { float: right; + cursor: pointer; } .mx_QuotePreview_clear { From b023cc790b91202b5d40d5565cfb6f6ed41d7769 Mon Sep 17 00:00:00 2001 From: Klaus Marx Date: Thu, 11 Jan 2018 11:06:29 +0000 Subject: [PATCH 087/391] Translated using Weblate (German) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 3498c1d9d..ef9264dcb 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -74,7 +74,7 @@ "Mentions only": "Nur, wenn du erwähnt wirst", "Mute": "Stummschalten", "Permalink": "Permanenter Link", - "Quote": "Zitieren", + "Quote": "Zitat", "Remove %(name)s from the directory?": "Soll der Raum %(name)s aus dem Verzeichnis entfernt werden?", "remove %(name)s from the directory.": "entferne %(name)s aus dem Verzeichnis.", "Resend": "Erneut senden", From a24c3ada53f57282469070d21e484c718f9623d0 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Fri, 12 Jan 2018 17:36:09 +0000 Subject: [PATCH 088/391] Sticker styling --- .../views/rooms/_MessageComposer.scss | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index 9e46c5638..462de6f4d 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -240,3 +240,18 @@ limitations under the License. height: 50px; } } + +.mx_PopoverOuterContainer { + border-radius: 5px; + padding: 2px; +} + +.mx_PopoverOuterContainer .mx_AppTileFullWidth { + margin-top: 0 !important; + border: none; +} + +.mx_PopoverOuterContainer .mx_StickersContent { + border-radius: 5px; + overflow: hidden; +} From b99e87ba0a27dbbcaa435a2a9240159e5d430818 Mon Sep 17 00:00:00 2001 From: Neo_Chen Date: Sat, 25 Nov 2017 14:12:12 +0000 Subject: [PATCH 089/391] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 48655147e..6a463e670 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -221,5 +221,6 @@ "Appear Offline": "顯示為離線", "Away": "離開", "Please install Chrome or Firefox for the best experience.": "請安裝 ChromeFirefox 以取得最佳體驗。", - "Safari and Opera work too.": "SafariOpera 也可以運作。" + "Safari and Opera work too.": "SafariOpera 也可以運作。", + "Reply": "回覆" } From 22c024cc94e280545cf4901c6e8d7ed555d5b271 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 14 Jan 2018 18:33:58 +0000 Subject: [PATCH 090/391] Refactor DateSep, use new Dateutils.formatFullDateNoTime as it is not desired for it to include the time. Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/messages/DateSeparator.js | 54 ++++++++++--------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/src/components/views/messages/DateSeparator.js b/src/components/views/messages/DateSeparator.js index 5d579e5d8..4dcac99da 100644 --- a/src/components/views/messages/DateSeparator.js +++ b/src/components/views/messages/DateSeparator.js @@ -1,5 +1,6 @@ /* Copyright 2015, 2016 OpenMarket Ltd +Copyright 2018 Michael Telatynski <7t3chguy@gmail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,8 +16,9 @@ limitations under the License. */ import React from 'react'; +import PropTypes from 'prop-types'; import { _t } from 'matrix-react-sdk/lib/languageHandler'; -import {formatFullDate} from 'matrix-react-sdk/lib/DateUtils'; +import {formatFullDateNoTime} from 'matrix-react-sdk/lib/DateUtils'; function getdaysArray() { return [ @@ -30,30 +32,30 @@ function getdaysArray() { ]; } -module.exports = React.createClass({ - displayName: 'DateSeparator', - render: function() { - var date = new Date(this.props.ts); - var today = new Date(); - var yesterday = new Date(); - var days = getdaysArray(); - yesterday.setDate(today.getDate() - 1); - var label; - if (date.toDateString() === today.toDateString()) { - label = _t('Today'); - } - else if (date.toDateString() === yesterday.toDateString()) { - label = _t('Yesterday'); - } - else if (today.getTime() - date.getTime() < 6 * 24 * 60 * 60 * 1000) { - label = days[date.getDay()]; - } - else { - label = formatFullDate(date, this.props.showTwelveHour); - } +export class DateSeparator extends React.Component { + static propTypes = { + ts: PropTypes.number.isRequired, + }; - return ( -

{ label }

- ); + getLabel() { + const date = new Date(this.props.ts); + const today = new Date(); + const yesterday = new Date(); + const days = getdaysArray(); + yesterday.setDate(today.getDate() - 1); + + if (date.toDateString() === today.toDateString()) { + return _t('Today'); + } else if (date.toDateString() === yesterday.toDateString()) { + return _t('Yesterday'); + } else if (today.getTime() - date.getTime() < 6 * 24 * 60 * 60 * 1000) { + return days[date.getDay()]; + } else { + return formatFullDateNoTime(date); + } } -}); + + render() { + return

{ this.getLabel() }

; + } +} From b65fdf6ab0572b5ebe26636897736fab9e4d7172 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 14 Jan 2018 18:35:53 +0000 Subject: [PATCH 091/391] refactor MessageTimestamp, as it was missing a PropTypes def for ts Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/messages/MessageTimestamp.js | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/components/views/messages/MessageTimestamp.js b/src/components/views/messages/MessageTimestamp.js index 3d972e4c1..eafa25daf 100644 --- a/src/components/views/messages/MessageTimestamp.js +++ b/src/components/views/messages/MessageTimestamp.js @@ -1,5 +1,6 @@ /* Copyright 2015, 2016 OpenMarket Ltd +Copyright 2018 Michael Telatynski <7t3chguy@gmail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,24 +15,22 @@ See the License for the specific language governing permissions and limitations under the License. */ -'use strict'; - import React from 'react'; +import PropTypes from 'prop-types'; import {formatFullDate, formatTime} from 'matrix-react-sdk/lib/DateUtils'; -module.exports = React.createClass({ - displayName: 'MessageTimestamp', +export class MessageTimestamp extends React.Component { + static propTypes = { + ts: PropTypes.number.isRequired, + showTwelveHour: PropTypes.bool, + }; - propTypes: { - showTwelveHour: React.PropTypes.bool, - }, - - render: function() { + render() { const date = new Date(this.props.ts); return ( - + { formatTime(date, this.props.showTwelveHour) } ); - }, -}); + } +} From f97395f40fc95e011f6d43540a8eae5a724ab1c3 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 14 Jan 2018 18:41:44 +0000 Subject: [PATCH 092/391] change exports to default to retain compatibility with existing imports Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/DateSeparator.js | 2 +- src/components/views/messages/MessageTimestamp.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/messages/DateSeparator.js b/src/components/views/messages/DateSeparator.js index 4dcac99da..2e081bc69 100644 --- a/src/components/views/messages/DateSeparator.js +++ b/src/components/views/messages/DateSeparator.js @@ -32,7 +32,7 @@ function getdaysArray() { ]; } -export class DateSeparator extends React.Component { +export default class DateSeparator extends React.Component { static propTypes = { ts: PropTypes.number.isRequired, }; diff --git a/src/components/views/messages/MessageTimestamp.js b/src/components/views/messages/MessageTimestamp.js index eafa25daf..6d4330670 100644 --- a/src/components/views/messages/MessageTimestamp.js +++ b/src/components/views/messages/MessageTimestamp.js @@ -19,7 +19,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import {formatFullDate, formatTime} from 'matrix-react-sdk/lib/DateUtils'; -export class MessageTimestamp extends React.Component { +export default class MessageTimestamp extends React.Component { static propTypes = { ts: PropTypes.number.isRequired, showTwelveHour: PropTypes.bool, From e2ef885aa6b0b25532165dc0eaa5163c7e6c4b20 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Sat, 13 Jan 2018 01:55:47 +0000 Subject: [PATCH 093/391] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 6a463e670..c7bf1ce94 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -43,14 +43,14 @@ "Messages sent by bot": "由機器人送出的訊息", "more": "更多", "Mute": "靜音", - "No rooms to show": "無聊天室可顯示", + "No rooms to show": "未顯示聊天室", "Noisy": "吵鬧", "Notifications": "通知", "Off": "關閉", "On": "開啟", "Operation failed": "操作失敗", "powered by Matrix": "由 Matrix 架設", - "Quote": "引述", + "Quote": "引用", "Remove": "移除", "Resend": "重新傳送", "Room not found": "找不到聊天室", @@ -66,7 +66,7 @@ "Unhide Preview": "取消隱藏預覽", "Unknown device": "未知裝置", "unknown error code": "未知的錯誤代碼", - "Unnamed room": "無命名的聊天室", + "Unnamed room": "未命名的聊天室", "Update": "更新", "Uploaded on %(date)s by %(user)s": "由 %(user)s 在 %(date)s 上傳", "Uploading report": "上傳報告", @@ -109,7 +109,7 @@ "Filter room names": "過濾聊天室名稱", "Forget": "忘記", "Forward Message": "轉寄訊息", - "Guests can join": "訪客可以加入", + "Guests can join": "訪客可加入", "Hide panel": "隱藏面板", "I understand the risks and wish to continue": "我了解這些風險並願意繼續", "Invite to this room": "邀請加入這個聊天室", @@ -141,7 +141,7 @@ "Riot is not supported on mobile web. Install the app?": "Riot 不支援行動版網頁,要安裝應用程式嗎?", "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Roit 使用了許多先進的瀏覽器功能,有些在你目前所用的瀏覽器上無法使用或僅為實驗中的功能。", "There are advanced notifications which are not shown here": "有些進階的通知並未在此顯示", - "World readable": "公開可讀", + "World readable": "所有人可讀", "You cannot delete this image. (%(code)s)": "你不能刪除這個圖片。(%(code)s)", "You are not receiving desktop notifications": "你將不會收到桌面通知", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "你也許不曾在其它 Riot 之外的客戶端設定它們。在 Riot 底下你無法調整它們但其仍然可用", From a50e9d2b6b96d4d40c00153606c7eb4311a7fc28 Mon Sep 17 00:00:00 2001 From: toriko Date: Sat, 13 Jan 2018 04:13:21 +0000 Subject: [PATCH 094/391] Translated using Weblate (Japanese) Currently translated at 33.1% (73 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/ --- src/i18n/strings/ja.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index 4bd46f3f5..5be8352a3 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -63,7 +63,7 @@ "Messages in group chats": "グループチャットのメッセージ", "When I'm invited to a room": "部屋に招待された時", "Messages sent by bot": "ボットから送信されたメッセージ", - "Error saving email notification preferences": "電子メール通知設定の保存中にエラー", + "Error saving email notification preferences": "電子メール通知設定の保存エラー", "An error occurred whilst saving your email notification preferences.": "電子メール通知設定を保存中にエラーが発生しました。", "Keywords": "キーワード", "Enter keywords separated by a comma:": "キーワードをコンマで区切って入力:", @@ -71,5 +71,6 @@ "Operation failed": "操作に失敗しました", "Can't update user notification settings": "ユーザー通知の設定を更新できません", "Failed to update keywords": "キーワードの更新に失敗しました", - "Messages containing keywords": "keywordsを含むメッセージ" + "Messages containing keywords": "keywordsを含むメッセージ", + "Add an email address above to configure email notifications": "メール通知を設定するために、メールアドレスを追加してください" } From 7924a149b47986aba69615d92c53d53bb5366c61 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Mon, 15 Jan 2018 11:14:30 +0000 Subject: [PATCH 095/391] Remove transparent background and fix z-index of popover. --- .../css/matrix-react-sdk/views/rooms/_MessageComposer.scss | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index 462de6f4d..ae8a1b87f 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -244,6 +244,8 @@ limitations under the License. .mx_PopoverOuterContainer { border-radius: 5px; padding: 2px; + background-color: white; + overflow: 'hidden'; } .mx_PopoverOuterContainer .mx_AppTileFullWidth { @@ -255,3 +257,8 @@ limitations under the License. border-radius: 5px; overflow: hidden; } + +// Set z-index for popovers +.another-react-popover-container { + z-index: 1000; +} From c269abd434c24df194b7024021ce9ee958a9db96 Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Tue, 16 Jan 2018 09:40:15 +0000 Subject: [PATCH 096/391] CSS required as part of moving TagPanel from react-dnd to react-beautiful-dnd --- .../vector/css/matrix-react-sdk/structures/_TagPanel.scss | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss b/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss index b557710b2..91199a11e 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss @@ -29,11 +29,13 @@ limitations under the License. display: flex; flex-direction: column; align-items: center; - margin-top: 65px; + padding-top: 65px; + + flex-grow: 1; } .mx_TagPanel .mx_TagTile { - margin: 6px 0px; + padding: 6px 3px; opacity: 0.5; } .mx_TagPanel .mx_TagTile:focus, @@ -44,7 +46,7 @@ limitations under the License. .mx_TagPanel .mx_TagTile.mx_TagTile_selected { /* To offset border of mx_TagTile_avatar */ - margin: 3px 0px; + padding: 3px 0px; } .mx_TagPanel .mx_TagTile.mx_TagTile_selected .mx_TagTile_avatar { From 4386d45a972802d48d81d3016fdfd3a50a55ee87 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@googlemail.com> Date: Tue, 16 Jan 2018 10:27:47 +0000 Subject: [PATCH 097/391] remove 'use strict' --- src/components/views/elements/Highlight.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/views/elements/Highlight.js b/src/components/views/elements/Highlight.js index 1251264e3..8706bb05a 100644 --- a/src/components/views/elements/Highlight.js +++ b/src/components/views/elements/Highlight.js @@ -14,8 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ -'use strict'; - import React from 'react'; import PropTypes from 'prop-types'; import {highlightBlock} from 'highlight.js'; From 6f47a9b8c34a1b258f79181a6f3c1537c2eda953 Mon Sep 17 00:00:00 2001 From: Xose M Date: Tue, 16 Jan 2018 11:00:45 +0000 Subject: [PATCH 098/391] Translated using Weblate (Galician) Currently translated at 99.5% (219 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/ --- src/i18n/strings/gl.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index 0bf86d935..499ee1e8f 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -59,7 +59,7 @@ "Filter room names": "Filtrar nomes de sala", "Forget": "Esquecer", "Forward Message": "Reenviar mensaxe", - "Guests can join": "Convidadas pódense unir", + "Guests can join": "Convidados pódense unir", "Hide panel": "Agochar panel", "(HTTP status %(httpStatus)s)": "(Estado HTTP %(httpStatus)s)", "I understand the risks and wish to continue": "Entendos os riscos e desexo continuar", @@ -79,8 +79,8 @@ "Messages in one-to-one chats": "Mensaxes en chats un-a-un", "Messages sent by bot": "Mensaxes enviadas por bot", "more": "máis", - "Mute": "Calar", - "No rooms to show": "Non hai salas que mostrar", + "Mute": "Acalar", + "No rooms to show": "Sen salas que mostrar", "Noisy": "Ruidoso", "Notification targets": "Obxetivos das notificacións", "Notifications": "Notificacións", @@ -139,7 +139,7 @@ "What's new?": "Qué hai de novo?", "Waiting for response from server": "Agardando pola resposta do servidor", "When I'm invited to a room": "Cando son convidado a unha sala", - "World readable": "Visible por todo o mundo", + "World readable": "Visible por todos", "You cannot delete this image. (%(code)s)": "Non pode eliminar esta imaxe. (%(code)s)", "You cannot delete this message. (%(code)s)": "Non pode eliminar esta mensaxe. (%(code)s)", "You are not receiving desktop notifications": "Non está a recibir notificacións de escritorio", @@ -212,7 +212,7 @@ "Edit": "Editar", "Send Account Data": "Enviar datos da conta", "Explore Account Data": "Explorar datos da conta", - "Unpin Message": "Non fixar mensaxe", + "Unpin Message": "Desfixar mensaxe", "Pin Message": "Fixar mensaxe", "Register": "Rexistrar", "Rooms": "Salas", From a7f0b11002b97177a9191af8d556afbdf6731eda Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Tue, 16 Jan 2018 18:15:17 +0000 Subject: [PATCH 099/391] Add generic element context menu / popover. --- .../GenericElementContextMenu.js | 30 +++++++++++++++++++ .../views/rooms/_MessageComposer.scss | 10 +++++-- 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 src/components/views/context_menus/GenericElementContextMenu.js diff --git a/src/components/views/context_menus/GenericElementContextMenu.js b/src/components/views/context_menus/GenericElementContextMenu.js new file mode 100644 index 000000000..2959fbbe7 --- /dev/null +++ b/src/components/views/context_menus/GenericElementContextMenu.js @@ -0,0 +1,30 @@ +/* +Copyright 2017 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. +*/ + +'use strict'; + +import React from 'react'; +import PropTypes from 'prop-types'; + +export default class GenericElementContextMenu extends React.Component { + static PropTypes = { + element: PropTypes.element.isRequired, + }; + + render() { + return
{ this.props.element }
; + } +} diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index ae8a1b87f..5a044297a 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -258,7 +258,11 @@ limitations under the License. overflow: hidden; } -// Set z-index for popovers -.another-react-popover-container { - z-index: 1000; +.mx_StickersContentPlaceholder { + display: flex; + flex-grow: 1; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; } From f8643e9a96c9b16b7ba755d424f91c5bc9c7df87 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Tue, 16 Jan 2018 18:35:04 +0000 Subject: [PATCH 100/391] Add styling and image for stickerpack placeholder. --- .../views/rooms/_MessageComposer.scss | 4 ++++ .../vector/img/stickerpack-placeholder.png | Bin 0 -> 31995 bytes 2 files changed, 4 insertions(+) create mode 100644 src/skins/vector/img/stickerpack-placeholder.png diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index 5a044297a..e6fbeb9e8 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -266,3 +266,7 @@ limitations under the License. justify-content: center; text-align: center; } + +.mx_StickersContentPlaceholder p { + max-width: 200px; +} diff --git a/src/skins/vector/img/stickerpack-placeholder.png b/src/skins/vector/img/stickerpack-placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..7980114438527db8e140b9ff0bcd80a7fd8282f2 GIT binary patch literal 31995 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 Date: Tue, 16 Jan 2018 21:46:50 +0000 Subject: [PATCH 101/391] Sticker content styling --- .../views/rooms/_MessageComposer.scss | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index e6fbeb9e8..1f1a652f1 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -241,23 +241,14 @@ limitations under the License. } } -.mx_PopoverOuterContainer { - border-radius: 5px; - padding: 2px; - background-color: white; - overflow: 'hidden'; -} - -.mx_PopoverOuterContainer .mx_AppTileFullWidth { - margin-top: 0 !important; - border: none; -} - -.mx_PopoverOuterContainer .mx_StickersContent { - border-radius: 5px; +.mx_StickersContent { overflow: hidden; } +.mx_StickersContent .mx_AppTileFullWidth { + border: none; +} + .mx_StickersContentPlaceholder { display: flex; flex-grow: 1; From f4816b99ffa0d21992470379678509b0274bc47d Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 17 Jan 2018 00:05:16 +0000 Subject: [PATCH 102/391] Add stickerpack manage integration link styling. --- .../css/matrix-react-sdk/views/rooms/_MessageComposer.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index 1f1a652f1..6037a41fc 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -261,3 +261,9 @@ limitations under the License. .mx_StickersContentPlaceholder p { max-width: 200px; } + +.mx_Stickerpack_addLink { + display: inline; + cursor: pointer; + text-decoration: underline; +} From 854b5376954eea9a72f098d996e105890cdf4937 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 17 Jan 2018 11:27:57 +0000 Subject: [PATCH 103/391] Update sticker toggle icons. --- src/skins/vector/img/icons-hide-stickers.svg | 18 +++++++++--------- src/skins/vector/img/icons-show-stickers.svg | 16 ++++++++-------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/skins/vector/img/icons-hide-stickers.svg b/src/skins/vector/img/icons-hide-stickers.svg index c138f34bd..9b88ba5e6 100644 --- a/src/skins/vector/img/icons-hide-stickers.svg +++ b/src/skins/vector/img/icons-hide-stickers.svg @@ -3,14 +3,14 @@ - - + + - + diff --git a/src/skins/vector/img/icons-show-stickers.svg b/src/skins/vector/img/icons-show-stickers.svg index 300e2c6d5..26779a394 100644 --- a/src/skins/vector/img/icons-show-stickers.svg +++ b/src/skins/vector/img/icons-show-stickers.svg @@ -4,13 +4,13 @@ - + - + From de597d4f5d95247e6c0df6b32d50ae9cb3ccf2ba Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 17 Jan 2018 15:13:29 +0000 Subject: [PATCH 104/391] Make background lighter. --- src/skins/vector/img/icons-hide-stickers.svg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/skins/vector/img/icons-hide-stickers.svg b/src/skins/vector/img/icons-hide-stickers.svg index 9b88ba5e6..f28e8646e 100644 --- a/src/skins/vector/img/icons-hide-stickers.svg +++ b/src/skins/vector/img/icons-hide-stickers.svg @@ -3,14 +3,14 @@ - + + c17.686,0,31.201-13.519,31.201-31.2c0-17.683-13.519-31.2-31.201-31.2c-17.682,0-31.2,13.518-31.2,31.2S305.118,229.2,322.8,229.2z + M177.2,229.2c17.682,0,31.2-13.519,31.2-31.2c0-17.683-13.519-31.2-31.2-31.2c-17.683,0-31.201,13.518-31.201,31.2 + S159.518,229.2,177.2,229.2z M250,364.4c48.883,0,89.436-30.164,106.081-72.801H143.919C160.564,334.236,201.117,364.4,250,364.4z" + /> From c340032bd19a50a3f160296e2e5321a084a389fb Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 17 Jan 2018 15:49:03 +0000 Subject: [PATCH 105/391] Move sticker related CSS to its own file. --- src/skins/vector/css/_components.scss | 1 + .../views/rooms/_MessageComposer.scss | 27 ----------------- .../views/rooms/_Stickers.scss | 30 +++++++++++++++++++ 3 files changed, 31 insertions(+), 27 deletions(-) create mode 100644 src/skins/vector/css/matrix-react-sdk/views/rooms/_Stickers.scss diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 0dd6a1b1b..5b04703a2 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -60,6 +60,7 @@ @import "./matrix-react-sdk/views/rooms/_MemberInfo.scss"; @import "./matrix-react-sdk/views/rooms/_MemberList.scss"; @import "./matrix-react-sdk/views/rooms/_MessageComposer.scss"; +@import "./matrix-react-sdk/views/rooms/_Stickers.scss"; @import "./matrix-react-sdk/views/rooms/_PinnedEventTile.scss"; @import "./matrix-react-sdk/views/rooms/_PinnedEventsPanel.scss"; @import "./matrix-react-sdk/views/rooms/_PresenceLabel.scss"; diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index 6037a41fc..9e46c5638 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -240,30 +240,3 @@ limitations under the License. height: 50px; } } - -.mx_StickersContent { - overflow: hidden; -} - -.mx_StickersContent .mx_AppTileFullWidth { - border: none; -} - -.mx_StickersContentPlaceholder { - display: flex; - flex-grow: 1; - flex-direction: column; - align-items: center; - justify-content: center; - text-align: center; -} - -.mx_StickersContentPlaceholder p { - max-width: 200px; -} - -.mx_Stickerpack_addLink { - display: inline; - cursor: pointer; - text-decoration: underline; -} diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_Stickers.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_Stickers.scss new file mode 100644 index 000000000..ee6c38b24 --- /dev/null +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_Stickers.scss @@ -0,0 +1,30 @@ +.mx_Stickers_content { + overflow: hidden; +} + +.mx_Stickers_content .mx_AppTileFullWidth { + border: none; +} + +.mx_Stickers_contentPlaceholder { + display: flex; + flex-grow: 1; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; +} + +.mx_Stickers_contentPlaceholder p { + max-width: 200px; +} + +.mx_Stickers_addLink { + display: inline; + cursor: pointer; + text-decoration: underline; +} + +.mx_Stickers_hideStickers { + z-index: 2001; +} From 738b59fd42e27f8290de878c360f98ab95c304e3 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Thu, 18 Jan 2018 12:01:29 +0000 Subject: [PATCH 106/391] Call for update on window resize. --- .../context_menus/GenericElementContextMenu.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/components/views/context_menus/GenericElementContextMenu.js b/src/components/views/context_menus/GenericElementContextMenu.js index 2959fbbe7..0a8d26929 100644 --- a/src/components/views/context_menus/GenericElementContextMenu.js +++ b/src/components/views/context_menus/GenericElementContextMenu.js @@ -24,6 +24,21 @@ export default class GenericElementContextMenu extends React.Component { element: PropTypes.element.isRequired, }; + componentDidMount() { + this.resize = this.resize.bind(this); + window.addEventListener("resize", this.resize.bind(this)); + } + + componentWillUnmount() { + window.removeEventListener("resize", this.resize.bind(this)); + } + + resize() { + if (this.props.onResize) { + this.props.onResize(); + } + } + render() { return
{ this.props.element }
; } From 3481283af8f9921fcd7b5c8eb4941822b123434b Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Thu, 18 Jan 2018 17:54:12 +0000 Subject: [PATCH 107/391] Swap RoomList to react-beautiful-dnd Includes themeing See matrix-org/matrix-react-sdk#1711 --- package.json | 1 + src/components/structures/RoomSubList.js | 38 +-- src/components/views/rooms/DNDRoomTile.js | 253 +++--------------- .../views/rooms/_RoomTile.scss | 2 + src/skins/vector/css/themes/_base.scss | 1 + src/skins/vector/css/themes/_dark.scss | 3 +- .../vector-web/structures/_RoomSubList.scss | 4 + .../vector/themes/status/css/_status.scss | 1 + 8 files changed, 68 insertions(+), 235 deletions(-) diff --git a/package.json b/package.json index 556f0c724..65f866dca 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "pako": "^1.0.5", "prop-types": "^15.5.10", "react": "^15.6.0", + "react-beautiful-dnd": "^4.0.1", "react-dnd": "^2.1.4", "react-dnd-html5-backend": "^2.1.2", "react-dom": "^15.6.0", diff --git a/src/components/structures/RoomSubList.js b/src/components/structures/RoomSubList.js index 251c65226..15f56c006 100644 --- a/src/components/structures/RoomSubList.js +++ b/src/components/structures/RoomSubList.js @@ -20,8 +20,8 @@ limitations under the License. var React = require('react'); var ReactDOM = require('react-dom'); var classNames = require('classnames'); -var DropTarget = require('react-dnd').DropTarget; var sdk = require('matrix-react-sdk'); +import { Droppable } from 'react-beautiful-dnd'; import { _t } from 'matrix-react-sdk/lib/languageHandler'; var dis = require('matrix-react-sdk/lib/dispatcher'); var Unread = require('matrix-react-sdk/lib/Unread'); @@ -32,6 +32,7 @@ var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/A import Modal from 'matrix-react-sdk/lib/Modal'; import { KeyCode } from 'matrix-react-sdk/lib/Keyboard'; + // turn this on for drop & drag console debugging galore var debug = false; @@ -326,9 +327,7 @@ var RoomSubList = React.createClass({ }); }, - calcManualOrderTagData: function(room) { - const index = this.state.sortedList.indexOf(room); - + calcManualOrderTagData: function(index) { // we sort rooms by the lexicographic ordering of the 'order' metadata on their tags. // for convenience, we calculate this for now a floating point number between 0.0 and 1.0. @@ -375,12 +374,14 @@ var RoomSubList = React.createClass({ makeRoomTiles: function() { var self = this; var DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile"); - return this.state.sortedList.map(function(room) { + return this.state.sortedList.map(function(room, index) { // XXX: is it evil to pass in self as a prop to RoomTile? return ( ; } - return connectDropTarget( -
- { this._getHeaderJsx() } - { subList } -
- ); + const subListContent =
+ { this._getHeaderJsx() } + { subList } +
; + + return this.props.editable ? + { (provided, snapshot) => ( +
+ { subListContent } +
+ ) } +
: subListContent; } else { var Loader = sdk.getComponent("elements.Spinner"); @@ -585,11 +592,4 @@ var RoomSubList = React.createClass({ } }); -// Export the wrapped version, inlining the 'collect' functions -// to more closely resemble the ES7 -module.exports = -DropTarget('RoomTile', roomListTarget, function(connect) { - return { - connectDropTarget: connect.dropTarget(), - } -})(RoomSubList); +module.exports = RoomSubList; diff --git a/src/components/views/rooms/DNDRoomTile.js b/src/components/views/rooms/DNDRoomTile.js index 430906d21..1adb2a79a 100644 --- a/src/components/views/rooms/DNDRoomTile.js +++ b/src/components/views/rooms/DNDRoomTile.js @@ -14,227 +14,50 @@ See the License for the specific language governing permissions and limitations under the License. */ -'use strict'; - import React from 'react'; -import {DragSource} from 'react-dnd'; -import {DropTarget} from 'react-dnd'; - -import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; -import sdk from 'matrix-react-sdk'; -import { _t } from 'matrix-react-sdk/lib/languageHandler'; +import { Draggable } from 'react-beautiful-dnd'; import RoomTile from 'matrix-react-sdk/lib/components/views/rooms/RoomTile'; -import * as Rooms from 'matrix-react-sdk/lib/Rooms'; -import Modal from 'matrix-react-sdk/lib/Modal'; -/** - * Defines a new Component, DNDRoomTile that wraps RoomTile, making it draggable. - * Requires extra props: - * roomSubList: React.PropTypes.object.isRequired, - * refreshSubList: React.PropTypes.func.isRequired, - */ +export default class DNDRoomTile extends React.Component { + constructor() { + super(); + this.getStyle = this.getStyle.bind(this); + } -/** - * Specifies the drag source contract. - * Only `beginDrag` function is required. - */ -var roomTileSource = { - canDrag: function(props, monitor) { - return props.roomSubList.props.editable; - }, - - beginDrag: function (props) { - // Return the data describing the dragged item - var item = { - room: props.room, - originalList: props.roomSubList, - originalIndex: props.roomSubList.findRoomTile(props.room).index, - targetList: props.roomSubList, // at first target is same as original - // lastTargetRoom: null, - // lastYOffset: null, - // lastYDelta: null, + getStyle(isDragging) { + const result = { + transform: isDragging ? "scale(1.05, 1.05)" : "none", + transition: "transform 0.2s", }; - - if (props.roomSubList.debug) console.log("roomTile beginDrag for " + item.room.roomId); - - // doing this 'correctly' with state causes react-dnd to break seemingly due to the state transitions - props.room._dragging = true; - - return item; - }, - - endDrag: function (props, monitor, component) { - var item = monitor.getItem(); - - if (props.roomSubList.debug) console.log("roomTile endDrag for " + item.room.roomId + " with didDrop=" + monitor.didDrop()); - - props.room._dragging = false; - if (monitor.didDrop()) { - if (props.roomSubList.debug) console.log("force updating component " + item.targetList.props.label); - item.targetList.forceUpdate(); // as we're not using state - } - - const prevTag = item.originalList.props.tagName; - const newTag = item.targetList.props.tagName; - - if (monitor.didDrop() && item.targetList.props.editable) { - // Evil hack to get DMs behaving - if ((prevTag === undefined && newTag === 'im.vector.fake.direct') || - (prevTag === 'im.vector.fake.direct' && newTag === undefined) - ) { - Rooms.guessAndSetDMRoom( - item.room, newTag === 'im.vector.fake.direct', - ).done(() => { - item.originalList.removeRoomTile(item.room); - }, (err) => { - const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); - console.error("Failed to set direct chat tag " + err); - Modal.createTrackedDialog('Failed to set direct chat tag', '', ErrorDialog, { - title: _t('Failed to set direct chat tag'), - description: ((err && err.message) ? err.message : _t('Operation failed')), - }); - }); - return; - } - - // More evilness: We will still be dealing with moving to favourites/low prio, - // but we avoid ever doing a request with 'im.vector.fake.direct`. - - // if we moved lists, remove the old tag - if (prevTag && prevTag !== 'im.vector.fake.direct' && - item.targetList !== item.originalList - ) { - // commented out attempts to set a spinner on our target component as component is actually - // the original source component being dragged, not our target. To fix we just need to - // move all of this to endDrop in the target instead. FIXME later. - - //component.state.set({ spinner: component.state.spinner ? component.state.spinner++ : 1 }); - MatrixClientPeg.get().deleteRoomTag(item.room.roomId, prevTag).finally(function() { - //component.state.set({ spinner: component.state.spinner-- }); - }).catch(function(err) { - var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); - console.error("Failed to remove tag " + prevTag + " from room: " + err); - Modal.createTrackedDialog('Failed to remove tag from room', '', ErrorDialog, { - title: _t('Failed to remove tag %(tagName)s from room', {tagName: prevTag}), - description: ((err && err.message) ? err.message : _t('Operation failed')), - }); - }); - } - - var newOrder= {}; - if (item.targetList.props.order === 'manual') { - newOrder['order'] = item.targetList.calcManualOrderTagData(item.room); - } - - // if we moved lists or the ordering changed, add the new tag - if (newTag && newTag !== 'im.vector.fake.direct' && - (item.targetList !== item.originalList || newOrder) - ) { - MatrixClientPeg.get().setRoomTag(item.room.roomId, newTag, newOrder).catch(function(err) { - var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); - console.error("Failed to add tag " + newTag + " to room: " + err); - Modal.createTrackedDialog('Failed to add tag to room', '', ErrorDialog, { - title: _t('Failed to add tag %(tagName)s to room', {tagName: newTag}), - description: ((err && err.message) ? err.message : _t('Operation failed')), - }); - }); - } - } - else { - // cancel the drop and reset our original position - if (props.roomSubList.debug) console.log("cancelling drop & drag"); - props.roomSubList.moveRoomTile(item.room, item.originalIndex); - if (item.targetList && item.targetList !== item.originalList) { - item.targetList.removeRoomTile(item.room); - } - } + return result; } -}; -var roomTileTarget = { - canDrop: function() { - return false; - }, + render() { + const props = this.props; - hover: function(props, monitor) { - var item = monitor.getItem(); - //var off = monitor.getClientOffset(); - // console.log("hovering on room " + props.room.roomId + ", isOver=" + monitor.isOver()); - - //console.log("item.targetList=" + item.targetList + ", roomSubList=" + props.roomSubList); - - var switchedTarget = false; - if (item.targetList !== props.roomSubList) { - // we've switched target, so remove the tile from the previous target. - // n.b. the previous target might actually be the source list. - if (props.roomSubList.debug) console.log("switched target sublist"); - switchedTarget = true; - item.targetList.removeRoomTile(item.room); - item.targetList = props.roomSubList; - } - - if (!item.targetList.props.editable) return; - - if (item.targetList.props.order === 'manual') { - if (item.room.roomId !== props.room.roomId && props.room !== item.lastTargetRoom) { - // find the offset of the target tile in the list. - var roomTile = props.roomSubList.findRoomTile(props.room); - // shuffle the list to add our tile to that position. - props.roomSubList.moveRoomTile(item.room, roomTile.index); - } - - // stop us from flickering between our droptarget and the previous room. - // whenever the cursor changes direction we have to reset the flicker-damping. -/* - var yDelta = off.y - item.lastYOffset; - - if ((yDelta > 0 && item.lastYDelta < 0) || - (yDelta < 0 && item.lastYDelta > 0)) - { - // the cursor changed direction - forget our previous room - item.lastTargetRoom = null; - } - else { - // track the last room we were hovering over so we can stop - // bouncing back and forth if the droptarget is narrower than - // the other list items. The other way to do this would be - // to reduce the size of the hittarget on the list items, but - // can't see an easy way to do that. - item.lastTargetRoom = props.room; - } - - if (yDelta) item.lastYDelta = yDelta; - item.lastYOffset = off.y; -*/ - } - else if (switchedTarget) { - if (!props.roomSubList.findRoomTile(item.room).room) { - // add to the list in the right place - props.roomSubList.moveRoomTile(item.room, 0); - } - // we have to sort the list whatever to recalculate it - props.roomSubList.sortList(); - } - }, -}; - -// Export the wrapped version, inlining the 'collect' functions -// to more closely resemble the ES7 -module.exports = -DropTarget('RoomTile', roomTileTarget, function(connect, monitor) { - return { - // Call this function inside render() - // to let React DnD handle the drag events: - connectDropTarget: connect.dropTarget(), - isOver: monitor.isOver(), + return
+ + { (provided, snapshot) => { + return ( +
+
+
+ +
+
+ { provided.placeholder } +
+ ); + } } +
+
; } -})( -DragSource('RoomTile', roomTileSource, function(connect, monitor) { - return { - // Call this function inside render() - // to let React DnD handle the drag events: - connectDragSource: connect.dragSource(), - // You can ask the monitor about the current drag state: - isDragging: monitor.isDragging() - }; -})(RoomTile)); +} diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss index 842228b9c..c9e7022e2 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss @@ -20,6 +20,8 @@ limitations under the License. font-size: 13px; display: block; height: 34px; + + background-color: $secondary-accent-color; } .mx_RoomTile_tooltip { diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index d5e862aec..35fc1a790 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -104,6 +104,7 @@ $roomtile-name-color: rgba(69, 69, 69, 0.8); $roomtile-selected-bg-color: rgba(255, 255, 255, 0.8); $roomtile-focused-bg-color: rgba(255, 255, 255, 0.9); +$roomsublist-background: #badece; $roomsublist-label-fg-color: $h3-color; $roomsublist-label-bg-color: $tertiary-accent-color; $roomsublist-chevron-color: $accent-color; diff --git a/src/skins/vector/css/themes/_dark.scss b/src/skins/vector/css/themes/_dark.scss index 60ffeca8e..b0ca76b8b 100644 --- a/src/skins/vector/css/themes/_dark.scss +++ b/src/skins/vector/css/themes/_dark.scss @@ -100,9 +100,10 @@ $rte-code-bg-color: #000; // ******************** $roomtile-name-color: rgba(186, 186, 186, 0.8); -$roomtile-selected-bg-color: rgba(255, 255, 255, 0.05); +$roomtile-selected-bg-color: #333; $roomtile-focused-bg-color: rgba(255, 255, 255, 0.2); +$roomsublist-background: #222; $roomsublist-label-fg-color: $h3-color; $roomsublist-label-bg-color: $tertiary-accent-color; $roomsublist-chevron-color: $accent-color; diff --git a/src/skins/vector/css/vector-web/structures/_RoomSubList.scss b/src/skins/vector/css/vector-web/structures/_RoomSubList.scss index db1fb170e..a2863460a 100644 --- a/src/skins/vector/css/vector-web/structures/_RoomSubList.scss +++ b/src/skins/vector/css/vector-web/structures/_RoomSubList.scss @@ -18,6 +18,8 @@ limitations under the License. display: table; table-layout: fixed; width: 100%; + + background-color: $roomsublist-background; } .mx_RoomSubList_labelContainer { @@ -155,6 +157,8 @@ limitations under the License. position: relative; cursor: pointer; font-size: 13px; + + background-color: $secondary-accent-color; } .collapsed .mx_RoomSubList_ellipsis { diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index ed60b83d6..be4c3c7fd 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -160,6 +160,7 @@ $roomtile-name-color: #ffffff; $roomtile-selected-bg-color: #465561; $roomtile-focused-bg-color: #6d8597; +$roomsublist-background: #465561; $roomsublist-label-fg-color: #ffffff; $roomsublist-label-bg-color: $secondary-accent-color; $roomsublist-chevron-color: #ffffff; From d55d3658f08563daa8ccf1511dd4f67423f2f8fd Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Thu, 18 Jan 2018 18:08:18 +0000 Subject: [PATCH 108/391] Use classNames instead of inline `style` Theres no benefit to using inline styles --- src/components/views/rooms/DNDRoomTile.js | 17 +++++++++-------- .../matrix-react-sdk/views/rooms/_RoomTile.scss | 9 +++++++++ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/components/views/rooms/DNDRoomTile.js b/src/components/views/rooms/DNDRoomTile.js index 1adb2a79a..129e3f459 100644 --- a/src/components/views/rooms/DNDRoomTile.js +++ b/src/components/views/rooms/DNDRoomTile.js @@ -18,18 +18,19 @@ import React from 'react'; import { Draggable } from 'react-beautiful-dnd'; import RoomTile from 'matrix-react-sdk/lib/components/views/rooms/RoomTile'; +import classNames from 'classnames'; + export default class DNDRoomTile extends React.Component { constructor() { super(); - this.getStyle = this.getStyle.bind(this); + this.getClassName = this.getClassName.bind(this); } - getStyle(isDragging) { - const result = { - transform: isDragging ? "scale(1.05, 1.05)" : "none", - transition: "transform 0.2s", - }; - return result; + getClassName(isDragging) { + return classNames({ + "mx_DNDRoomTile": true, + "mx_DNDRoomTile_dragging": isDragging, + }); } render() { @@ -49,7 +50,7 @@ export default class DNDRoomTile extends React.Component { {...provided.draggableProps} {...provided.dragHandleProps} > -
+
diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss index c9e7022e2..a59cd3e80 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomTile.scss @@ -157,6 +157,15 @@ limitations under the License. background-color: $roomtile-selected-bg-color; } +.mx_DNDRoomTile { + transform: none; + transition: transform 0.2s; +} + +.mx_DNDRoomTile_dragging { + transform: scale(1.05, 1.05); +} + .mx_RoomTile:focus { filter: none ! important; background-color: $roomtile-focused-bg-color; From 68f19f9558d33ff67e692553f77593af7dd5eb80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Sat, 18 Nov 2017 21:37:55 +0000 Subject: [PATCH 109/391] Translated using Weblate (Serbian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 2df46220c..77214f231 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -217,5 +217,6 @@ "Contributing code to Matrix and Riot": "Додавање кода у Матрикс и Riot", "Dev chat for the Riot/Web dev team": "Програмерско ћаскање за Riot/веб програмерски тим", "Dev chat for the Dendrite dev team": "Програмерско ћаскање за Dendrite програмерски тим", - "Co-ordination for Riot/Web translators": "Координација за Riot/веб преводиоце" + "Co-ordination for Riot/Web translators": "Координација за Riot/веб преводиоце", + "Reply": "Одговори" } From 4504ff954aeb44225f4eee9efadba246a8e1a1c3 Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Fri, 19 Jan 2018 10:10:13 +0000 Subject: [PATCH 110/391] Add `sudo: required` to travis config --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 94ed745cd..bc3fce38d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,10 @@ dist: trusty # we don't need sudo, so can run in a container, which makes startup much # quicker. -sudo: false +# +# unfortunately we do temporarily require sudo as a workaround for +# https://github.com/travis-ci/travis-ci/issues/8836 +sudo: required language: node_js node_js: From 883ee4ec754c8cdf13879aed0f0e4e44ec931c88 Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Fri, 19 Jan 2018 13:35:11 +0000 Subject: [PATCH 111/391] Remove react-dnd --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index 65f866dca..87d2aa432 100644 --- a/package.json +++ b/package.json @@ -75,8 +75,6 @@ "prop-types": "^15.5.10", "react": "^15.6.0", "react-beautiful-dnd": "^4.0.1", - "react-dnd": "^2.1.4", - "react-dnd-html5-backend": "^2.1.2", "react-dom": "^15.6.0", "react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef", "sanitize-html": "^1.11.1", From 8855cc294e732777a986a37069584b6a0dd58eeb Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 13 Dec 2017 22:57:24 +0000 Subject: [PATCH 112/391] converge on 'noisy' to mean noisy notifs --- src/components/views/context_menus/RoomTileContextMenu.js | 2 +- src/i18n/strings/ar.json | 2 +- src/i18n/strings/be.json | 2 +- src/i18n/strings/ca.json | 2 +- src/i18n/strings/cs.json | 2 +- src/i18n/strings/de_DE.json | 2 +- src/i18n/strings/el.json | 2 +- src/i18n/strings/en_EN.json | 2 +- src/i18n/strings/en_US.json | 2 +- src/i18n/strings/eo.json | 2 +- src/i18n/strings/es.json | 2 +- src/i18n/strings/eu.json | 2 +- src/i18n/strings/fa.json | 2 +- src/i18n/strings/fi.json | 2 +- src/i18n/strings/fr.json | 2 +- src/i18n/strings/gl.json | 2 +- src/i18n/strings/he.json | 2 +- src/i18n/strings/hu.json | 2 +- src/i18n/strings/id.json | 2 +- src/i18n/strings/it.json | 2 +- src/i18n/strings/ja.json | 2 +- src/i18n/strings/ko.json | 2 +- src/i18n/strings/lv.json | 2 +- src/i18n/strings/ml.json | 2 +- src/i18n/strings/nb_NO.json | 2 +- src/i18n/strings/nl.json | 2 +- src/i18n/strings/pl.json | 2 +- src/i18n/strings/pt.json | 2 +- src/i18n/strings/pt_BR.json | 2 +- src/i18n/strings/ru.json | 2 +- src/i18n/strings/sk.json | 2 +- src/i18n/strings/sv.json | 2 +- src/i18n/strings/ta.json | 2 +- src/i18n/strings/te.json | 2 +- src/i18n/strings/th.json | 2 +- src/i18n/strings/tr.json | 2 +- src/i18n/strings/uk.json | 2 +- src/i18n/strings/zh_Hans.json | 2 +- src/i18n/strings/zh_Hant.json | 2 +- 39 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/components/views/context_menus/RoomTileContextMenu.js b/src/components/views/context_menus/RoomTileContextMenu.js index 1518bb22b..36602cfac 100644 --- a/src/components/views/context_menus/RoomTileContextMenu.js +++ b/src/components/views/context_menus/RoomTileContextMenu.js @@ -275,7 +275,7 @@ module.exports = React.createClass({
- { _t('All messages (loud)') } + { _t('All messages (noisy)') }
diff --git a/src/i18n/strings/ar.json b/src/i18n/strings/ar.json index d5952825a..edd99017d 100644 --- a/src/i18n/strings/ar.json +++ b/src/i18n/strings/ar.json @@ -8,7 +8,7 @@ "All Rooms": "كل الغُرف", "Safari and Opera work too.": "متصفح سافاري و متصفح أوبرا يعملان أيضاً.", "Add an email address above to configure email notifications": "أضف بريداً إلكترونياً أعلاه من أجل تعديل إعدادت تنبيهات البريد الإلكتروني", - "All messages (loud)": "كل الرسائل (صوت مرتفع)", + "All messages (noisy)": "كل الرسائل (صوت مرتفع)", "All notifications are currently disabled for all targets.": "كل التنبيهات غير مفعلة حالياً للجميع.", "An error occurred whilst saving your email notification preferences.": "حدث خطأ ما خلال حفظ إعدادات التنبيهات للبريد الإلكتروني.", "Call invitation": "دعوة لمحادثة", diff --git a/src/i18n/strings/be.json b/src/i18n/strings/be.json index 479c5c656..fe8cd4348 100644 --- a/src/i18n/strings/be.json +++ b/src/i18n/strings/be.json @@ -1,7 +1,7 @@ { "Add an email address above to configure email notifications": "Дадайце адрас электроннай пошты вышэй, каб наладзіць апавяшчэнні", "All messages": "Усе паведамленні", - "All messages (loud)": "Усе паведамленні (гучна)", + "All messages (noisy)": "Усе паведамленні (гучна)", "All notifications are currently disabled for all targets.": "Усе апавяшчэнні ў цяперашні час адключаныя для ўсіх мэтаў.", "An error occurred whilst saving your email notification preferences.": "Адбылася памылка падчас захавання налады апавяшчэнняў па электроннай пошце.", "Cancel Sending": "Адмяніць адпраўку", diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index fe82e8146..fdfa90b9f 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -14,7 +14,7 @@ "Failed to remove tag %(tagName)s from room": "No s'ha pogut esborrar l'etiqueta %(tagName)s de la sala", "Filter room names": "Filtra els noms de les sales", "Couldn't load home page": "No s'ha pogut carregar la pàgina d'inici", - "All messages (loud)": "Tots els missatges (sorollós)", + "All messages (noisy)": "Tots els missatges (sorollós)", "Mentions only": "Només mencions", "Mute": "Silenciat", "Direct Chat": "Xat directe", diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 8b8550261..47bb80623 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -42,7 +42,7 @@ "Messages sent by bot": "Zprávy poslané robotem", "more": "více", "Mute": "Ztlumit", - "All messages (loud)": "Všechny zprávy (hlasitě)", + "All messages (noisy)": "Všechny zprávy (hlasitě)", "Couldn't load home page": "Nepodařilo se nahrát úvodní stránku", "All notifications are currently disabled for all targets.": "Veškeré notifikace jsou aktuálně pro všechny cíle vypnuty.", "Cancel Sending": "Zrušit odesílání", diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 196bdc9a3..bc45c2405 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -62,7 +62,7 @@ "On": "An", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Du hast sie eventuell auf einem anderen Matrix-Client und nicht in Riot konfiguriert. Sie können in Riot nicht verändert werden, gelten aber trotzdem", "All messages": "Alle Nachrichten", - "All messages (loud)": "Alle Nachrichten (laut)", + "All messages (noisy)": "Alle Nachrichten (laut)", "Cancel Sending": "Senden abbrechen", "Close": "Schließen", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Soll der Raum-Alias %(alias)s gelöscht und der %(name)s aus dem Verzeichnis entfernt werden?", diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json index a3d72487c..1e8cf01bf 100644 --- a/src/i18n/strings/el.json +++ b/src/i18n/strings/el.json @@ -29,7 +29,7 @@ "Collecting app version information": "Συγκέντρωση πληροφοριών σχετικά με την έκδοση της εφαρμογής", "customServer_text": "Μπορείτε να χρησιμοποιήσετε τις προσαρμοσμένες ρυθμίσεις για να εισέλθετε σε άλλους διακομιστές Matrix επιλέγοντας μια διαφορετική διεύθυνση για το διακομιστή.
Αυτό σας επιτρέπει να χρησιμοποιήσετε την εφαρμογή Riot με έναν υπάρχοντα λογαριασμό σε διαφορετικό διακομιστή.

Επίσης μπορείτε να επιλέξετε ένα διαφορετικό διακομιστή ταυτότητας αλλά δεν θα έχετε τη δυνατότητα να προσκαλέσετε άλλους χρήστες ή να σας προσκαλέσουν μέσω μηνυμάτων ηλεκτρονικής αλληλογραφίας.", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s μέσω %(browserName)s σε %(osName)s", - "All messages (loud)": "Όλα τα μηνύματα (δυνατά)", + "All messages (noisy)": "Όλα τα μηνύματα (δυνατά)", "delete the alias.": "διέγραψε το ψευδώνυμο.", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Διαγραφή του ψευδώνυμου %(alias)s και αφαίρεση του %(name)s από το ευρετήριο;", "Dismiss": "Απόρριψη", diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index cdca2570c..e3db4e76c 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -137,7 +137,7 @@ "Failed to set Direct Message status of room": "Failed to set Direct Message status of room", "unknown error code": "unknown error code", "Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s", - "All messages (loud)": "All messages (loud)", + "All messages (noisy)": "All messages (noisy)", "All messages": "All messages", "Mentions only": "Mentions only", "Mute": "Mute", diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json index 012b1f5da..5d24c945e 100644 --- a/src/i18n/strings/en_US.json +++ b/src/i18n/strings/en_US.json @@ -5,7 +5,7 @@ "Add an email address above to configure email notifications": "Add an email address above to configure email notifications", "Advanced notification settings": "Advanced notification settings", "All messages": "All messages", - "All messages (loud)": "All messages (loud)", + "All messages (noisy)": "All messages (noisy)", "All Rooms": "All Rooms", "All notifications are currently disabled for all targets.": "All notifications are currently disabled for all targets.", "An error occurred whilst saving your email notification preferences.": "An error occurred while saving your email notification preferences.", diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index 6dcf08095..d9f88cae5 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -1,7 +1,7 @@ { "A new version of Riot is available.": "Nova versio de \"Riot\" haveblas.", "All messages": "Ĉiuj mesaĝoj", - "All messages (loud)": "Ĉiuj mesaĝoj (lauta)", + "All messages (noisy)": "Ĉiuj mesaĝoj (lauta)", "All Rooms": "Ĉiuj babilejoj", "Cancel": "Nuligi", "delete the alias.": "Forviŝi la kromnomon.", diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index b0fbdaa84..5a7505a7d 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -135,7 +135,7 @@ "You have successfully set a password and an email address!": "¡Ha establecido exitosamente la contraseña y la dirección de email!", "You have successfully set a password!": "¡Ha establecido exitosamente una contraseña!", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s en %(osName)s", - "All messages (loud)": "Todos los mensajes (ruidoso)", + "All messages (noisy)": "Todos los mensajes (ruidoso)", "All notifications are currently disabled for all targets.": "Las notificaciones estan desactivadas para todos los objetivos.", "Collecting app version information": "Recolectando información de la versión de la aplicación", "Collecting logs": "Recolectando registros", diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index 140f34989..bd5e5c84c 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -5,7 +5,7 @@ "Add an email address above to configure email notifications": "Gehitu e-mail helbide bat goian e-mail bidezko jakinarazpenak konfiguratzeko", "Advanced notification settings": "Jakinarazpen aurreratuen ezarpenak", "All messages": "Mezu guztiak", - "All messages (loud)": "Mezu guztiak (ozen)", + "All messages (noisy)": "Mezu guztiak (ozen)", "All Rooms": "Gela guztiak", "All notifications are currently disabled for all targets.": "Une honetan jakinarazpen guztiak helburu guztietarako desgaituta daude.", "An error occurred whilst saving your email notification preferences.": "Errore bat gertatu da zure e-mail bidezko jakinarazpenen hobespenak gordetzean.", diff --git a/src/i18n/strings/fa.json b/src/i18n/strings/fa.json index 2ecdd4457..6570b0210 100644 --- a/src/i18n/strings/fa.json +++ b/src/i18n/strings/fa.json @@ -1,7 +1,7 @@ { "A new version of Riot is available.": "نسخه‌ی جدید از رایوت موجود است.", "All messages": "همه‌ی پیام‌ها", - "All messages (loud)": "همه‌ی پیام‌ها(بلند)", + "All messages (noisy)": "همه‌ی پیام‌ها(بلند)", "All Rooms": "همه‌ی گپ‌ها", "Cancel Sending": "فرستادن را لغو کن", "Changelog": "تغییراتِ به‌وجودآمده", diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 9b63f9843..7e8c0dd37 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -4,7 +4,7 @@ "Add an email address above to configure email notifications": "Lisää sähköpostiosoite yllä saadaksesi ilmoituksia sähköpostiisi", "Advanced notification settings": "Lisäasetukset ilmoituksille", "All messages": "Kaikki viestit", - "All messages (loud)": "Kaikki viestit (äänekkäästi)", + "All messages (noisy)": "Kaikki viestit (äänekkäästi)", "All Rooms": "Kaikki huoneet", "All notifications are currently disabled for all targets.": "Kaikki ilmoitukset on kytketty pois kaikilta kohteilta.", "An error occurred whilst saving your email notification preferences.": "Sähköposti-ilmoitusasetuksia tallettaessa tapahtui virhe.", diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 9e365cde0..294e4fbd3 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -1,7 +1,7 @@ { "Add an email address above to configure email notifications": "Ajouter une adresse e-mail pour la configuration des notifications par e-mail", "All messages": "Tous les messages", - "All messages (loud)": "Tous les messages (fort)", + "All messages (noisy)": "Tous les messages (fort)", "All notifications are currently disabled for all targets.": "Toutes les notifications sont désactivées pour tous les appareils.", "An error occurred whilst saving your email notification preferences.": "Une erreur est survenue lors de la sauvegarde de vos préférences de notification par e-mail.", "Cancel Sending": "Annuler l'envoi", diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index 3fec05e9f..0c7f18303 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -5,7 +5,7 @@ "Add an email address above to configure email notifications": "Engada un enderezo de correo electrónico para configurar as notificacións", "Advanced notification settings": "Axustes avanzados de notificación", "All messages": "Todas as mensaxes", - "All messages (loud)": "Todas as mensaxes (alto)", + "All messages (noisy)": "Todas as mensaxes (alto)", "All Rooms": "Todas as Salas", "All notifications are currently disabled for all targets.": "Todas as notificacións están deshabilitadas para todos os destinos.", "An error occurred whilst saving your email notification preferences.": "Algo fallou mentras se gardaban as súas preferencias de notificaicón.", diff --git a/src/i18n/strings/he.json b/src/i18n/strings/he.json index 44363527a..6026f2d9e 100644 --- a/src/i18n/strings/he.json +++ b/src/i18n/strings/he.json @@ -3,7 +3,7 @@ "Add an email address above to configure email notifications": "הוסף כתובת דואר אלקטורני למעלה בכדי להגדיר התראות", "Advanced notification settings": "הגדרות מתקדמות להתראות", "All messages": "כל ההודעות", - "All messages (loud)": "כל ההודעות (צעקה)", + "All messages (noisy)": "כל ההודעות (צעקה)", "All Rooms": "כל החדרים", "All notifications are currently disabled for all targets.": "התראות מנוטרלות לכלל המערכת.", "An error occurred whilst saving your email notification preferences.": "קרתה שגיאה בזמן שמירת הגדרות התראה באמצעות הדואר האלקטרוני.", diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 4fe423371..c6a6e6db2 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -2,7 +2,7 @@ "Add an email address above to configure email notifications": "E-mail értesítés beállításához írd be az e-mail címed", "Advanced notification settings": "Haladó értesítési beállítások", "All messages": "Minden üzenet", - "All messages (loud)": "Minden üzenet (hangos)", + "All messages (noisy)": "Minden üzenet (hangos)", "All notifications are currently disabled for all targets.": "Minden céleszközön minden értesítés tiltva van.", "An error occurred whilst saving your email notification preferences.": "Hiba történt az e-mail értesítés beállításánál.", "Call invitation": "Hívás meghívó", diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index 28c65ffd6..f2d8804bb 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -5,7 +5,7 @@ "Add an email address above to configure email notifications": "Tambahkan alamat email di atas untuk konfigurasi notifikasi email", "Advanced notification settings": "Pengaturan notifikasi lanjutan", "All messages": "Semua pesan", - "All messages (loud)": "Semua pesan (keras)", + "All messages (noisy)": "Semua pesan (keras)", "All Rooms": "Semua Ruang", "All notifications are currently disabled for all targets.": "Semua notifikasi saat ini dinonaktifkan untuk semua target.", "An error occurred whilst saving your email notification preferences.": "Terjadi kesalahan saat menyimpan preferensi notifikasi email Anda.", diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index a162340fb..bd70c9582 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -4,7 +4,7 @@ "Add an email address above to configure email notifications": "Aggiungi un indirizzo email sopra per configurare le notifiche via email", "Advanced notification settings": "Impostazioni di notifica avanzate", "All messages": "Tutti i messaggi", - "All messages (loud)": "Tutti i messaggi (rumoroso)", + "All messages (noisy)": "Tutti i messaggi (rumoroso)", "All Rooms": "Tutte le stanze", "An error occurred whilst saving your email notification preferences.": "Si è verificato un errore durante il salvataggio delle tue preferenze sulle notifiche email.", "Call invitation": "Invito ad una chiamata", diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index 97a0640e0..e5812923b 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -1,6 +1,6 @@ { "All messages": "全ての発言", - "All messages (loud)": "全ての発言(通知音あり)", + "All messages (noisy)": "全ての発言(通知音あり)", "Cancel": "取消", "Close": "閉じる", "Direct Chat": "対話", diff --git a/src/i18n/strings/ko.json b/src/i18n/strings/ko.json index 62bea2ebd..c769e4ea3 100644 --- a/src/i18n/strings/ko.json +++ b/src/i18n/strings/ko.json @@ -3,7 +3,7 @@ "Add an email address above to configure email notifications": "이메일 알림을 설정하기 위해 이메일 주소를 추가해주세요", "Advanced notification settings": "고급 알림 설정", "All messages": "모든 메시지", - "All messages (loud)": "모든 메시지 (크게)", + "All messages (noisy)": "모든 메시지 (크게)", "All Rooms": "모든 방", "All notifications are currently disabled for all targets.": "현재 모든 알림이 모든 상대에게서 꺼졌어요.", "An error occurred whilst saving your email notification preferences.": "이메일 알림을 설정하다가 오류가 일어났어요.", diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json index 7114e9d5e..c71e991f3 100644 --- a/src/i18n/strings/lv.json +++ b/src/i18n/strings/lv.json @@ -5,7 +5,7 @@ "Add an email address above to configure email notifications": "Pievieno augšā epasta adresi, lai konfigurētu epasta notifikāciju paziņojumus", "Advanced notification settings": "Īpašie notifikāciju uzstādījumi", "All messages": "Visas ziņas", - "All messages (loud)": "Visas ziņas (skaļi)", + "All messages (noisy)": "Visas ziņas (skaļi)", "All Rooms": "Visas istabas", "All notifications are currently disabled for all targets.": "Visi notifikāciju paziņojumi ir atspējoti visiem saņēmējiem.", "An error occurred whilst saving your email notification preferences.": "Radās kļūda saglabājot tavus epasta notifikāciju ziņu uzstādījumus.", diff --git a/src/i18n/strings/ml.json b/src/i18n/strings/ml.json index 47bdfd8e9..760845028 100644 --- a/src/i18n/strings/ml.json +++ b/src/i18n/strings/ml.json @@ -1,7 +1,7 @@ { "Add an email address above to configure email notifications": "ഇ മെയില്‍ അറിയിപ്പുകൾ ലഭിക്കാന്‍ മുകളില്‍ ഇ-മെയില്‍ വിലാസം നല്‍കൂ", "All messages": "എല്ലാ സന്ദേശങ്ങളും", - "All messages (loud)": "എല്ലാ സന്ദേശങ്ങളും (ഉച്ചത്തിൽ)", + "All messages (noisy)": "എല്ലാ സന്ദേശങ്ങളും (ഉച്ചത്തിൽ)", "%(appName)s via %(browserName)s on %(osName)s": "%(osName)sല്‍ %(browserName)s വഴി %(appName)s", "Safari and Opera work too.": "സഫാരിയിലുംപിന്നെ ഓപ്പേറയിലുംപ്രവര്‍ത്തിക്കുന്നു.", "A new version of Riot is available.": "റയട്ടിന്റെ ഒരു പുതിയ പതിപ്പ് ലഭ്യമാണ്.", diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index 91bb33d84..71980bd26 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -2,7 +2,7 @@ "Add an email address above to configure email notifications": "Legg til en epost adresse for å sette opp epost varsling", "Advanced notification settings": "Avanserte varslingsinnstillinger", "All messages": "Alle meldinger", - "All messages (loud)": "Alle meldinger (høy)", + "All messages (noisy)": "Alle meldinger (høy)", "All notifications are currently disabled for all targets.": "Alle varsler er deaktivert for alle mottakere.", "An error occurred whilst saving your email notification preferences.": "En feil oppsto i forbindelse med lagring av epost varsel innstillinger.", "Cancel Sending": "Avbryt sending", diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 558f9c681..938e7714e 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -2,7 +2,7 @@ "Add an email address above to configure email notifications": "Voeg een e-mailadres toe om e-mailmeldingen te ontvangen", "Advanced notification settings": "Geavanceerde meldingsinstellingen", "All messages": "Alle berichten", - "All messages (loud)": "Alle berichten (luid)", + "All messages (noisy)": "Alle berichten (luid)", "All notifications are currently disabled for all targets.": "Alle meldingen zijn momenteel uitgeschakeld voor alle doelen.", "An error occurred whilst saving your email notification preferences.": "Er is een fout opgetreden tijdens het opslaan van uw e-mailmeldingsvoorkeuren.", "Call invitation": "Oproep-uitnodiging", diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index 7566963c5..31fdfbe6e 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -5,7 +5,7 @@ "Add an email address above to configure email notifications": "Dodaj adres e-mail powyżej, aby skonfigurować powiadomienia e-mailowe", "Advanced notification settings": "Zaawansowane ustawienia powiadomień", "All messages": "Wszystkie wiadomości", - "All messages (loud)": "Wszystkie wiadomości (głośno)", + "All messages (noisy)": "Wszystkie wiadomości (głośno)", "All Rooms": "Wszystkie pokoje", "All notifications are currently disabled for all targets.": "Wszystkie powiadomienia są obecnie wyłączone dla wszystkich celów.", "An error occurred whilst saving your email notification preferences.": "Podczas zapisywania ustawień powiadomień e-mail wystąpił błąd.", diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json index 6d4274f1e..d8f314991 100644 --- a/src/i18n/strings/pt.json +++ b/src/i18n/strings/pt.json @@ -1,7 +1,7 @@ { "Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar as notificações por email", "All messages": "Todas as mensagens", - "All messages (loud)": "Todas as mensagens (alto)", + "All messages (noisy)": "Todas as mensagens (alto)", "An error occurred whilst saving your email notification preferences.": "Ocorreu um erro ao guardar as suas preferências de notificação por email.", "Call invitation": "Convite para chamada", "Cancel Sending": "Cancelar o envio", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 681339d1e..40df7d604 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -1,7 +1,7 @@ { "Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar suas notificações por email", "All messages": "Todas as mensagens", - "All messages (loud)": "Todas as mensagens (alto)", + "All messages (noisy)": "Todas as mensagens (alto)", "An error occurred whilst saving your email notification preferences.": "Um erro ocorreu enquanto o sistema estava salvando suas preferências de notificação por email.", "Call invitation": "Convite para chamada", "Cancel Sending": "Cancelar o envio", diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 48415323b..2d033fb98 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -63,7 +63,7 @@ "You are not receiving desktop notifications": "Вы не получаете уведомления на рабочем столе", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Возможно вы настроили их не в Riot, а в другом Matrix-клиенте. Настроить их в Riot не удастся, но они будут в нем применяться", "All messages": "Все сообщения", - "All messages (loud)": "Все сообщения (со звуком)", + "All messages (noisy)": "Все сообщения (со звуком)", "Cancel Sending": "Отменить отправку", "Close": "Закрыть", "Download this file": "Скачать этот файл", diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 01ecc7881..5aaedc9b8 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -135,7 +135,7 @@ "Failed to set Direct Message status of room": "Nepodarilo sa nastaviť stav miestnosti priama konverzácia", "unknown error code": "neznámy kód chyby", "Failed to forget room %(errCode)s": "Nepodarilo sa zabudnuť miestnosť %(errCode)s", - "All messages (loud)": "Všetky správy (hlučné)", + "All messages (noisy)": "Všetky správy (hlučné)", "All messages": "Všetky správy", "Mentions only": "Len zmienky", "Mute": "Umlčať", diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 75b060c28..79a97362b 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -2,7 +2,7 @@ "Add an email address above to configure email notifications": "Lägg till en epostadress här för att konfigurera epostaviseringar", "Advanced notification settings": "Avancerade aviseringsinställingar", "All messages": "Alla meddelanden", - "All messages (loud)": "Alla meddelanden (högljudd)", + "All messages (noisy)": "Alla meddelanden (högljudd)", "All notifications are currently disabled for all targets.": "Alla aviseringar är för tillfället avstängda för alla mål.", "An error occurred whilst saving your email notification preferences.": "Ett fel uppstod då epostaviseringsinställningarna sparades.", "Call invitation": "Inbjudan till samtal", diff --git a/src/i18n/strings/ta.json b/src/i18n/strings/ta.json index dc6a593e3..8fe8a443d 100644 --- a/src/i18n/strings/ta.json +++ b/src/i18n/strings/ta.json @@ -4,7 +4,7 @@ "Add an email address above to configure email notifications": "மின்னஞ்சல் மூலம் அறிவிப்புகளை பெற உங்கள் மின்னஞ்சல் முகவரியை மேலே இணைக்கவும்", "Advanced notification settings": "மேம்பட்ட அறிவிப்பிற்கான அமைப்புகள்", "All messages": "அனைத்து செய்திகள்", - "All messages (loud)": "அனைத்து செய்திகள் (உரக்க)", + "All messages (noisy)": "அனைத்து செய்திகள் (உரக்க)", "All Rooms": "அனைத்து அறைகள்", "All notifications are currently disabled for all targets.": "அனைத்து இலக்குகளுக்கான அனைத்து அறிவுப்புகளும் தற்போது முடக்கி வைக்கப்பட்டுள்ளது.", "An error occurred whilst saving your email notification preferences.": "உங்கள் மின்னஞ்சல் அறிவிப்பு விருப்பங்களை சேமிப்பதில் ஏதோ பிழை ஏற்பட்டுள்ளது.", diff --git a/src/i18n/strings/te.json b/src/i18n/strings/te.json index b7af70a2c..e50d78fa0 100644 --- a/src/i18n/strings/te.json +++ b/src/i18n/strings/te.json @@ -16,7 +16,7 @@ "Add an email address above to configure email notifications": "ఇమెయిల్ ప్రకటనలను రూపశిల్పం చేయడానికి ఎగువ ఇమెయిల్ చిరునామాను జోడించండి", "Advanced notification settings": "ఆధునిక తాఖీదు అమరిక", "All messages": "అన్ని సందేశాలు", - "All messages (loud)": "అన్ని సందేశాలు (గట్టిగ)", + "All messages (noisy)": "అన్ని సందేశాలు (గట్టిగ)", "All Rooms": "అన్ని గదులు", "Call invitation": "మాట్లాడడానికి ఆహ్వానం", "Cancel Sending": "పంపడాన్ని ఆపేయండి", diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 973f4319a..5b27b8108 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -81,7 +81,7 @@ "Riot is not supported on mobile web. Install the app?": "Riot ไม่รองรับเว็บบนอุปกรณ์พกพา ติดตั้งแอป?", "Riot does not know how to join a room on this network": "Riot ไม่รู้วิธีเข้าร่วมห้องในเครือข่ายนี้", "Direct Chat": "แชทโดยตรง", - "All messages (loud)": "ทุกข้อความ (เสียงดัง)", + "All messages (noisy)": "ทุกข้อความ (เสียงดัง)", "Custom Server Options": "กำหนดเซิร์ฟเวอร์เอง", "Directory": "ไดเรกทอรี", "Enable audible notifications in web client": "เปิดใช้งานเสียงแจ้งเตือนบนเว็บไคลเอนต์", diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json index 23537b991..b0fcc46b6 100644 --- a/src/i18n/strings/tr.json +++ b/src/i18n/strings/tr.json @@ -5,7 +5,7 @@ "Add an email address above to configure email notifications": "E-posta bildirimlerini yapılandırmak için yukarıya bir e-posta adresi ekleyin", "Advanced notification settings": "Gelişmiş bildirim ayarları", "All messages": "Tüm mesajlar", - "All messages (loud)": "Tüm mesajlar (uzun)", + "All messages (noisy)": "Tüm mesajlar (uzun)", "All Rooms": "Tüm Odalar", "All notifications are currently disabled for all targets.": "Tüm bildirimler şu anda tüm hedefler için devre dışı bırakılmıştır.", "An error occurred whilst saving your email notification preferences.": "E-posta bildirim tercihlerinizi kaydetme işlemi sırasında bir hata oluştu.", diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 2e3cf6128..5cf95b384 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -1,7 +1,7 @@ { "A new version of Riot is available.": "Доступне оновлення для Riot.", "All messages": "Усі повідомлення", - "All messages (loud)": "Усі повідомлення (гучно)", + "All messages (noisy)": "Усі повідомлення (гучно)", "All Rooms": "Усі кімнати", "All notifications are currently disabled for all targets.": "Сповіщення для усіх цілей на даний момент вимкнені.", "An error occurred whilst saving your email notification preferences.": "Під час збереження налаштувань сповіщень е-поштою трапилася помилка.", diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 0a1465b4c..4a7b3a325 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -10,7 +10,7 @@ "Add an email address above to configure email notifications": "请在上方输入电子邮件地址以接收邮件通知", "Advanced notification settings": "通知高级设置", "All messages": "全部消息", - "All messages (loud)": "全部消息(高亮)", + "All messages (noisy)": "全部消息(高亮)", "All Rooms": "全部聊天室", "All notifications are currently disabled for all targets.": "当前所有目标的通知均已禁用。", "An error occurred whilst saving your email notification preferences.": "保存邮件通知首选项设定时出现错误。", diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index fc5dd6ec6..ab35f46c1 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -8,7 +8,7 @@ "Safari and Opera work too.": "SafariOpera 也能使用。", "Advanced notification settings": "進階通知設定", "All messages": "所有訊息", - "All messages (loud)": "所有訊息(吵鬧)", + "All messages (noisy)": "所有訊息(吵鬧)", "All Rooms": "所有的聊天室", "Call invitation": "通話邀請", "Cancel": "取消", From 37b5de2251902d3974ebde1a6c4ceba5e8a4127e Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 19 Jan 2018 16:52:24 +0000 Subject: [PATCH 113/391] update triaging a bit --- README.md | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 273f448b2..b32bbea74 100644 --- a/README.md +++ b/README.md @@ -319,31 +319,51 @@ For a developer guide, see the [translating dev doc](docs/translating-dev.md). Triaging issues =============== -Issues will be triaged by the core team using the following primary set of tags: +Issues will be triaged by the core team using the below set of tags. -priority: +Tags are meant to be used in combination - e.g.: + * P1 critical bug == really urgent stuff that should be next in the bugfixing todo list + * "release blocker" == stuff which is blocking us from cutting the next release. + * P1 feature type:voip == what VoIP features should we be working on next? -* P1: top priority; typically blocks releases +priority: **compulsory** + +* P1: top priority - i.e. pool of stuff which we should be working on next * P2: still need to fix, but lower than P1 * P3: non-urgent -* P4: intereseting idea - bluesky some day +* P4: interesting idea - bluesky some day * P5: recorded for posterity/to avoid duplicates. No intention to resolves right now. -bug or feature: +bug or feature: **compulsory** * bug * feature -bug severity: +bug severity: **compulsory, if bug** -* cosmetic - feature works functionally but UI/UX is broken * critical - whole app doesn't work * major - entire feature doesn't work * minor - partially broken feature (but still usable) +* cosmetic - feature works functionally but UI/UX is broken -additional categories: +types +* type:* - refers to a particular part of the app; used to filter bugs + on a given topic - e.g. VOIP, signup, timeline, etc. + +additional categories (self-explanatory): * release blocker * ui/ux (think of this as cosmetic) * network (specific to network conditions) -* platform (platform specific) +* platform specific +* accessibility +* maintenance +* performance +* i18n +* blocked - whether this issue currently can't be progressed due to outside factors + +community engagement +* easy +* hacktoberfest +* bounty? - proposal to be included in a bounty programme +* bounty - included in Status Open Bounty From 189b7236aff45b79a21e7074c211322cd0df0815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Tue, 26 Dec 2017 17:56:03 +0000 Subject: [PATCH 114/391] Translated using Weblate (Slovak) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index f2e9147bd..34ce52b25 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -219,5 +219,6 @@ "Appear Offline": "Zdá sa byť nedostupný", "Away": "Preč", "Please install Chrome or Firefox for the best experience.": "Aby ste s používania mali čo možno najlepší dojem, nainštalujte si Chrome alebo Firefox.", - "Safari and Opera work too.": "Správne fungujú aj Safari a Opera." + "Safari and Opera work too.": "Správne fungujú aj Safari a Opera.", + "Reply": "Odpovedať" } From 4eeb7989f6d6960617ff0d771b82e50b1493baa1 Mon Sep 17 00:00:00 2001 From: pebles Date: Sat, 20 Jan 2018 16:33:28 +0000 Subject: [PATCH 115/391] Translated using Weblate (Spanish) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/ --- src/i18n/strings/es.json | 53 +++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 6607fb87d..a9da177d2 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -7,7 +7,7 @@ "Cancel Sending": "Cancelar envío", "Can't update user notification settings": "No se puede actualizar la configuración de notificaciones del usuario", "Close": "Cerrar", - "Couldn't find a matching Matrix room": "No se encontró una sala Matrix que coincidiera", + "Couldn't find a matching Matrix room": "No se encontró una sala Matrix que coincida.", "Custom Server Options": "Opciones de Servidor Personalizado", "customServer_text": "Puedes utilizar las opciones de servidor personalizadas para iniciar sesión en otros servidores Matrix especificando una URL de Home server distinta.
Esto te permite usar Riot con una cuenta Matrix existente en un Home server distinto.

También puedes configurar un servidor de identidad personalizado, pero no podrás ni invitar usuarios ni ser invitado a través de tu dirección de correo electrónico.", "delete the alias.": "borrar el alias.", @@ -107,19 +107,19 @@ "Safari and Opera work too.": "Safari y Opera también funcionan.", "A new version of Riot is available.": "Una nueva versión de Riot está disponible.", "Cancel": "Cancelar", - "Describe your problem here.": "Describa su problema aquí.", + "Describe your problem here.": "Describe el problema aquí.", "Forward Message": "Reenviar mensaje", "Hide panel": "Ocultar panel", "(HTTP status %(httpStatus)s)": "(estado HTTP %(httpStatus)s)", "I understand the risks and wish to continue": "Entiendo los riesgos y deseo continuar", "Changelog": "Registro de cambios", "Collapse panel": "Colapsar panel", - "Remember, you can always set an email address in user settings if you change your mind.": "Recuerde que, si es necesario, puede establecer una dirección de email en las preferencias de usuario.", + "Remember, you can always set an email address in user settings if you change your mind.": "Recuerda que si es necesario puedes establecer una dirección de email en las preferencias de usuario.", "All Rooms": "Todas las salas", "Expand panel": "Expandir panel", - "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar los problemas, los registros de este cliente serán enviados adjuntos a este informe de fallo. Si quisiera enviar el texto anterior solamente, entonces desmarque:", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar los problemas, los registros de este cliente serán enviados adjuntos a este informe de fallo. Si quisieras enviar el texto anterior solamente, entonces desmarca:", "Login": "Iniciar sesión", - "Report a bug": "Informe de un fallo", + "Report a bug": "Informar de un fallo", "Search…": "Buscar…", "Send": "Enviar", "Send logs": "Enviar registros", @@ -132,8 +132,8 @@ "What's New": "Novedades", "What's new?": "¿Qué hay de nuevo?", "Waiting for response from server": "Esperando una respuesta del servidor", - "You have successfully set a password and an email address!": "¡Has establecido exitosamente una contraseña y una dirección de correo electrónico!", - "You have successfully set a password!": "¡Has establecido exitosamente una contraseña!", + "You have successfully set a password and an email address!": "¡Has establecido una nueva contraseña y dirección de correo electrónico!", + "You have successfully set a password!": "¡Has establecido una nueva contraseña!", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s en %(osName)s", "All messages (loud)": "Todos los mensajes (ruidoso)", "All notifications are currently disabled for all targets.": "Las notificaciones estan desactivadas para todos los objetivos.", @@ -145,7 +145,7 @@ "Messages containing keywords": "Mensajes que contienen palabras clave", "Notify for all other messages/rooms": "Notificar para todos los demás mensajes/salas", "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Por favor describa el error. ¿Qué acción ejecutó? ¿Cuál era el resultado que esperaba? ¿Que pasó realmente?", - "Please describe the bug and/or send logs.": "Por favor describa el error y/o envíe los registros.", + "Please describe the bug and/or send logs.": "Por favor describe el error y/o envía los registros.", "Please install Chrome or Firefox for the best experience.": "Por favor instale Google Chrome o Mozilla Firefox para una mejor experiencia.", "powered by Matrix": "con el poder de Matrix", "Riot Desktop on %(platformName)s": "Riot Desktop en %(platformName)s", @@ -154,7 +154,7 @@ "You need to be using HTTPS to place a screen-sharing call.": "Debes usar HTTPS para hacer una llamada con pantalla compartida.", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "En su navegador actual, la apariencia y comportamiento de la aplicación puede ser completamente incorrecta, y algunas de las características podrían no funcionar. Si aún desea probarlo puede continuar, pero ¡no podremos ofrecer soporte por cualquier problema que pudiese tener!", "Welcome to Riot.im": "Bienvenido a Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Conversaciones & colaboración cifradas y descentralizadas con el poder de [matrix]", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas & colaboración con el poder de [matrix]", "Search the room directory": "Buscar en el directorio de salas", "Chat with Riot Bot": "Conversar con el Bot de Riot", "Get started with some tips from Riot Bot!": "¡Comenzar con algunos consejos de Riot Bot!", @@ -183,40 +183,43 @@ "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Muchas salas ya están disponibles en Matrix, enlazadas a redes existentes (Slack, IRC, Gitter, etc) o independientes. ¡Revisa el directorio!", "You can now return to your account after signing out, and sign in on other devices.": "Ahora puedes regresar a tu cuenta después de cerrar tu sesión, e iniciar sesión en otros dispositivos.", "Please set a password!": "¡Por favor establece una contraseña!", - "This will allow you to return to your account after signing out, and sign in on other devices.": "Esto le permitirá regresar a su cuenta después de cerrar sesión, así como iniciar sesión en otros dispositivos.", + "This will allow you to return to your account after signing out, and sign in on other devices.": "Esto te permitirá regresar a tu cuenta después de cerrar sesión, así como iniciar sesión en otros dispositivos.", "Warning": "Advertencia", "Checking for an update...": "Comprobando actualizaciones...", "No update available.": "No hay actualizaciones disponibles.", "Downloading update...": "Descargando actualizaciones...", - "To return to your account in future you need to set a password": "Para regresar a su cuenta en el futuro Ud. debe establecer una contraseña", - "Set Password": "Establezca la contraseña", + "To return to your account in future you need to set a password": "Para regresar a tu cuenta en el futuro debes establecer una contraseña", + "Set Password": "Establecer contraseña", "Error encountered (%(errorDetail)s).": "Error encontrado (%(errorDetail)s).", "Couldn't load home page": "No se puede cargar la página principal", "Bug report sent": "Informe de fallo enviado", "Thank you!": "¡Gracias!", "Show message in desktop notification": "Mostrar mensaje en la notificación del escritorio", - "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Puedes usar las opciones del servidor personalizado para acceder a otros servidores Matrix especificando un LUR de servidor de Hogar distinto.
Esto te permite usar Riot con una cuenta Matrix existente en un servidor de hogar distinto.

También podrías establecer un servidor de identidad personalizado pero no podrías invitar a otros usuarios o ser invitado por correo electrónico.", - "Appear Offline": "Muéstrate fuera de linea", - "Away": "Distante", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Puedes usar las opciones del servidor personalizado para acceder a otros servidores Matrix especificando su URL.
Esto te permite usar Riot con una cuenta Matrix existente en un servidor doméstico distinto.

También puedes establecer un servidor de identidad personalizado pero no podrás invitar a otros usuarios usando su dirección de correo electrónico, y tampoco ser invitado por el tuyo.", + "Appear Offline": "Mostrarse Desconectado", + "Away": "Ausente", "Back": "Atrás", - "Send Custom Event": "Envía Evento Acomodado", + "Send Custom Event": "Enviar Evento Personalizado", "You must specify an event type!": "Debes especificar un tipo de evento!", "Event sent!": "Evento enviado!", - "Failed to send custom event.": "Ha fallado el envio del evento acomodado.", + "Failed to send custom event.": "Ha fallado el envio del evento personalizado.", "Event Type": "Tipo de Evento", - "State Key": "Llave de estado", + "State Key": "Clave de estado", "Event Content": "Contenido del Evento", - "Send Account Data": "Envía Datos de la Cuenta", - "Filter results": "Filtra los resultados", - "Explore Room State": "Explora el Estado del Cuarto", - "Edit": "Edita", - "Explore Account Data": "Explora los Datos de la Cuenta", + "Send Account Data": "Enviar Datos de la Cuenta", + "Filter results": "Filtrar resultados", + "Explore Room State": "Explorar Estado de la Sala", + "Edit": "Editar", + "Explore Account Data": "Explorar Datos de la Cuenta", "Toolbox": "Caja de Herramientas", "Developer Tools": "Herramientas de Desarrollo", "Please install Chrome or Firefox for the best experience.": "Por favor instala Chrome o Firefox para una experiencia óptima.", "Safari and Opera work too.": "Safari y Opera también funcionan.", "Register": "Registro", "Rooms": "Salas", - "Invite to this community": "Invita a esta comunidad", - "Add rooms to this community": "Agrega salas a esta comunidad" + "Invite to this community": "Invitar a esta comunidad", + "Add rooms to this community": "Agregar salas a esta comunidad", + "Unpin Message": "Desmarcar Mensaje", + "Pin Message": "Marcar Mensaje", + "Reply": "Responder" } From 888a77b4bbb2c96d95076bdd1d529ac30208dfbb Mon Sep 17 00:00:00 2001 From: "A.G" Date: Sat, 20 Jan 2018 22:56:21 +0000 Subject: [PATCH 116/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 9d1eebd52..b08002bd7 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -216,5 +216,11 @@ "Please install Chrome or Firefox for the best experience.": "Installa Chrome o Firefox per la migliore esperienza d'uso.", "Safari and Opera work too.": "Anche Safari e Opera vanno bene.", "Register": "Registrati", - "Rooms": "Stanze" + "Rooms": "Stanze", + "Send Account Data": "Invia Dati Account", + "Unpin Message": "Sblocca messaggio", + "Pin Message": "Blocca messaggio", + "Add rooms to this community": "Aggiungi stanze a questa community", + "Reply": "Rispondi", + "Invite to this community": "Invita nella communita'" } From 29f05c09d6d12ed6a21647a38f947fc78d7097ac Mon Sep 17 00:00:00 2001 From: vricci Date: Sat, 20 Jan 2018 22:57:56 +0000 Subject: [PATCH 117/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index b08002bd7..b1412c355 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -217,7 +217,7 @@ "Safari and Opera work too.": "Anche Safari e Opera vanno bene.", "Register": "Registrati", "Rooms": "Stanze", - "Send Account Data": "Invia Dati Account", + "Send Account Data": "Invia dati account", "Unpin Message": "Sblocca messaggio", "Pin Message": "Blocca messaggio", "Add rooms to this community": "Aggiungi stanze a questa community", From 568e1f4f903e96fc02286068f769fdccb4d93859 Mon Sep 17 00:00:00 2001 From: "A.G" Date: Sat, 20 Jan 2018 22:58:41 +0000 Subject: [PATCH 118/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index b1412c355..b1287582c 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -211,7 +211,7 @@ "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.
Questo permette di usare Matrix con un account esistente su un home server diverso.

È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.", "Appear Offline": "Appari offline", "Away": "Assente", - "Explore Account Data": "Esplora dati account", + "Explore Account Data": "Esplora Dati Account", "Toolbox": "Strumenti", "Please install Chrome or Firefox for the best experience.": "Installa Chrome o Firefox per la migliore esperienza d'uso.", "Safari and Opera work too.": "Anche Safari e Opera vanno bene.", @@ -220,7 +220,7 @@ "Send Account Data": "Invia dati account", "Unpin Message": "Sblocca messaggio", "Pin Message": "Blocca messaggio", - "Add rooms to this community": "Aggiungi stanze a questa community", + "Add rooms to this community": "Aggiungi stanze a questa comunità", "Reply": "Rispondi", "Invite to this community": "Invita nella communita'" } From 52c5293a12c8e101ab718917d0fb4ef3111ec429 Mon Sep 17 00:00:00 2001 From: vricci Date: Sat, 20 Jan 2018 22:58:48 +0000 Subject: [PATCH 119/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index b1287582c..282185208 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -211,7 +211,7 @@ "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.
Questo permette di usare Matrix con un account esistente su un home server diverso.

È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.", "Appear Offline": "Appari offline", "Away": "Assente", - "Explore Account Data": "Esplora Dati Account", + "Explore Account Data": "Esplora dati account", "Toolbox": "Strumenti", "Please install Chrome or Firefox for the best experience.": "Installa Chrome o Firefox per la migliore esperienza d'uso.", "Safari and Opera work too.": "Anche Safari e Opera vanno bene.", From ce6338b853b0d80fb0b93dbd7906e514b9b8d567 Mon Sep 17 00:00:00 2001 From: "A.G" Date: Sat, 20 Jan 2018 22:59:04 +0000 Subject: [PATCH 120/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 282185208..4f20ff63a 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -222,5 +222,5 @@ "Pin Message": "Blocca messaggio", "Add rooms to this community": "Aggiungi stanze a questa comunità", "Reply": "Rispondi", - "Invite to this community": "Invita nella communita'" + "Invite to this community": "Invita nella comunità'" } From 2b26be73f6863f1399b5a384faa99f8806c0db50 Mon Sep 17 00:00:00 2001 From: pincopallopino Date: Sat, 20 Jan 2018 22:59:12 +0000 Subject: [PATCH 121/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 4f20ff63a..cd8d0efb4 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -220,7 +220,7 @@ "Send Account Data": "Invia dati account", "Unpin Message": "Sblocca messaggio", "Pin Message": "Blocca messaggio", - "Add rooms to this community": "Aggiungi stanze a questa comunità", + "Add rooms to this community": "Aggiungi stanze a questa community", "Reply": "Rispondi", "Invite to this community": "Invita nella comunità'" } From 3e5833e9f2f5202a6d29e9b7344c6218ba95ce9a Mon Sep 17 00:00:00 2001 From: "A.G" Date: Sat, 20 Jan 2018 22:59:22 +0000 Subject: [PATCH 122/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index cd8d0efb4..6059d05de 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -222,5 +222,5 @@ "Pin Message": "Blocca messaggio", "Add rooms to this community": "Aggiungi stanze a questa community", "Reply": "Rispondi", - "Invite to this community": "Invita nella comunità'" + "Invite to this community": "Invita nella comunità" } From 77d8fe3ef196f5ea4dde26628069c92b84ec60c5 Mon Sep 17 00:00:00 2001 From: pincopallopino Date: Sat, 20 Jan 2018 22:59:29 +0000 Subject: [PATCH 123/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 6059d05de..0a2dd4650 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -222,5 +222,5 @@ "Pin Message": "Blocca messaggio", "Add rooms to this community": "Aggiungi stanze a questa community", "Reply": "Rispondi", - "Invite to this community": "Invita nella comunità" + "Invite to this community": "Invita a questa community" } From 202f0e2163b5f909aca572e5ccac0eebee80f234 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 22 Jan 2018 16:42:08 +0000 Subject: [PATCH 124/391] Add EventTile_quote styling for less margin-right when in QuotePreview Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../vector/css/matrix-react-sdk/views/rooms/_EventTile.scss | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss index 33edd045a..48afc86df 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss @@ -96,6 +96,10 @@ limitations under the License. line-height: 22px; } +.mx_EventTile_quote { + margin-right: 10px; +} + .mx_EventTile_info .mx_EventTile_line { padding-left: 83px; } @@ -115,7 +119,7 @@ limitations under the License. background-color: $event-selected-color; } -.mx_EventTile:hover .mx_EventTile_line, +.mx_EventTile:hover .mx_EventTile_line:not(.mx_EventTile_quote), .mx_EventTile.menu .mx_EventTile_line { background-color: $event-selected-color; From 321f16d8a33af0aa8354441d5c8f8d68a346e867 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 22 Jan 2018 18:54:22 +0000 Subject: [PATCH 125/391] rename variable as it was horrible to read camelCased Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/RightPanel.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/structures/RightPanel.js b/src/components/structures/RightPanel.js index 82933c744..55f588f21 100644 --- a/src/components/structures/RightPanel.js +++ b/src/components/structures/RightPanel.js @@ -271,15 +271,15 @@ module.exports = React.createClass({ ) { const cli = this.context.matrixClient; const room = cli.getRoom(this.props.roomId); - let userIsInRoom; + let isUserInRoom; if (room) { const numMembers = room.getJoinedMembers().length; membersTitle = _t('%(count)s Members', { count: numMembers }); membersBadge =
{ formatCount(numMembers) }
; - userIsInRoom = room.hasMembershipState(this.context.matrixClient.credentials.userId, 'join'); + isUserInRoom = room.hasMembershipState(this.context.matrixClient.credentials.userId, 'join'); } - if (userIsInRoom) { + if (isUserInRoom) { inviteGroup =
From f5fc86258fc039c8f18e45cffb8770d0f827026a Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 22 Jan 2018 18:59:18 +0000 Subject: [PATCH 126/391] s/Highlight/SyntaxHighlight/ Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/ViewSource.js | 6 +++--- src/components/views/dialogs/DevtoolsDialog.js | 10 +++++----- .../elements/{Highlight.js => SyntaxHighlight.js} | 4 ++-- src/skins/vector/css/_components.scss | 2 +- .../{_Highlight.scss => _SyntaxHighlight.scss} | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) rename src/components/views/elements/{Highlight.js => SyntaxHighlight.js} (89%) rename src/skins/vector/css/vector-web/views/elements/{_Highlight.scss => _SyntaxHighlight.scss} (96%) diff --git a/src/components/structures/ViewSource.js b/src/components/structures/ViewSource.js index 8f60ae886..3a5d35a56 100644 --- a/src/components/structures/ViewSource.js +++ b/src/components/structures/ViewSource.js @@ -18,7 +18,7 @@ limitations under the License. import React from 'react'; import PropTypes from 'prop-types'; -import Highlight from '../views/elements/Highlight'; +import SyntaxHighlight from '../views/elements/SyntaxHighlight'; module.exports = React.createClass({ @@ -48,9 +48,9 @@ module.exports = React.createClass({ render: function() { return (
- + { JSON.stringify(this.props.content, null, 2) } - +
); } diff --git a/src/components/views/dialogs/DevtoolsDialog.js b/src/components/views/dialogs/DevtoolsDialog.js index 1b2af377c..1d8f616c0 100644 --- a/src/components/views/dialogs/DevtoolsDialog.js +++ b/src/components/views/dialogs/DevtoolsDialog.js @@ -17,7 +17,7 @@ limitations under the License. import React from 'react'; import PropTypes from 'prop-types'; import sdk from 'matrix-react-sdk'; -import Highlight from '../elements/Highlight'; +import SyntaxHighlight from '../elements/SyntaxHighlight'; import { _t } from 'matrix-react-sdk/lib/languageHandler'; import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; @@ -344,9 +344,9 @@ class RoomStateExplorer extends DevtoolsComponent { return
- + { JSON.stringify(this.state.event.event, null, 2) } - +
@@ -462,9 +462,9 @@ class AccountDataExplorer extends DevtoolsComponent { return
- + { JSON.stringify(this.state.event.event, null, 2) } - +
diff --git a/src/components/views/elements/Highlight.js b/src/components/views/elements/SyntaxHighlight.js similarity index 89% rename from src/components/views/elements/Highlight.js rename to src/components/views/elements/SyntaxHighlight.js index 8706bb05a..a7d8f894f 100644 --- a/src/components/views/elements/Highlight.js +++ b/src/components/views/elements/SyntaxHighlight.js @@ -18,7 +18,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import {highlightBlock} from 'highlight.js'; -export default class Highlight extends React.Component { +export default class SyntaxHighlight extends React.Component { static propTypes = { className: PropTypes.string, children: PropTypes.node, @@ -42,7 +42,7 @@ export default class Highlight extends React.Component { render() { const { className, children } = this.props; - return
+        return 
             { children }
         
; } diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 8ac662700..a3783786c 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -93,7 +93,7 @@ @import "./vector-web/views/dialogs/_SetEmailDialog.scss"; @import "./vector-web/views/dialogs/_SetPasswordDialog.scss"; @import "./vector-web/views/directory/_NetworkDropdown.scss"; -@import "./vector-web/views/elements/_Highlight.scss"; +@import "./vector-web/views/elements/_SyntaxHighlight.scss"; @import "./vector-web/views/elements/_ImageView.scss"; @import "./vector-web/views/elements/_InlineSpinner.scss"; @import "./vector-web/views/elements/_Spinner.scss"; diff --git a/src/skins/vector/css/vector-web/views/elements/_Highlight.scss b/src/skins/vector/css/vector-web/views/elements/_SyntaxHighlight.scss similarity index 96% rename from src/skins/vector/css/vector-web/views/elements/_Highlight.scss rename to src/skins/vector/css/vector-web/views/elements/_SyntaxHighlight.scss index 9b35844ff..e97401a16 100644 --- a/src/skins/vector/css/vector-web/views/elements/_Highlight.scss +++ b/src/skins/vector/css/vector-web/views/elements/_SyntaxHighlight.scss @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -.mx_Highlight { +.mx_SyntaxHighlight { /* inhibit hljs styling */ background: none !important; color: $light-fg-color !important; From 13dd8e2c76209611e31ff6a4bff48f67736238b4 Mon Sep 17 00:00:00 2001 From: "A.G" Date: Sat, 20 Jan 2018 23:00:26 +0000 Subject: [PATCH 127/391] Translated using Weblate (Italian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 0a2dd4650..039a0e6f6 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -222,5 +222,5 @@ "Pin Message": "Blocca messaggio", "Add rooms to this community": "Aggiungi stanze a questa community", "Reply": "Rispondi", - "Invite to this community": "Invita a questa community" + "Invite to this community": "Invita a questa comunità" } From 0df6f85843ca193c0b12ca6a1369b2777130adab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Sat, 20 Jan 2018 14:32:31 +0000 Subject: [PATCH 128/391] Translated using Weblate (Slovak) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 34ce52b25..510b8887c 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -130,7 +130,7 @@ "View Decrypted Source": "Zobraziť dešifrovaný zdroj", "Unhide Preview": "Zobraziť náhľad", "Permalink": "Trvalý odkaz", - "Quote": "Citovať", + "Quote": "Citácia", "Source URL": "Pôvodná URL", "Failed to set Direct Message status of room": "Nepodarilo sa nastaviť stav miestnosti priama konverzácia", "unknown error code": "neznámy kód chyby", From d9409232f9f833d6e5a7ddb5384dd355ec9c60d9 Mon Sep 17 00:00:00 2001 From: Ander Punnar Date: Tue, 23 Jan 2018 12:15:08 +0200 Subject: [PATCH 129/391] default url, not domain https://github.com/matrix-org/matrix-react-sdk/blob/master/src/components/views/messages/MFileBody.js#L116 Signed-off-by: Ander Punnar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b32bbea74..708912cf7 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ You can configure the app by copying `config.sample.json` to 1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display encrypted file attachments. This MUST be hosted on a completely separate domain to anything else since it is used to isolate the privileges of file attachments to this - domain. Default: `usercontent.riot.im`. This needs to contain v1.html from + domain. Default: `https://usercontent.riot.im/v1.html`. This needs to contain v1.html from https://github.com/matrix-org/usercontent/blob/master/v1.html 1. `piwik`: an object containing the following properties: 1. `url`: The URL of the Piwik instance to use for collecting Analytics From 4d0b02c683811634153f4f6042b32ceb01646eac Mon Sep 17 00:00:00 2001 From: d1d4c Date: Tue, 23 Jan 2018 19:45:22 +0000 Subject: [PATCH 130/391] Translated using Weblate (Catalan) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/ --- src/i18n/strings/ca.json | 112 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index fe82e8146..44d2c2b73 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -109,5 +109,115 @@ "Back": "Enrere", "Cancel Sending": "Cancel·la l'enviament", "Collapse panel": "Col·lapsa el tauler", - "Developer Tools": "Eines de desenvolupador" + "Developer Tools": "Eines de desenvolupador", + "Riot is not supported on mobile web. Install the app?": "Riot no és compatible amb la web per a mòbils. Vols instal·lar l'aplicació per a mòbils?", + "Uploading report": "S'està enviant l'informe", + "Riot Desktop on %(platformName)s": "Riot d'escriptori per a %(platformName)s", + "You need to be using HTTPS to place a screen-sharing call.": "Heu d'utilitzar HTTPS per poder fer una trucada de compartir pantalla.", + "When I'm invited to a room": "Quan estic convidat a una sala", + "Error saving email notification preferences": "No s'han pogut gravar les preferències de les notificacions a causa d'un error", + "Keywords": "Paraules clau", + "Operation failed": "No s'ha pogut realitzar l'operació", + "Failed to update keywords": "No s'han pogut actualitzar les paraules clau", + "Notifications on the following keywords follow rules which can’t be displayed here:": "Les notificacions sobre les següents paraules clau segueixen regles que no es poden mostrar aquí:", + "Unable to fetch notification target list": "No s'ha pogut obtenir la llista d'objectius de les notificacions", + "There are advanced notifications which are not shown here": "Hi ha notificacions avançades que no es mostren aquí", + "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "És possible que els hàgiu configurat en un client diferent de Riot. No podeu modificar-los amb Riot, però encara s'apliquen", + "Show message in desktop notification": "Mostra els missatges amb notificacions d'escriptori", + "Search": "Cerca", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Podeu utilitzar opcions de servidor personalitzades per iniciar sessió en altres servidors Matrix especificant una URL diferent a la del servidor principal.
Això us permet utilitzar Riot amb un compte de Matrix existent en un servidor d'origen diferent.

També podeu establir un servidor d'identitat personalitzat, però no podreu convidar o ser convidat per correu electrònic.", + "powered by Matrix": "amb tecnologia de Matrix", + "Update": "Actualització", + "Appear Offline": "Apareix sense connexió", + "Away": "Absent", + "To return to your account in future you need to set a password": "Per poder tornar al vostre compte en un futur, heu de set a password", + "Set Password": "Establiu una contrasenya", + "Error encountered (%(errorDetail)s).": "S'ha trobat un error (%(errorDetail)s).", + "Uploaded on %(date)s by %(user)s": "Pujat el %(date)s per l'usuari %(user)s", + "Please describe the bug and/or send logs.": "Si us plau, descriviu l'error i/o envia els registres.", + "Loading bug report module": "S'està carregant l'informe del modul", + "Failed to send report: ": "No s'ha pogut enviar l'informe ", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Si us plau, descriviu l'error. Què heu fet, què esperàveu que passes i què sembla haver passat", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Per tal de fer un diagnostic del problemes, els registres d'aquesta aplicació s'enviaran amb aquest informe d'error. Si preferiu enviar només el text anterior, desseleccioneu:", + "Send logs": "Envia els registres", + "Send Custom Event": "Envia els esdeveniments personalitzats", + "You must specify an event type!": "Heu d'especificar un tipus d'esdeveniment", + "Event sent!": "S'ha enviat l'esdeveniment", + "Failed to send custom event.": "No s'ha pogut enviar l'esdeveniment personalitzat.", + "Event Type": "Tipus d'esdeveniment", + "State Key": "Clau d'estat", + "Event Content": "Contingut de l'esdeveniment", + "Send Account Data": "Envia les dades del compte", + "Filter results": "Resultats del filtre", + "Explore Room State": "Esbrina els estats de les sales", + "Edit": "Editeu", + "Explore Account Data": "Esbrina les dades dels comptes", + "Toolbox": "Caixa d'eines", + "You have successfully set a password!": "Heu establert correctament la contrasenya", + "You have successfully set a password and an email address!": "Heu establert correctament la vostra contrasenya i l'adreça de correu electrònic", + "You can now return to your account after signing out, and sign in on other devices.": "Ara podreu tornar a entrar al vostre compte des de altres dispositius.", + "Remember, you can always set an email address in user settings if you change your mind.": "Recordeu-ho, si canvieu d'idea, sempre podreu establir una adreça de correu electrònic a las vostra configuració d'usuari.", + "(HTTP status %(httpStatus)s)": "(Estat de l´HTTP %(httpStatus)s)", + "Please set a password!": "Si us plau, establiu una contrasenya", + "This will allow you to return to your account after signing out, and sign in on other devices.": "Això farà possible que pugueu tronar al vostre compte des de qualsevol dispositiu.", + "Forward Message": "Reenvia el missatge", + "Unpin Message": "Desenganxa el missatge", + "Pin Message": "Enganxa el missatge", + "View Source": "Mostra el codi", + "View Decrypted Source": "Mostra el codi desencriptat", + "Unhide Preview": "Mostra la previsualització", + "Quote": "Cita", + "Failed to set Direct Message status of room": "No s'ha pogut establir l'estat del missatge directe de la sala", + "Forget": "Oblida", + "Reject": "Rebutja", + "Sorry, your browser is not able to run Riot.": "Disculpeu, el seu navegador not pot executar Riot.", + "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utilitza moltes funcions avançades del navegador, algunes de les quals no estan disponibles o són experimentals al vostre navegador actual.", + "Please install Chrome or Firefox for the best experience.": "Si us plau, instal·leu Chrome or Firefox per gaudir d'una millor experiència.", + "Safari and Opera work too.": "Safari i Opera també fan la feina.", + "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Amb el vostre navegador actual, l'aparença de l'aplicació pot ser completament incorrecta i algunes o totes les funcions poden no funcionar correctament. Si voleu provar-ho de totes maneres, podeu continuar, però esteu sols pel que fa als problemes que pugueu trobar!", + "I understand the risks and wish to continue": "Entenc el riscos i desitjo continuar", + "Register": "Registre", + "Rooms": "Sales", + "Hide panel": "Amaga el panel", + "Invite to this community": "Convida a aquesta comunitat", + "Add rooms to this community": "Afegeix sales a aquesta comunitat", + "Failed to get protocol list from Home Server": "No s'ha pogut obtenir la llista de protocols del servidor local", + "The Home Server may be too old to support third party networks": "El servidor local pot ser massa antic per a ser compatible amb xarxes de tercers", + "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Voleu esborrar de la sala l'alies %(alias)s i retirar %(name)s del directori?", + "Remove %(name)s from the directory?": "Voleu retirar %(name)s del directori?", + "delete the alias.": "esborra l'alies.", + "Unable to join network": "No s'ha pogut unir-se a la xarxa", + "Fetching third party location failed": "S'ha produït un error en obtenir la ubicació de tercers", + "Unable to look up room ID from server": "No s'ha pogut cercar l'ID de la sala en el servidor", + "World readable": "Llegible al món", + "Guests can join": "Els convidats s'hi poden unir", + "Search for a room": "Busca una sala", + "Expand panel": "Expandeix el panel", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Xat descentralitzat, encriptat & col·laboració amb tecnologia de [matrix]", + "Search the room directory": "Cerqueu el directori de sales", + "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Ja existeixen moltes sales a Matrix vinculades a xarxes existents (Slack, IRC, Gitter, etc.) o independents. Feu un cop d'ull al directori!", + "Get started with some tips from Riot Bot!": "Comenceu amb alguns consells de Riot Bot!", + "General discussion about Matrix and Riot": "Debat general sobre Matrix i Riot", + "Discussion of all things Matrix!": "Debats sobre qualsevol cosa de Matrix!", + "Riot/Web & Desktop chat": "Riot/Web & Xat d'escriptori", + "Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & Xat de matrix-ios-sdk", + "Riot/Android & matrix-android-sdk chat": "Riot/Android & Xat matrix-android-sdk", + "Matrix technical discussions": "Debats tècnics sobre Matrix", + "Reply": "Respon", + "Running Matrix services": "Serveis de Matrix en marxa", + "Community-run support for Synapse": "Suport de la comunitat per a Synapse", + "Admin support for Dendrite": "Suport dels administrador per a Dendrite", + "Announcements about Synapse releases": "Anuncis sobre llançaments de Synapse", + "Support for those using and running matrix-appservice-irc": "Suport per a aquells que utilitzen i executen matrix-appservice-irc", + "Building services on Matrix": "Construir serveis a Matrix", + "Support for those using the Matrix spec": "Suport per a aquells que utilitzen l'especificació Matrix", + "Design and implementation of E2E in Matrix": "Disseny i implementació de l'E2E a Matrix", + "Implementing VR services with Matrix": "Implementació de serveis VR amb Matrix", + "Implementing VoIP services with Matrix": "Implementació de serveis VoIP amb Matrix", + "Discussion of the Identity Service API": "Debat sobre l'API Identity Service", + "Support for those using, running and writing other bridges": "Suport per a aquells que utilitzen, executen i escriuen altres ponts", + "Contributing code to Matrix and Riot": "Contribuir amb codi a Matrix i Riot", + "Dev chat for the Riot/Web dev team": "Xat de l'equip de desenvolupadors Riot/Web per a desenvolupadors", + "Dev chat for the Dendrite dev team": "Xat de l'equip Dendrite per a desenvolupadors", + "Co-ordination for Riot/Web translators": "Coordinació per a traductors de Riot/Web" } From c2aa8137bb3cea61bdfa38c55d68704d7f43249e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 23 Jan 2018 20:02:47 +0000 Subject: [PATCH 131/391] sort components scss Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/skins/vector/css/_components.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index a3783786c..2319ebee8 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -93,10 +93,10 @@ @import "./vector-web/views/dialogs/_SetEmailDialog.scss"; @import "./vector-web/views/dialogs/_SetPasswordDialog.scss"; @import "./vector-web/views/directory/_NetworkDropdown.scss"; -@import "./vector-web/views/elements/_SyntaxHighlight.scss"; @import "./vector-web/views/elements/_ImageView.scss"; @import "./vector-web/views/elements/_InlineSpinner.scss"; @import "./vector-web/views/elements/_Spinner.scss"; +@import "./vector-web/views/elements/_SyntaxHighlight.scss"; @import "./vector-web/views/globals/_MatrixToolbar.scss"; @import "./vector-web/views/messages/_DateSeparator.scss"; @import "./vector-web/views/messages/_MessageTimestamp.scss"; From 22b72985429ee79e882497b6f300879122f36d30 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 23 Jan 2018 20:28:39 +0000 Subject: [PATCH 132/391] add comments Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/elements/SyntaxHighlight.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/views/elements/SyntaxHighlight.js b/src/components/views/elements/SyntaxHighlight.js index a7d8f894f..82b5ae572 100644 --- a/src/components/views/elements/SyntaxHighlight.js +++ b/src/components/views/elements/SyntaxHighlight.js @@ -30,10 +30,14 @@ export default class SyntaxHighlight extends React.Component { this._ref = this._ref.bind(this); } + // componentDidUpdate used here for reusability + // componentWillReceiveProps fires too early to call highlightBlock on. componentDidUpdate() { if (this._el) highlightBlock(this._el); } + // call componentDidUpdate because _ref is fired on initial render + // which does not fire componentDidUpdate _ref(el) { this._el = el; this.componentDidUpdate(); From 8b7a941a6e28b1d09749cc0cf35bd1d33d3ff84c Mon Sep 17 00:00:00 2001 From: d1d4c Date: Tue, 23 Jan 2018 19:59:09 +0000 Subject: [PATCH 133/391] Translated using Weblate (Catalan) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/ --- src/i18n/strings/ca.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index 44d2c2b73..49350312f 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -3,7 +3,7 @@ "All messages": "Tots els missatges", "Cancel": "Cancel·la", "Close": "Tanca", - "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s a %(osName)s", + "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s per a %(osName)s", "Failed to change password. Is your password correct?": "Hi ha hagut un error al canviar la vostra contrasenya. És correcte la vostra contrasenya?", "Continue": "Continua", "All Rooms": "Totes les sales", @@ -41,24 +41,24 @@ "Favourite": "Favorit", "Files": "Fitxers", "Safari and Opera work too.": "També funcionen el Safari i l'Opera.", - "Add an email address above to configure email notifications": "Afegiu una adreça de correu electrònic més amunt per configurar les notificacions", + "Add an email address above to configure email notifications": "Afegiu més amunt una adreça de correu electrònic per configurar les notificacions", "Advanced notification settings": "Paràmetres avançats de notificacions", "All notifications are currently disabled for all targets.": "Actualment totes les notificacions estan inhabilitades per a tots els objectius.", "An error occurred whilst saving your email notification preferences.": "Hi ha hagut un error al desar les vostres preferències de notificació per correu electrònic.", "Bug report sent": "S'ha enviat l'informe d'error", "Call invitation": "Invitació a la trucada", - "Can't update user notification settings": "No es poden actualitzar els paràmetres de notificació de l'usuari", - "Collecting app version information": "Recol·lectant la informació de la versió de l'aplicació", - "Collecting logs": "Recol·lectant els registres", + "Can't update user notification settings": "No es poden actualitzar els paràmetres de les notificacions de l'usuari", + "Collecting app version information": "S'està recollint la informació de la versió de l'aplicació", + "Collecting logs": "S'està recollint els registres", "Custom Server Options": "Opcions de servidor personalitzat", "Dismiss": "Omet", - "Enter keywords separated by a comma:": "Introdueix paraules clau separades per una coma:", + "Enter keywords separated by a comma:": "Introduïu les paraules clau separades per una coma:", "Login": "Inicia sessió", "Leave": "Abandona", - "Messages containing keywords": "Missatges que contenen paraules clau", + "Messages containing keywords": "Missatges que contenen keywords", "Messages containing my user name": "Missatges que contenen el meu nom d'usuari", - "Messages in group chats": "Missatges a xats de grup", - "Messages containing my display name": "Missatges que contenen el meu nom", + "Messages in group chats": "Missatges en xats de grup", + "Messages containing my display name": "Missatges que contenen el meu nom visible", "Messages in one-to-one chats": "Missatges en xats un a un", "Messages sent by bot": "Missatges enviats pel bot", "more": "més", @@ -85,7 +85,7 @@ "unknown error code": "codi d'error desconegut", "What's New": "Novetats", "What's new?": "Què hi ha de nou?", - "Waiting for response from server": "Esperant una resposta del servidor", + "Waiting for response from server": "S'està esperant una resposta del servidor", "You cannot delete this image. (%(code)s)": "No podeu eliminar aquesta imatge. (%(code)s)", "You cannot delete this message. (%(code)s)": "No podeu eliminar aquest missatge. (%(code)s)", "You are not receiving desktop notifications": "No esteu rebent notificacions d'escriptori", @@ -110,10 +110,10 @@ "Cancel Sending": "Cancel·la l'enviament", "Collapse panel": "Col·lapsa el tauler", "Developer Tools": "Eines de desenvolupador", - "Riot is not supported on mobile web. Install the app?": "Riot no és compatible amb la web per a mòbils. Vols instal·lar l'aplicació per a mòbils?", + "Riot is not supported on mobile web. Install the app?": "Riot no és compatible amb la web per a mòbils. Voleu instal·lar l'aplicació per a mòbils?", "Uploading report": "S'està enviant l'informe", "Riot Desktop on %(platformName)s": "Riot d'escriptori per a %(platformName)s", - "You need to be using HTTPS to place a screen-sharing call.": "Heu d'utilitzar HTTPS per poder fer una trucada de compartir pantalla.", + "You need to be using HTTPS to place a screen-sharing call.": "Heu d'utilitzar HTTPS per poder fer una trucada amb pantalla compartida.", "When I'm invited to a room": "Quan estic convidat a una sala", "Error saving email notification preferences": "No s'han pogut gravar les preferències de les notificacions a causa d'un error", "Keywords": "Paraules clau", From 5c6a265b86c03b06ac1ceb5bc459d399cee80a15 Mon Sep 17 00:00:00 2001 From: d1d4c Date: Wed, 24 Jan 2018 16:37:44 +0000 Subject: [PATCH 134/391] Translated using Weblate (Catalan) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/ --- src/i18n/strings/ca.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index 49350312f..27384dc5a 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -21,7 +21,7 @@ "Directory": "Directori", "Failed to set direct chat tag": "No s'ha pogut establir l'etiqueta del xat directe", "Invite to this room": "Convida a aquesta sala", - "No rooms to show": "No hi ha sales a mostrar", + "No rooms to show": "No hi ha cap sala per a mostrar", "Riot does not know how to join a room on this network": "El Riot no sap com unir-se a una sala en aquesta xarxa", "Room not found": "No s'ha trobat la sala", "Unnamed room": "Sala sense nom", @@ -190,7 +190,7 @@ "Fetching third party location failed": "S'ha produït un error en obtenir la ubicació de tercers", "Unable to look up room ID from server": "No s'ha pogut cercar l'ID de la sala en el servidor", "World readable": "Llegible al món", - "Guests can join": "Els convidats s'hi poden unir", + "Guests can join": "Els usuaris d'altres xarxes s'hi poden unir", "Search for a room": "Busca una sala", "Expand panel": "Expandeix el panel", "Decentralised, encrypted chat & collaboration powered by [matrix]": "Xat descentralitzat, encriptat & col·laboració amb tecnologia de [matrix]", From e56b16f7d1536686fad2b14be5e20e62a9779d9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sim=C3=B3=20Albert=20i=20Beltran?= Date: Thu, 25 Jan 2018 18:25:46 +0100 Subject: [PATCH 135/391] Add Catalan --- scripts/copy-res.js | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/copy-res.js b/scripts/copy-res.js index 701029dbf..abfd18a26 100755 --- a/scripts/copy-res.js +++ b/scripts/copy-res.js @@ -9,6 +9,7 @@ // This could readily be automated, but it's nice to explicitly // control when we languages are available. const INCLUDE_LANGS = [ + {'value': 'ca', 'label': 'Català'}, {'value': 'da', 'label': 'Dansk'}, {'value': 'de_DE', 'label': 'Deutsch'}, {'value': 'en_EN', 'label': 'English'}, From 662a6297e7c71de5705668cdbd2f8eb6f671312e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 25 Jan 2018 21:06:35 +0000 Subject: [PATCH 136/391] FilteredList, now being a controlled component does not need state Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/dialogs/DevtoolsDialog.js | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/components/views/dialogs/DevtoolsDialog.js b/src/components/views/dialogs/DevtoolsDialog.js index e7f66bc0c..3ce1dfe7d 100644 --- a/src/components/views/dialogs/DevtoolsDialog.js +++ b/src/components/views/dialogs/DevtoolsDialog.js @@ -252,24 +252,15 @@ class FilteredList extends React.Component { constructor(props, context) { super(props, context); this.onQuery = this.onQuery.bind(this); - - this.state = { - query: this.props.query, - }; - } - - componentWillReceiveProps(nextProps) { - if (this.state.query !== nextProps.query) this.setState({ query: nextProps.query }); } onQuery(ev) { - this.setState({ query: ev.target.value }); if (this.props.onChange) this.props.onChange(ev.target.value); } filterChildren() { - if (this.state.query) { - const lowerQuery = this.state.query.toLowerCase(); + if (this.props.query) { + const lowerQuery = this.props.query.toLowerCase(); return this.props.children.filter((child) => child.key.toLowerCase().includes(lowerQuery)); } return this.props.children; @@ -279,7 +270,7 @@ class FilteredList extends React.Component { return
{ this.filterChildren() } From 2926154dce90671293a28348f00710c3593aee8e Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Thu, 25 Jan 2018 22:30:58 +0100 Subject: [PATCH 137/391] Modify LeftPanel to include a DragDropContext that handles drag and drop for TagPanel and RoomList. This is to allow the future feature of dragging between the two components. --- src/components/structures/LeftPanel.js | 86 ++++++++++++++++--- .../css/vector-web/structures/_LeftPanel.scss | 4 + 2 files changed, 78 insertions(+), 12 deletions(-) diff --git a/src/components/structures/LeftPanel.js b/src/components/structures/LeftPanel.js index f78835b45..c1222396e 100644 --- a/src/components/structures/LeftPanel.js +++ b/src/components/structures/LeftPanel.js @@ -17,22 +17,32 @@ limitations under the License. 'use strict'; import React from 'react'; +import PropTypes from 'prop-types'; import classNames from 'classnames'; +import { DragDropContext } from 'react-beautiful-dnd'; +import { MatrixClient } from 'matrix-js-sdk'; import { KeyCode } from 'matrix-react-sdk/lib/Keyboard'; import sdk from 'matrix-react-sdk'; import dis from 'matrix-react-sdk/lib/dispatcher'; import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; -import CallHandler from 'matrix-react-sdk/lib/CallHandler'; -import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton'; import VectorConferenceHandler from '../../VectorConferenceHandler'; +import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore"; +import TagOrderActions from 'matrix-react-sdk/lib/actions/TagOrderActions'; +import RoomListActions from 'matrix-react-sdk/lib/actions/RoomListActions'; + + var LeftPanel = React.createClass({ displayName: 'LeftPanel', // NB. If you add props, don't forget to update // shouldComponentUpdate! propTypes: { - collapsed: React.PropTypes.bool.isRequired, + collapsed: PropTypes.bool.isRequired, + }, + + contextTypes: { + matrixClient: PropTypes.instanceOf(MatrixClient), }, getInitialState: function() { @@ -161,8 +171,54 @@ var LeftPanel = React.createClass({ this.setState({ searchFilter: term }); }, + onDragEnd: function(result) { + // Dragged to an invalid destination, not onto a droppable + if (!result.destination) { + return; + } + + const dest = result.destination.droppableId; + + if (dest === 'tag-panel-droppable') { + // Dispatch synchronously so that the TagPanel receives an + // optimistic update from TagOrderStore before the previous + // state is shown. + dis.dispatch(TagOrderActions.moveTag( + this.context.matrixClient, + result.draggableId, + result.destination.index, + ), true); + } else { + this.onRoomTileEndDrag(result); + } + }, + + onRoomTileEndDrag: function(result) { + let newTag = result.destination.droppableId.split('_')[1]; + let prevTag = result.source.droppableId.split('_')[1]; + if (newTag === 'undefined') newTag = undefined; + if (prevTag === 'undefined') prevTag = undefined; + + const roomId = result.draggableId.split('_')[1]; + + const oldIndex = result.source.index; + const newIndex = result.destination.index; + + dis.dispatch(RoomListActions.tagRoom( + this.context.matrixClient, + MatrixClientPeg.get().getRoom(roomId), + prevTag, newTag, + oldIndex, newIndex, + ), true); + }, + + collectRoomList: function(ref) { + this._roomList = ref; + }, + render: function() { const RoomList = sdk.getComponent('rooms.RoomList'); + const TagPanel = sdk.getComponent('structures.TagPanel'); const BottomLeftMenu = sdk.getComponent('structures.BottomLeftMenu'); const CallPreview = sdk.getComponent('voip.CallPreview'); @@ -184,15 +240,21 @@ var LeftPanel = React.createClass({ ); return ( - + +
+ { SettingsStore.isFeatureEnabled("feature_tag_panel") ? :
} + +
+ ); } }); diff --git a/src/skins/vector/css/vector-web/structures/_LeftPanel.scss b/src/skins/vector/css/vector-web/structures/_LeftPanel.scss index 8ae1fe152..a2147a025 100644 --- a/src/skins/vector/css/vector-web/structures/_LeftPanel.scss +++ b/src/skins/vector/css/vector-web/structures/_LeftPanel.scss @@ -21,6 +21,10 @@ limitations under the License. flex-direction: column; } +.mx_LeftPanel_container { + display: flex; +} + .mx_LeftPanel_hideButton { position: absolute; top: 10px; From 37fe3ac676ee06bd832cfa6762394bcc1bcbcc4c Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Thu, 25 Jan 2018 22:51:40 +0100 Subject: [PATCH 138/391] Prevent RoomTiles from being dragged into other droppables for the time being at least. --- src/components/structures/RoomSubList.js | 18 +++++++++++------- src/components/views/rooms/DNDRoomTile.js | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/components/structures/RoomSubList.js b/src/components/structures/RoomSubList.js index 15f56c006..398f2647d 100644 --- a/src/components/structures/RoomSubList.js +++ b/src/components/structures/RoomSubList.js @@ -572,13 +572,17 @@ var RoomSubList = React.createClass({ { subList }
; - return this.props.editable ? - { (provided, snapshot) => ( -
- { subListContent } -
- ) } -
: subListContent; + return this.props.editable ? + + { (provided, snapshot) => ( +
+ { subListContent } +
+ ) } +
: subListContent; } else { var Loader = sdk.getComponent("elements.Spinner"); diff --git a/src/components/views/rooms/DNDRoomTile.js b/src/components/views/rooms/DNDRoomTile.js index 129e3f459..b8f8b4026 100644 --- a/src/components/views/rooms/DNDRoomTile.js +++ b/src/components/views/rooms/DNDRoomTile.js @@ -41,6 +41,7 @@ export default class DNDRoomTile extends React.Component { key={props.room.roomId} draggableId={props.tagName + '_' + props.room.roomId} index={props.index} + type="draggable-RoomTile" > { (provided, snapshot) => { return ( From f6c49a247204c9248f9d28cacb6f5f3dcfb5659a Mon Sep 17 00:00:00 2001 From: Ramon Vilar Date: Thu, 25 Jan 2018 16:10:51 +0000 Subject: [PATCH 139/391] Translated using Weblate (Catalan) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/ --- src/i18n/strings/ca.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index 27384dc5a..d8ce1161f 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -41,20 +41,20 @@ "Favourite": "Favorit", "Files": "Fitxers", "Safari and Opera work too.": "També funcionen el Safari i l'Opera.", - "Add an email address above to configure email notifications": "Afegiu més amunt una adreça de correu electrònic per configurar les notificacions", + "Add an email address above to configure email notifications": "Afegiu més amunt un correu electrònic per a configurar les notificacions", "Advanced notification settings": "Paràmetres avançats de notificacions", "All notifications are currently disabled for all targets.": "Actualment totes les notificacions estan inhabilitades per a tots els objectius.", - "An error occurred whilst saving your email notification preferences.": "Hi ha hagut un error al desar les vostres preferències de notificació per correu electrònic.", + "An error occurred whilst saving your email notification preferences.": "S'ha produït un error al desar les vostres preferències de notificació per correu electrònic.", "Bug report sent": "S'ha enviat l'informe d'error", - "Call invitation": "Invitació a la trucada", + "Call invitation": "Invitació de trucada", "Can't update user notification settings": "No es poden actualitzar els paràmetres de les notificacions de l'usuari", "Collecting app version information": "S'està recollint la informació de la versió de l'aplicació", - "Collecting logs": "S'està recollint els registres", + "Collecting logs": "S'estan recopilant els registres", "Custom Server Options": "Opcions de servidor personalitzat", "Dismiss": "Omet", "Enter keywords separated by a comma:": "Introduïu les paraules clau separades per una coma:", "Login": "Inicia sessió", - "Leave": "Abandona", + "Leave": "Surt", "Messages containing keywords": "Missatges que contenen keywords", "Messages containing my user name": "Missatges que contenen el meu nom d'usuari", "Messages in group chats": "Missatges en xats de grup", @@ -63,10 +63,10 @@ "Messages sent by bot": "Missatges enviats pel bot", "more": "més", "Noisy": "Sorollós", - "Notification targets": "Objectius de notificació", + "Notification targets": "Objectius de les notificacions", "Notifications": "Notificacions", - "Notify me for anything else": "Notifica'm per qualsevol altra cosa", - "Notify for all other messages/rooms": "Notifica per a tots els altres missatges/sales", + "Notify me for anything else": "Notifica'm per a qualsevol altra cosa", + "Notify for all other messages/rooms": "Notifica per a tots els altres missatges o sales", "Off": "Apagat", "On": "Engegat", "Permalink": "Enllaç permanent", @@ -100,7 +100,7 @@ "Today": "Avui", "Yesterday": "Ahir", "OK": "D'acord", - "Warning": "Advertència", + "Warning": "Avís", "Checking for an update...": "Comprovant si hi ha actualitzacions...", "No update available.": "No hi ha cap actualització disponible.", "Downloading update...": "Descarregant l'actualització...", @@ -114,8 +114,8 @@ "Uploading report": "S'està enviant l'informe", "Riot Desktop on %(platformName)s": "Riot d'escriptori per a %(platformName)s", "You need to be using HTTPS to place a screen-sharing call.": "Heu d'utilitzar HTTPS per poder fer una trucada amb pantalla compartida.", - "When I'm invited to a room": "Quan estic convidat a una sala", - "Error saving email notification preferences": "No s'han pogut gravar les preferències de les notificacions a causa d'un error", + "When I'm invited to a room": "Quan sóc convidat a una sala", + "Error saving email notification preferences": "No s'han pogut desar les preferències de les notificacions a causa d'un error", "Keywords": "Paraules clau", "Operation failed": "No s'ha pogut realitzar l'operació", "Failed to update keywords": "No s'han pogut actualitzar les paraules clau", From 7ee205a4475319dc4e173ab8cbc4ee6046a28fde Mon Sep 17 00:00:00 2001 From: d1d4c Date: Fri, 26 Jan 2018 12:43:13 +0000 Subject: [PATCH 140/391] Translated using Weblate (Catalan) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/ --- src/i18n/strings/ca.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index d8ce1161f..b92aec434 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -44,7 +44,7 @@ "Add an email address above to configure email notifications": "Afegiu més amunt un correu electrònic per a configurar les notificacions", "Advanced notification settings": "Paràmetres avançats de notificacions", "All notifications are currently disabled for all targets.": "Actualment totes les notificacions estan inhabilitades per a tots els objectius.", - "An error occurred whilst saving your email notification preferences.": "S'ha produït un error al desar les vostres preferències de notificació per correu electrònic.", + "An error occurred whilst saving your email notification preferences.": "S'ha produït un error en desar les vostres preferències de notificació per correu electrònic.", "Bug report sent": "S'ha enviat l'informe d'error", "Call invitation": "Invitació de trucada", "Can't update user notification settings": "No es poden actualitzar els paràmetres de les notificacions de l'usuari", @@ -125,7 +125,7 @@ "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "És possible que els hàgiu configurat en un client diferent de Riot. No podeu modificar-los amb Riot, però encara s'apliquen", "Show message in desktop notification": "Mostra els missatges amb notificacions d'escriptori", "Search": "Cerca", - "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Podeu utilitzar opcions de servidor personalitzades per iniciar sessió en altres servidors Matrix especificant una URL diferent a la del servidor principal.
Això us permet utilitzar Riot amb un compte de Matrix existent en un servidor d'origen diferent.

També podeu establir un servidor d'identitat personalitzat, però no podreu convidar o ser convidat per correu electrònic.", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Podeu utilitzar opcions de servidor personalitzades per iniciar sessió en altres servidors Matrix especificant una URL diferent a la del servidor principal.
Això us permet utilitzar Riot amb un compte de Matrix existent en un servidor d'origen diferent.

També podeu establir un servidor d'identitat personalitzat, però no podreu convidar o ser convidat per correu electrònic.", "powered by Matrix": "amb tecnologia de Matrix", "Update": "Actualització", "Appear Offline": "Apareix sense connexió", @@ -137,8 +137,8 @@ "Please describe the bug and/or send logs.": "Si us plau, descriviu l'error i/o envia els registres.", "Loading bug report module": "S'està carregant l'informe del modul", "Failed to send report: ": "No s'ha pogut enviar l'informe ", - "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Si us plau, descriviu l'error. Què heu fet, què esperàveu que passes i què sembla haver passat", - "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Per tal de fer un diagnostic del problemes, els registres d'aquesta aplicació s'enviaran amb aquest informe d'error. Si preferiu enviar només el text anterior, desseleccioneu:", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Si us plau, descriviu l'error. Què heu fet, què esperàveu que passes i què sembla haver passat?", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Amb aquest informe d'error, alguns registres d'aquesta aplicació s'enviaran també per tal de fer un diagnostic del problema. Si preferiu enviar només el text anterior, desseleccioneu:", "Send logs": "Envia els registres", "Send Custom Event": "Envia els esdeveniments personalitzats", "You must specify an event type!": "Heu d'especificar un tipus d'esdeveniment", @@ -150,8 +150,8 @@ "Send Account Data": "Envia les dades del compte", "Filter results": "Resultats del filtre", "Explore Room State": "Esbrina els estats de les sales", - "Edit": "Editeu", - "Explore Account Data": "Esbrina les dades dels comptes", + "Edit": "Edita", + "Explore Account Data": "Explora les dades del compte", "Toolbox": "Caixa d'eines", "You have successfully set a password!": "Heu establert correctament la contrasenya", "You have successfully set a password and an email address!": "Heu establert correctament la vostra contrasenya i l'adreça de correu electrònic", From bc4f8c4c2a7a2d77829f4e7ed8e4bce674dd6010 Mon Sep 17 00:00:00 2001 From: Xose M Date: Tue, 16 Jan 2018 11:00:45 +0000 Subject: [PATCH 141/391] Translated using Weblate (Galician) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/ --- src/i18n/strings/gl.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index 499ee1e8f..18810b1ef 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -221,5 +221,6 @@ "Appear Offline": "Aparecer fora de liña", "Away": "Fóra", "Please install Chrome or Firefox for the best experience.": "Por favor instale Chrome ou Firefox para a mellor experiencia de usuaria.", - "Safari and Opera work too.": "Safari e Opera tamén funcionan." + "Safari and Opera work too.": "Safari e Opera tamén funcionan.", + "Reply": "Resposta" } From 88c4cb6eba5945008261d7260397b3f36151e2d2 Mon Sep 17 00:00:00 2001 From: "Iru Cai (vimacs)" Date: Mon, 8 Jan 2018 02:02:11 +0000 Subject: [PATCH 142/391] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/ --- src/i18n/strings/zh_Hans.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index b6869606b..2216cc0a8 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -221,5 +221,6 @@ "Appear Offline": "似乎离线了", "Away": "离开状态", "Please install Chrome or Firefox for the best experience.": "请安装 ChromeFirefox 以获得最佳体验。", - "Safari and Opera work too.": "SafariOpera 也能工作。" + "Safari and Opera work too.": "SafariOpera 也能工作。", + "Reply": "回复" } From 078d1568245a75a9235b75436b07d25c42457147 Mon Sep 17 00:00:00 2001 From: Walter Date: Fri, 17 Nov 2017 20:20:10 +0000 Subject: [PATCH 143/391] Translated using Weblate (Ukrainian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/ --- src/i18n/strings/uk.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 459430f15..6473f14b8 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -221,5 +221,6 @@ "Appear Offline": "Відображати як не в мережі", "Away": "Нема на місці", "Please install Chrome or Firefox for the best experience.": "Краще встановіть Chrome або Firefox.", - "Safari and Opera work too.": "Safari та Opera працюють теж." + "Safari and Opera work too.": "Safari та Opera працюють теж.", + "Reply": "Відповісти" } From 11806f2aa2c41ebbcd7732d082dceb79e2e2776f Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sun, 28 Jan 2018 19:52:43 +0000 Subject: [PATCH 144/391] Translated using Weblate (Basque) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/ --- src/i18n/strings/eu.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index 46a17bada..2b9d6114d 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -66,12 +66,12 @@ "Low Priority": "Lehentasun baxua", "Members": "Kideak", "Mentions only": "Aipamenak besterik ez", - "Messages containing my display name": "Nire pantaila izena duten mezuak", + "Messages containing my display name": "Nire pantaila-izena duten mezuak", "Messages containing keywords": "Hitz gakoak dituzten mezuak", "Messages containing my user name": "Nire erabiltzaile-izena duten mezuak", "Messages in group chats": "Talde txatetako mezuak", "Messages in one-to-one chats": "Biren arteko txatetako mezuak", - "Messages sent by bot": "botak bidalitako mezuak", + "Messages sent by bot": "Botak bidalitako mezuak", "more": "gehiago", "Mute": "Mututu", "No rooms to show": "Ez dago gelarik erakusteko", From b80be62bb70b1216bff00c49784dcaa2dd89d96b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sim=C3=B3=20Albert=20i=20Beltran?= Date: Mon, 29 Jan 2018 20:47:05 +0000 Subject: [PATCH 145/391] Translated using Weblate (Catalan) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/ --- src/i18n/strings/ca.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index b92aec434..7c15945b2 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -16,7 +16,7 @@ "Couldn't load home page": "No s'ha pogut carregar la pàgina d'inici", "All messages (loud)": "Tots els missatges (sorollós)", "Mentions only": "Només mencions", - "Mute": "Silenciat", + "Mute": "Silencia", "Direct Chat": "Xat directe", "Directory": "Directori", "Failed to set direct chat tag": "No s'ha pogut establir l'etiqueta del xat directe", From 930deaea9de22492b2ba3b20e8eff76eb1cc7ce6 Mon Sep 17 00:00:00 2001 From: Tong Hui Date: Sat, 27 Jan 2018 16:55:36 +0000 Subject: [PATCH 146/391] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/ --- src/i18n/strings/zh_Hans.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 2216cc0a8..da5690f5b 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -219,7 +219,7 @@ "Invite to this community": "邀请加入此社区", "Add rooms to this community": "添加聊天室到此社区", "Appear Offline": "似乎离线了", - "Away": "离开状态", + "Away": "离开", "Please install Chrome or Firefox for the best experience.": "请安装 ChromeFirefox 以获得最佳体验。", "Safari and Opera work too.": "SafariOpera 也能工作。", "Reply": "回复" From ed5162ef4e15a1617dd85eba7e07a303aa3adb73 Mon Sep 17 00:00:00 2001 From: Xose M Date: Mon, 29 Jan 2018 13:41:07 +0000 Subject: [PATCH 147/391] Translated using Weblate (Galician) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/ --- src/i18n/strings/gl.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index 18810b1ef..929f5e0d7 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -21,7 +21,7 @@ "Collecting app version information": "Obtendo información sobre a versión da app", "Collecting logs": "Obtendo rexistros", "Couldn't find a matching Matrix room": "Non coincide con ningunha sala de Matrix", - "Custom Server Options": "Axustes do servidor personalizado", + "Custom Server Options": "Opcións personalizadas do servidor", "customServer_text": "Pode utilizar os axustes do servidor personalizado para conectarse a outros servidores Matrix indicando un URL de Inicio do servidor.
Esto permítelle utilizar Riot con unha conta existente de Matrix nun servidor diferente.

Tamén pode establecer un servidor personalizado de identidade mais non poderá invitar a usuarias a través de enderezos de correo ou ser vostede invitada do mesmo xeito.", "delete the alias.": "borrar alcume.", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Eliminar o alcume da sala %(alias)s e borrar %(name)s do directorio?", @@ -29,7 +29,7 @@ "Developer Tools": "Ferramentas para desenvolver", "Direct Chat": "Chat directo", "Directory": "Directorio", - "Dismiss": "Desbotar", + "Dismiss": "Rexeitar", "Download this file": "Descargue este ficheiro", "Enable audible notifications in web client": "Habilitar notificacións audibles no cliente web", "Enable desktop notifications": "Habilitar notificacións de escritorio", @@ -43,7 +43,7 @@ "Expand panel": "Expandir panel", "Failed to add tag %(tagName)s to room": "Fallou ao engadir a etiqueta %(tagName)s a sala", "Failed to change settings": "Fallo ao cambiar os axustes", - "Failed to forget room %(errCode)s": "Fallou ao esquecer a sala %(errCode)s", + "Failed to forget room %(errCode)s": "Fallo ao esquecer sala %(errCode)s", "Failed to update keywords": "Fallo ao actualizar as palabras chave", "Failed to get protocol list from Home Server": "Fallo ao obter a lista de protocolo desde o servidor", "Failed to get public room list": "Fallo ao obter a lista de salas públicas", @@ -52,7 +52,7 @@ "Failed to send report: ": "Fallo no envío do informe: ", "Failed to set direct chat tag": "Fallo ao establecer etiqueta do chat directo", "Failed to set Direct Message status of room": "Fallo ao establecer o estado Mensaxe Directa da sala", - "Favourite": "Favorito", + "Favourite": "Favorita", "Fetching third party location failed": "Fallo ao obter a localización de terceiros", "Files": "Ficheiros", "Filter results": "Filtrar resultados", @@ -94,7 +94,7 @@ "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Por favor describa a incidencia. Que estaba a facer? Que tiña que pasar? Que aconteceu en realidade?", "Please describe the bug and/or send logs.": "Por favor describa a incidencia e/ou envíe o informe.", "Please install Chrome or Firefox for the best experience.": "Por favor instale Chrome ou Firefox para ter a mellor experiencia de uso.", - "powered by Matrix": "funcionando grazas a Matrix", + "powered by Matrix": "funciona grazas a Matrix", "Quote": "Cita", "Reject": "Rexeitar", "Remove %(name)s from the directory?": "Eliminar %(name)s do directorio?", @@ -108,7 +108,7 @@ "Riot is not supported on mobile web. Install the app?": "Riot no se pode executar na web móbil. Instalar a app?", "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utiliza características avanzadas do navegador, algunhas das cales non están dispoñibles ou son experimentales no seu navegador actual.", "Room not found": "Non se atopou a sala", - "Search": "Buscar", + "Search": "Busca", "Search…": "Buscar…", "Search for a room": "Buscar unha sala", "Send": "Enviar", @@ -128,7 +128,7 @@ "Unavailable": "Non dispoñible", "Unhide Preview": "Desagochar a vista previsa", "Unknown device": "Dispositivo descoñecido", - "unknown error code": "código de erro descoñecido", + "unknown error code": "código de fallo descoñecido", "Unnamed room": "Sala sen nome", "Update": "Actualizar", "Uploaded on %(date)s by %(user)s": "Subido a %(date)s por %(user)s", @@ -193,7 +193,7 @@ "Dev chat for the Dendrite dev team": "Chat para o equipo de desenvolvemento de Dendrite", "Co-ordination for Riot/Web translators": "Coordinación para tradutores de Riot/Web", "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Xa existen multitude de salas en Matrix, ligadas a redes existentes (Slack, IRC, Gitter etc) ou independentes. Busque no directorio!", - "Failed to change password. Is your password correct?": "Non se mudou o contrasinal. É correcto o contrasinal introducido?", + "Failed to change password. Is your password correct?": "Fallo ao cambiar o contrasinal. É correcto o contrasinal?", "You have successfully set a password!": "Mudou con éxito o seu contrasinal!", "You can now return to your account after signing out, and sign in on other devices.": "Pode voltar a súa contra tras desconectarse, e conectarse en outros dispositivos.", "Continue": "Continuar", @@ -214,7 +214,7 @@ "Explore Account Data": "Explorar datos da conta", "Unpin Message": "Desfixar mensaxe", "Pin Message": "Fixar mensaxe", - "Register": "Rexistrar", + "Register": "Rexistar", "Rooms": "Salas", "Invite to this community": "Convidar a esta comunidade", "Add rooms to this community": "Engadir salas a esta comunidade", From a26473b722a65381bc86de346f6a622d2680df98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Fri, 26 Jan 2018 20:35:06 +0000 Subject: [PATCH 148/391] Translated using Weblate (Serbian) Currently translated at 100.0% (220 of 220 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 77214f231..25a1f3425 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -59,10 +59,10 @@ "Saturday": "Субота", "Today": "Данас", "Yesterday": "Јуче", - "Custom Server Options": "Опције прилагођеног сервера", + "Custom Server Options": "Прилагођене опције сервера", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Можете користити опције прилагођеног сервера за пријаву у друге Матрикс сервере навођењем другачије адресе кућног сервера.
Ово вам омогућава да користите Riot са постојећим Матрикс налогомна другом кућном серверу.

Такође, можете поставити прилагођени идентитески сервер али нећете моћи да позивате кориснике по мејл адреси а ни други вас.", "Dismiss": "Одбаци", - "powered by Matrix": "покреће Матрикс (Matrix)", + "powered by Matrix": "покреће Матрикс", "You are not receiving desktop notifications": "Не примате стона обавештења", "Enable them now": "Омогућите их сада", "What's New": "Шта је ново", @@ -155,7 +155,7 @@ "I understand the risks and wish to continue": "Разумем опасност и желим да наставим", "Couldn't load home page": "Нисам могао да учитам почетну страну", "Login": "Пријава", - "Register": "Регистрација", + "Register": "Регистровање", "Invite to this room": "Позови у ову собу", "Members": "Чланови", "Files": "Датотеке", From 8b35a7b10f67fe9a26af9c31b2cefe7ef8d0a57c Mon Sep 17 00:00:00 2001 From: Andrey Date: Thu, 1 Feb 2018 11:32:42 +0000 Subject: [PATCH 149/391] Translated using Weblate (Russian) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/ --- src/i18n/strings/ru.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 1f08d804b..5ff948bb9 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -222,5 +222,7 @@ "Appear Offline": "Отображать как не в сети", "Please install Chrome or Firefox for the best experience.": "Лучший опыт вы получите, установив Chrome или Firefox.", "Safari and Opera work too.": "Safari и Opera работают тоже.", - "Reply": "Ответить" + "Reply": "Ответить", + "%(count)s Members|other": "%(count)s членов", + "%(count)s Members|one": "%(count)s член" } From 325c9662c5a84652dc5b4ee06dc86d0917cda2c5 Mon Sep 17 00:00:00 2001 From: Krombel Date: Thu, 1 Feb 2018 15:12:52 +0000 Subject: [PATCH 150/391] Translated using Weblate (German) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b44e17cb6..f201244a0 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -222,5 +222,7 @@ "Appear Offline": "Als offline anzeigen", "Safari and Opera work too.": "Safari und Opera sind weitere Alternativen.", "Please install Chrome or Firefox for the best experience.": "Bitte installiere Chrome oder Firefox für ein optimales Anwendungsergebnis.", - "Reply": "Antworten" + "Reply": "Antworten", + "%(count)s Members|other": "%(count)s Mitglieder", + "%(count)s Members|one": "%(count)s Mitglied" } From cefd744aba3e92b82fc04896efeef83d0df68973 Mon Sep 17 00:00:00 2001 From: Szimszon Date: Thu, 1 Feb 2018 16:15:47 +0000 Subject: [PATCH 151/391] Translated using Weblate (Hungarian) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/ --- src/i18n/strings/hu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index ac393592c..64071dd3a 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -222,5 +222,7 @@ "Away": "Távol", "Please install Chrome or Firefox for the best experience.": "A legjobb élmény érdekében telepíts Chromeot vagy Firefoxot.", "Safari and Opera work too.": "Működik Safari és Opera böngészővel is.", - "Reply": "Válasz" + "Reply": "Válasz", + "%(count)s Members|other": "%(count)s tag", + "%(count)s Members|one": "%(count)s tag" } From 675bebee33211439ab8ef0bc1a21ebbe73bcdabc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Thu, 1 Feb 2018 17:46:46 +0000 Subject: [PATCH 152/391] Translated using Weblate (French) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 1e7d4b827..4e75ddca9 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -222,5 +222,7 @@ "Away": "Absent", "Please install Chrome or Firefox for the best experience.": "Veuillez installer Chrome ou Firefox pour une expérience optimale.", "Safari and Opera work too.": "Safari et Opera fonctionnent également.", - "Reply": "Répondre" + "Reply": "Répondre", + "%(count)s Members|other": "%(count)s membres", + "%(count)s Members|one": "%(count)s membre" } From c3b000a3686e9561be73b22b48a66d65f78cd42a Mon Sep 17 00:00:00 2001 From: Osoitz Date: Fri, 2 Feb 2018 08:28:09 +0000 Subject: [PATCH 153/391] Translated using Weblate (Basque) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/ --- src/i18n/strings/eu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index bc5fb0e3c..12ca8d3b5 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -221,5 +221,7 @@ "Invite to this community": "Gonbidatu komunitate honetara", "Add rooms to this community": "Gehitu gelak komunitate honetara", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Zerbitzari pertsonalizatuaren aukerak erabili ditzakezu beste Matrix zerbitzarietan saioa hasteko, han beste hasiera-zerbitzari baten URLa sartuz.
Horrela Riot aurretik duzun kontu batekin erabili dezakezu beste hasiera-zerbitzari batean.

Identitate-zerbitzari pertsonalizatu bat ezarri dezakezu ere, baina orduan ezin izango dituzu erabiltzaileak e-mail helbidea erabiliz gonbidatu, edo ezin izan izango zaituzte zu e-mail helbidea erabiliz gonbidatu.", - "Reply": "Erantzun" + "Reply": "Erantzun", + "%(count)s Members|other": "%(count)s kide", + "%(count)s Members|one": "Kide %(count)s" } From 2a58de5cfc2e5f7995f1f003c9f6e97c67eae6fd Mon Sep 17 00:00:00 2001 From: Nathan van Beelen Date: Sun, 4 Feb 2018 14:24:29 +0000 Subject: [PATCH 154/391] Translated using Weblate (Dutch) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/ --- src/i18n/strings/nl.json | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index d0f5986db..85e316c9f 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -40,7 +40,7 @@ "Files": "Bestanden", "Filter room names": "Filter kamernamen", "Forget": "Vergeten", - "Guests can join": "Gasten kunnen deelnemen", + "Guests can join": "Gasten kunnen toetreden", "Invite to this room": "Uitnodigen voor deze kamer", "Keywords": "Trefwoorden", "Leave": "Verlaten", @@ -54,7 +54,7 @@ "Messages sent by bot": "Berichten verzonden door een bot", "more": "meer", "Mute": "Dempen", - "No rooms to show": "Geen kamers om te laten zien", + "No rooms to show": "Geen ruimtes om weer te geven", "Noisy": "Luidruchtig", "Notification targets": "Meldingsdoelen", "Notifications": "Notificaties", @@ -66,7 +66,7 @@ "Operation failed": "Actie mislukt", "Permalink": "Permanente link", "powered by Matrix": "mogelijk gemaakt door Matrix", - "Quote": "Citeer", + "Quote": "Citeren", "Reject": "Afwijzen", "Remove %(name)s from the directory?": "%(name)s uit de kamerlijst verwijderen?", "Remove": "Verwijderen", @@ -85,12 +85,12 @@ "Unable to look up room ID from server": "Het is mislukt om de kamer-ID op te halen van de server", "Unhide Preview": "Zichtbaar maken preview", "unknown error code": "onbekende foutcode", - "Unnamed room": "Kamer zonder naam", + "Unnamed room": "Ruimte zonder naam", "Uploaded on %(date)s by %(user)s": "Geüpload op %(date)s door %(user)s", "View Decrypted Source": "Bekijk ontsleutelde bron", "View Source": "Bekijk bron", "When I'm invited to a room": "Wanneer ik uitgenodigd word voor een kamer", - "World readable": "Door iedereen leesbaar", + "World readable": "Leesbaar voor iedereen", "You cannot delete this image. (%(code)s)": "Je kunt deze afbeelding niet verwijderen. (%(code)s)", "You cannot delete this message. (%(code)s)": "Je kunt dit bericht niet verwijderen. (%(code)s)", "You are not receiving desktop notifications": "Je ontvangt momenteel geen desktopmeldingen", @@ -221,5 +221,8 @@ "Rooms": "Kamers", "Invite to this community": "Nodig uit in deze community", "Add rooms to this community": "Voeg kamers toe aan deze community", - "Toolbox": "Eigenschappen" + "Toolbox": "Eigenschappen", + "%(count)s Members|other": "%(count)s Deelnemers", + "%(count)s Members|one": "%(count)s Deelnemer", + "Reply": "Beantwoord" } From 00b7cc512b3a9f0e0a36e4ea7d1f4a6c3011ff66 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 5 Feb 2018 13:25:09 +0000 Subject: [PATCH 155/391] Split MImageBody into MImageBody,MFileBody to match react-sdk and having the classnames match their components. Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/skins/vector/css/_components.scss | 1 + .../views/messages/_MFileBody.scss | 46 +++++++++++++++++++ .../views/messages/_MImageBody.scss | 31 ------------- 3 files changed, 47 insertions(+), 31 deletions(-) create mode 100644 src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 2319ebee8..faf358bd9 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -46,6 +46,7 @@ @import "./matrix-react-sdk/views/login/_InteractiveAuthEntryComponents.scss"; @import "./matrix-react-sdk/views/login/_ServerConfig.scss"; @import "./matrix-react-sdk/views/messages/_MEmoteBody.scss"; +@import "./matrix-react-sdk/views/messages/_MFileBody.scss"; @import "./matrix-react-sdk/views/messages/_MImageBody.scss"; @import "./matrix-react-sdk/views/messages/_MNoticeBody.scss"; @import "./matrix-react-sdk/views/messages/_MTextBody.scss"; diff --git a/src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss b/src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss new file mode 100644 index 000000000..77c6241bc --- /dev/null +++ b/src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss @@ -0,0 +1,46 @@ +/* +Copyright 2015, 2016 OpenMarket 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. +*/ + +.mx_MFileBody_download { + color: $accent-color; +} + +.mx_MFileBody_download a { + color: $accent-color; + text-decoration: none; +} + +.mx_MFileBody_download object { + margin-left: -16px; + padding-right: 4px; + margin-top: -4px; + vertical-align: middle; + pointer-events: none; +} + +/* Remove the border and padding for iframes for download links. */ +.mx_MFileBody_download iframe { + margin: 0px; + padding: 0px; + border: none; + width: 100%; + /* Set the height of the iframe to be 1 line of text. + * Iframes don't automatically size themselves to fit their content. + * So either we have to fix the height of the iframe using CSS or + * use javascript's cross-origin postMessage API to communicate how + * big the content of the iframe is. */ + height: 1.5em; +} diff --git a/src/skins/vector/css/matrix-react-sdk/views/messages/_MImageBody.scss b/src/skins/vector/css/matrix-react-sdk/views/messages/_MImageBody.scss index 83ae06160..1702aac8a 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/messages/_MImageBody.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/messages/_MImageBody.scss @@ -27,34 +27,3 @@ limitations under the License. border-radius: 1px; */ } - -.mx_MImageBody_download { - color: $accent-color; -} - -.mx_MImageBody_download a { - color: $accent-color; - text-decoration: none; -} - -.mx_MImageBody_download object { - margin-left: -16px; - padding-right: 4px; - margin-top: -4px; - vertical-align: middle; - pointer-events: none; -} - -/* Remove the border and padding for iframes for download links. */ -.mx_MImageBody_download iframe { - margin: 0px; - padding: 0px; - border: none; - width: 100%; - /* Set the height of the iframe to be 1 line of text. - * Iframes don't automatically size themselves to fit their content. - * So either we have to fix the height of the iframe using CSS or - * use javascript's cross-origin postMessage API to communicate how - * big the content of the iframe is. */ - height: 1.5em; -} From 3abf1458fb3146ebeba3901e4ae6f39960eb43c3 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 5 Feb 2018 13:25:43 +0000 Subject: [PATCH 156/391] Add cursor:pointer so that calculated CSS includes it for iframe style Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../vector/css/matrix-react-sdk/views/messages/_MFileBody.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss b/src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss index 77c6241bc..6cbce6874 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/messages/_MFileBody.scss @@ -21,6 +21,7 @@ limitations under the License. .mx_MFileBody_download a { color: $accent-color; text-decoration: none; + cursor: pointer; } .mx_MFileBody_download object { From 481476f835d439e92d3f6e770ed51d9d613779e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Sat, 3 Feb 2018 10:16:36 +0000 Subject: [PATCH 157/391] Translated using Weblate (Serbian) Currently translated at 98.6% (219 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 25a1f3425..12c42325f 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -132,7 +132,7 @@ "View Decrypted Source": "Погледај дешифровани извор", "Unhide Preview": "Откриј преглед", "Permalink": "Трајна веза", - "Quote": "Цитирај", + "Quote": "Цитат", "Source URL": "Адреса извора", "Failed to set Direct Message status of room": "Нисам успео да подесим стање директне поруке собе", "unknown error code": "непознати код грешке", From 3cbaa95184efc1329ea3d7bb665068538f9e1bb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sim=C3=B3=20Albert=20i=20Beltran?= Date: Tue, 6 Feb 2018 10:41:40 +0000 Subject: [PATCH 158/391] Translated using Weblate (Catalan) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/ --- src/i18n/strings/ca.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json index e267d3efb..53ca8af87 100644 --- a/src/i18n/strings/ca.json +++ b/src/i18n/strings/ca.json @@ -219,5 +219,7 @@ "Contributing code to Matrix and Riot": "Contribuir amb codi a Matrix i Riot", "Dev chat for the Riot/Web dev team": "Xat de l'equip de desenvolupadors Riot/Web per a desenvolupadors", "Dev chat for the Dendrite dev team": "Xat de l'equip Dendrite per a desenvolupadors", - "Co-ordination for Riot/Web translators": "Coordinació per a traductors de Riot/Web" + "Co-ordination for Riot/Web translators": "Coordinació per a traductors de Riot/Web", + "%(count)s Members|other": "%(count)s membres", + "%(count)s Members|one": "%(count)s membre" } From e46f436a472a017889f146bc4fcad1d1b2d379ac Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Tue, 6 Feb 2018 11:50:34 +0000 Subject: [PATCH 159/391] Prefer context.matrixClient in LeftPanel --- src/components/structures/LeftPanel.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/structures/LeftPanel.js b/src/components/structures/LeftPanel.js index c1222396e..398862f22 100644 --- a/src/components/structures/LeftPanel.js +++ b/src/components/structures/LeftPanel.js @@ -24,7 +24,6 @@ import { MatrixClient } from 'matrix-js-sdk'; import { KeyCode } from 'matrix-react-sdk/lib/Keyboard'; import sdk from 'matrix-react-sdk'; import dis from 'matrix-react-sdk/lib/dispatcher'; -import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; import VectorConferenceHandler from '../../VectorConferenceHandler'; import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore"; @@ -206,7 +205,7 @@ var LeftPanel = React.createClass({ dis.dispatch(RoomListActions.tagRoom( this.context.matrixClient, - MatrixClientPeg.get().getRoom(roomId), + this.context.matrixClient.getRoom(roomId), prevTag, newTag, oldIndex, newIndex, ), true); @@ -223,7 +222,7 @@ var LeftPanel = React.createClass({ const CallPreview = sdk.getComponent('voip.CallPreview'); let topBox; - if (MatrixClientPeg.get().isGuest()) { + if (this.context.matrixClient.isGuest()) { const LoginBox = sdk.getComponent('structures.LoginBox'); topBox = ; } else { From 83996c09d9a06f34fa11a07ab6c789c31770082f Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Tue, 6 Feb 2018 11:51:46 +0000 Subject: [PATCH 160/391] General delint, cleanup --- .../context_menus/RoomTileContextMenu.js | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/src/components/views/context_menus/RoomTileContextMenu.js b/src/components/views/context_menus/RoomTileContextMenu.js index 36602cfac..9ddafb83a 100644 --- a/src/components/views/context_menus/RoomTileContextMenu.js +++ b/src/components/views/context_menus/RoomTileContextMenu.js @@ -20,6 +20,7 @@ limitations under the License. import Promise from 'bluebird'; import React from 'react'; import classNames from 'classnames'; +import PropTypes from 'prop-types'; import sdk from 'matrix-react-sdk'; import { _t, _td } from 'matrix-react-sdk/lib/languageHandler'; import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; @@ -28,14 +29,15 @@ import DMRoomMap from 'matrix-react-sdk/lib/utils/DMRoomMap'; import * as Rooms from 'matrix-react-sdk/lib/Rooms'; import * as RoomNotifs from 'matrix-react-sdk/lib/RoomNotifs'; import Modal from 'matrix-react-sdk/lib/Modal'; +import RoomListActions from 'matrix-react-sdk/lib/actions/RoomListActions'; module.exports = React.createClass({ displayName: 'RoomTileContextMenu', propTypes: { - room: React.PropTypes.object.isRequired, + room: PropTypes.object.isRequired, /* callback called when the menu is dismissed */ - onFinished: React.PropTypes.func, + onFinished: PropTypes.func, }, getInitialState() { @@ -45,7 +47,7 @@ module.exports = React.createClass({ isFavourite: this.props.room.tags.hasOwnProperty("m.favourite"), isLowPriority: this.props.room.tags.hasOwnProperty("m.lowpriority"), isDirectMessage: Boolean(dmRoomMap.getUserIdForRoomId(this.props.room.roomId)), - } + }; }, componentWillMount: function() { @@ -132,22 +134,22 @@ module.exports = React.createClass({ }, _onClickDM: function() { + if (MatrixClientPeg.get().isGuest()) return; + const newIsDirectMessage = !this.state.isDirectMessage; this.setState({ isDirectMessage: newIsDirectMessage, }); - if (MatrixClientPeg.get().isGuest()) return; - Rooms.guessAndSetDMRoom( - this.props.room, newIsDirectMessage + this.props.room, newIsDirectMessage, ).delay(500).finally(() => { // Close the context menu if (this.props.onFinished) { this.props.onFinished(); - }; + } }, (err) => { - var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); + const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); Modal.createTrackedDialog('Failed to set Direct Message status of room', '', ErrorDialog, { title: _t('Failed to set Direct Message status of room'), description: ((err && err.message) ? err.message : _t('Operation failed')), @@ -165,7 +167,7 @@ module.exports = React.createClass({ // Close the context menu if (this.props.onFinished) { this.props.onFinished(); - }; + } }, _onClickReject: function() { @@ -177,7 +179,7 @@ module.exports = React.createClass({ // Close the context menu if (this.props.onFinished) { this.props.onFinished(); - }; + } }, _onClickForget: function() { @@ -185,8 +187,8 @@ module.exports = React.createClass({ MatrixClientPeg.get().forget(this.props.room.roomId).done(function() { dis.dispatch({ action: 'view_next_room' }); }, function(err) { - var errCode = err.errcode || _td("unknown error code"); - var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); + const errCode = err.errcode || _td("unknown error code"); + const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); Modal.createTrackedDialog('Failed to forget room', '', ErrorDialog, { title: _t('Failed to forget room %(errCode)s', {errCode: errCode}), description: ((err && err.message) ? err.message : _t('Operation failed')), @@ -196,20 +198,19 @@ module.exports = React.createClass({ // Close the context menu if (this.props.onFinished) { this.props.onFinished(); - }; + } }, _saveNotifState: function(newState) { + if (MatrixClientPeg.get().isGuest()) return; + const oldState = this.state.roomNotifState; const roomId = this.props.room.roomId; - var cli = MatrixClientPeg.get(); - - if (cli.isGuest()) return; this.setState({ roomNotifState: newState, }); - RoomNotifs.setRoomNotifsState(this.props.room.roomId, newState).done(() => { + RoomNotifs.setRoomNotifsState(roomId, newState).done(() => { // delay slightly so that the user can see their state change // before closing the menu return Promise.delay(500).then(() => { @@ -217,7 +218,7 @@ module.exports = React.createClass({ // Close the context menu if (this.props.onFinished) { this.props.onFinished(); - }; + } }); }, (error) => { // TODO: some form of error notification to the user @@ -247,22 +248,22 @@ module.exports = React.createClass({ }, _renderNotifMenu: function() { - var alertMeClasses = classNames({ + const alertMeClasses = classNames({ 'mx_RoomTileContextMenu_notif_field': true, 'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.ALL_MESSAGES_LOUD, }); - var allNotifsClasses = classNames({ + const allNotifsClasses = classNames({ 'mx_RoomTileContextMenu_notif_field': true, 'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.ALL_MESSAGES, }); - var mentionsClasses = classNames({ + const mentionsClasses = classNames({ 'mx_RoomTileContextMenu_notif_field': true, 'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.MENTIONS_ONLY, }); - var muteNotifsClasses = classNames({ + const muteNotifsClasses = classNames({ 'mx_RoomTileContextMenu_notif_field': true, 'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.MUTE, }); @@ -272,22 +273,22 @@ module.exports = React.createClass({
-
+
{ _t('All messages (noisy)') }
-
+
{ _t('All messages') }
-
+
{ _t('Mentions only') }
-
+
{ _t('Mute') } @@ -322,7 +323,7 @@ module.exports = React.createClass({ return (
-
+
{ leaveText }
@@ -351,17 +352,17 @@ module.exports = React.createClass({ return (
-
+
{ _t('Favourite') }
-
+
{ _t('Low Priority') }
-
+
{ _t('Direct Chat') } @@ -372,7 +373,7 @@ module.exports = React.createClass({ render: function() { const myMember = this.props.room.getMember( - MatrixClientPeg.get().credentials.userId + MatrixClientPeg.get().credentials.userId, ); // Can't set notif level or tags on non-join rooms @@ -389,5 +390,5 @@ module.exports = React.createClass({ { this._renderRoomTagMenu() }
); - } + }, }); From 662942ec295183b185e50883b843c63bd4b3aa42 Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Tue, 6 Feb 2018 11:52:39 +0000 Subject: [PATCH 161/391] Use dispatch to change room tags from RoomTileContextMenu --- .../context_menus/RoomTileContextMenu.js | 44 ++++--------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/src/components/views/context_menus/RoomTileContextMenu.js b/src/components/views/context_menus/RoomTileContextMenu.js index 9ddafb83a..06eb347d6 100644 --- a/src/components/views/context_menus/RoomTileContextMenu.js +++ b/src/components/views/context_menus/RoomTileContextMenu.js @@ -59,42 +59,16 @@ module.exports = React.createClass({ }, _toggleTag: function(tagNameOn, tagNameOff) { - var self = this; - const roomId = this.props.room.roomId; - var cli = MatrixClientPeg.get(); - if (!cli.isGuest()) { - Promise.delay(500).then(function() { - if (tagNameOff !== null && tagNameOff !== undefined) { - cli.deleteRoomTag(roomId, tagNameOff).finally(function() { - // Close the context menu - if (self.props.onFinished) { - self.props.onFinished(); - }; - }).catch(function(err) { - var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); - Modal.createTrackedDialog('Failed to remove tag from room 1', '', ErrorDialog, { - title: _t('Failed to remove tag %(tagName)s from room', {tagName: tagNameOff}), - description: ((err && err.message) ? err.message : _t('Operation failed')), - }); - }); - } + if (!MatrixClientPeg.get().isGuest()) { + Promise.delay(500).then(() => { + dis.dispatch(RoomListActions.tagRoom( + MatrixClientPeg.get(), + this.props.room, + tagNameOff, tagNameOn, + undefined, 0, + ), true); - if (tagNameOn !== null && tagNameOn !== undefined) { - // If the tag ordering meta data is required, it is added by - // the RoomSubList when it sorts its rooms - cli.setRoomTag(roomId, tagNameOn, {}).finally(function() { - // Close the context menu - if (self.props.onFinished) { - self.props.onFinished(); - }; - }).catch(function(err) { - var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); - Modal.createTrackedDialog('Failed to remove tag from room 2', '', ErrorDialog, { - title: _t('Failed to remove tag %(tagName)s from room', {tagName: tagNameOn}), - description: ((err && err.message) ? err.message : _t('Operation failed')), - }); - }); - } + this.props.onFinished(); }); } }, From 44a727b20509f27fbe68059ca31ba6c52b884c2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Wed, 7 Feb 2018 08:55:47 +0000 Subject: [PATCH 162/391] Translated using Weblate (Slovak) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index b80a24995..34f95ce81 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -44,8 +44,8 @@ "On": "Povolené", "Noisy": "Hlučné", "Failed to set direct chat tag": "Nepodarilo sa nastaviť značku priama konverzácia", - "Failed to remove tag %(tagName)s from room": "Nepodarilo sa odstrániť značku %(tagName)s pre túto miestnosť", - "Failed to add tag %(tagName)s to room": "Nepodarilo sa pridať značku %(tagName)s pre túto miestnosť", + "Failed to remove tag %(tagName)s from room": "Z miestnosti sa nepodarilo odstrániť značku %(tagName)s", + "Failed to add tag %(tagName)s to room": "Miestnosti sa nepodarilo pridať značku %(tagName)s", "Search…": "Hľadať…", "Search": "Vyhľadávanie", "This Room": "V tejto miestnosti", @@ -220,5 +220,7 @@ "Away": "Preč", "Please install Chrome or Firefox for the best experience.": "Aby ste s používania mali čo možno najlepší dojem, nainštalujte si Chrome alebo Firefox.", "Safari and Opera work too.": "Správne fungujú aj Safari a Opera.", - "Reply": "Odpovedať" + "Reply": "Odpovedať", + "%(count)s Members|other": "%(count)s Členov", + "%(count)s Members|one": "%(count)s Člen" } From 8efce30d7fc6896dd8a5457523da7fe4d9b519bc Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Wed, 7 Feb 2018 11:57:40 +0000 Subject: [PATCH 163/391] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 718127836..3ec933c6c 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -97,12 +97,12 @@ "Enable audible notifications in web client": "在網頁客戶端啟用音訊通知", "Enter keywords separated by a comma:": "輸入以逗號隔開的關鍵字:", "Error saving email notification preferences": "儲存電子郵件通知偏好設定時出錯", - "Failed to add tag %(tagName)s to room": "無法為聊天室新增標籤 %(tagName)s", + "Failed to add tag %(tagName)s to room": "新增標籤 %(tagName)s 到聊天室失敗", "Failed to get protocol list from Home Server": "無法從主機伺服器取得協定清單", "Failed to get public room list": "無法取得公開的聊天室清單", - "Failed to remove tag %(tagName)s from room": "移除聊天室的標籤 %(tagName)s 失敗", + "Failed to remove tag %(tagName)s from room": "從聊天室移除標籤 %(tagName)s 失敗", "Failed to send report: ": "無法傳送報告: ", - "Failed to set direct chat tag": "無法設定私人聊天標籤", + "Failed to set direct chat tag": "設定直接聊天標籤失敗", "Failed to set Direct Message status of room": "無法設定聊天室的私人訊息狀態", "Fetching third party location failed": "抓取第三方位置失敗", "Files": "檔案", @@ -222,5 +222,7 @@ "Away": "離開", "Please install Chrome or Firefox for the best experience.": "請安裝 ChromeFirefox 以取得最佳體驗。", "Safari and Opera work too.": "SafariOpera 也可以運作。", - "Reply": "回覆" + "Reply": "回覆", + "%(count)s Members|other": "%(count)s 個成員", + "%(count)s Members|one": "%(count)s 個成員" } From 95c45362d5ad1dcf286dbf40570cfcde90d5fb1d Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Wed, 7 Feb 2018 12:02:00 +0000 Subject: [PATCH 164/391] Fix horizontal scrollbar under certain circumstances specifically when trailing whitespace is not wrapped onto the next line of the block. Fixes #6077 --- .../css/matrix-react-sdk/views/rooms/_MessageComposer.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index e6b1a1f0d..98be3885c 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -108,6 +108,10 @@ limitations under the License. padding-top: 2px; } +.mx_MessageComposer .public-DraftStyleDefault-block { + overflow-x: hidden; +} + .mx_MessageComposer_input blockquote { color: $blockquote-fg-color; margin: 0 0 16px; From 7eab0eca5b949fb0ffbc7a2c336d31dacf47c3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Tue, 6 Feb 2018 19:11:45 +0000 Subject: [PATCH 165/391] Translated using Weblate (French) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 4e75ddca9..910b917be 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -24,14 +24,14 @@ "Error": "Erreur", "Error saving email notification preferences": "Erreur lors de la sauvegarde des préférences de notification par e-mail", "#example": "#exemple", - "Failed to add tag %(tagName)s to room": "Échec lors de l'ajout de l’étiquette %(tagName)s au salon", + "Failed to add tag %(tagName)s to room": "Échec de l'ajout de l'étiquette %(tagName)s au salon", "Failed to change settings": "Échec de la mise à jour des paramètres", "Failed to forget room %(errCode)s": "Échec lors de l'oubli du salon %(errCode)s", "Failed to update keywords": "Échec dans la mise à jour des mots-clés", "Failed to get protocol list from Home Server": "Échec lors de la récupération de la liste sur le serveur", "Failed to get public room list": "Échec lors de la récupération de la liste des salons publics", - "Failed to remove tag %(tagName)s from room": "Échec dans la suppression de l’étiquette %(tagName)s du salon", - "Failed to set direct chat tag": "Échec dans l'attribution d'une étiquette dans la discussion directe", + "Failed to remove tag %(tagName)s from room": "Échec de la suppression de l'étiquette %(tagName)s du salon", + "Failed to set direct chat tag": "Échec de l'ajout de l'étiquette discussion directe", "Favourite": "Favoris", "Operation failed": "L'opération a échoué", "powered by Matrix": "propulsé par Matrix", From c659c81341f073c38ea8a07c9f2233ce61698e15 Mon Sep 17 00:00:00 2001 From: Krombel Date: Wed, 7 Feb 2018 09:41:35 +0000 Subject: [PATCH 166/391] Translated using Weblate (German) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index f201244a0..322378805 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -67,10 +67,10 @@ "Close": "Schließen", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Soll der Raum-Alias %(alias)s gelöscht und der %(name)s aus dem Verzeichnis entfernt werden?", "Download this file": "Datei herunterladen", - "Failed to add tag %(tagName)s to room": "Das Hinzufügen des Tags %(tagName)s für den Raum ist fehlgeschlagen", + "Failed to add tag %(tagName)s to room": "Fehler beim Hinzufügen des \"%(tagName)s\"-Tags an dem Raum", "Failed to forget room %(errCode)s": "Das Entfernen des Raums ist fehlgeschlagen %(errCode)s", - "Failed to remove tag %(tagName)s from room": "Das Entfernen des Tags %(tagName)s für den Raum ist fehlgeschlagen", - "Failed to set direct chat tag": "Fehler beim Setzen der \"Direkter Chat\"-Kennzeichnung", + "Failed to remove tag %(tagName)s from room": "Fehler beim Entfernen des \"%(tagName)s\"-Tags von dem Raum", + "Failed to set direct chat tag": "Fehler beim Setzen der Direkt-Chat-Markierung", "Mentions only": "Nur, wenn du erwähnt wirst", "Mute": "Stummschalten", "Permalink": "Permanenter Link", From ca2767fd044a6a2e0d2fba2709be0526c48aa9b2 Mon Sep 17 00:00:00 2001 From: Szimszon Date: Tue, 6 Feb 2018 21:11:38 +0000 Subject: [PATCH 167/391] Translated using Weblate (Hungarian) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/ --- src/i18n/strings/hu.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 64071dd3a..432661440 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -26,14 +26,14 @@ "Error": "Hiba", "Error saving email notification preferences": "Hiba e-mail értesítés beállításának mentésénél", "#example": "#példa", - "Failed to add tag %(tagName)s to room": "Nem lehet a címkét hozzáadni a szobához: %(tagName)s", + "Failed to add tag %(tagName)s to room": "Nem sikerült hozzáadni a szobához ezt: %(tagName)s", "Failed to change settings": "Nem lehet a beállítást megváltoztatni", "Failed to forget room %(errCode)s": "Nem lehet eltávolítani a szobát: %(errCode)s", "Failed to update keywords": "Nem lehet a kulcsszavakat frissíteni", "Failed to get protocol list from Home Server": "Nem lehet a protokoll listát lekérni a Saját szerverről", "Failed to get public room list": "Nem lehet lekérdezni a nyílt szobák listáját", - "Failed to remove tag %(tagName)s from room": "Nem lehet törölni a(z) %(tagName)s címkét a szobáról", - "Failed to set direct chat tag": "Nem lehet a címkét beállítani a közvetlen beszélgetéshez", + "Failed to remove tag %(tagName)s from room": "Nem sikerült a szobáról eltávolítani ezt: %(tagName)s", + "Failed to set direct chat tag": "Nem sikerült a közvetlen beszélgetés jelzést beállítani", "Failed to set Direct Message status of room": "Nem lehet beállítani a Közvetlen beszélgetés státuszt a szobához", "Favourite": "Kedvenc", "Fetching third party location failed": "Nem sikerült lekérdezni a harmadik felet", From f3bae5c090d0a5d867d628f847c24a67037aa362 Mon Sep 17 00:00:00 2001 From: "Robert A. Viana" Date: Wed, 7 Feb 2018 11:13:51 +0000 Subject: [PATCH 168/391] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.5% (221 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/ --- src/i18n/strings/pt_BR.json | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 40df7d604..10bad9f09 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -205,5 +205,23 @@ "Event sent!": "Evento enviado!", "Event Type": "Tipo do Evento", "Event Content": "Conteúdo do Evento", - "State Key": "Chave do Estado" + "State Key": "Chave do Estado", + "Show message in desktop notification": "Mostrar mensagens na notificação", + "Appear Offline": "Aparecer Desconectado", + "Away": "Ausente", + "Send Account Data": "Enviar Dados da Conta", + "Edit": "Editar", + "Explore Account Data": "Explorar Dados da Conta", + "Toolbox": "Ferramentas", + "Unpin Message": "Desafixar Mensagem", + "Pin Message": "Fixar Mensagem", + "Please install Chrome or Firefox for the best experience.": "Por favor Instale Chrome Ou Firefox para uma melhor Experiencia.", + "Safari and Opera work too.": "Safari e Opera Funciona bem.", + "Register": "Registre-se", + "%(count)s Members|other": "%(count)s Membros", + "Rooms": "Salas", + "Invite to this community": "Convidar para essa comunidade", + "Add rooms to this community": "Adicionar salas na comunidade", + "Reply": "Responder", + "%(count)s Members|one": "%(count) Membros" } From 0f475a0e10de47ef8695685ffd80d51679adb0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Tue, 6 Feb 2018 21:36:06 +0000 Subject: [PATCH 169/391] Translated using Weblate (Serbian) Currently translated at 98.6% (219 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 12c42325f..23bde29f8 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -44,7 +44,7 @@ "On": "Укључено", "Noisy": "Бучно", "Failed to set direct chat tag": "Нисам успео да поставим ознаку директног ћаскања", - "Failed to remove tag %(tagName)s from room": "Нисам успео да уклоним ознаку %(tagName)s са собе", + "Failed to remove tag %(tagName)s from room": "Нисам успео да скинем ознаку %(tagName)s са собе", "Failed to add tag %(tagName)s to room": "Нисам успео да додам ознаку %(tagName)s на собу", "Search…": "Претрага…", "Search": "Претрага", From 31af7c583f2fbffd4f46e511d71a3e1b3eee58cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sim=C3=B3=20Albert=20i=20Beltran?= Date: Wed, 7 Feb 2018 13:56:46 +0000 Subject: [PATCH 170/391] Translated using Weblate (Spanish) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/ --- src/i18n/strings/es.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index d73e936dc..affd81a61 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -221,5 +221,7 @@ "Add rooms to this community": "Agregar salas a esta comunidad", "Unpin Message": "Desmarcar Mensaje", "Pin Message": "Marcar Mensaje", - "Reply": "Responder" + "Reply": "Responder", + "%(count)s Members|other": "%(count)s miembros", + "%(count)s Members|one": "%(count)s miembro" } From 4b7561a75ef8cd5996a0e4b9164baa55e908755c Mon Sep 17 00:00:00 2001 From: lukebarnard Date: Wed, 7 Feb 2018 17:40:00 +0000 Subject: [PATCH 171/391] Fix long group name pushing settings cog into void --- .../vector/css/matrix-react-sdk/structures/_GroupView.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss b/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss index 300728d27..68b2ba298 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss @@ -90,6 +90,8 @@ limitations under the License. .mx_GroupView_header_leftCol { flex: 1; + + overflow: hidden; } .mx_GroupView_header_rightCol { From f41a70fe1ff51e26c93e5dbf93ef4de573c6e1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA=D0=BE=20=D0=9C=2E=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=9B?= Date: Wed, 7 Feb 2018 20:36:36 +0000 Subject: [PATCH 172/391] Translated using Weblate (Serbian) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/ --- src/i18n/strings/sr.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json index 23bde29f8..5c232ff1e 100644 --- a/src/i18n/strings/sr.json +++ b/src/i18n/strings/sr.json @@ -118,7 +118,7 @@ "You can now return to your account after signing out, and sign in on other devices.": "Можете се вратити у ваш налог након што се одјавите и пријавите поново, на другим уређајима.", "Remember, you can always set an email address in user settings if you change your mind.": "Запамтите, увек можете поставити мејл адресу у корисничким подешавањима, уколико се предомислите.", "Continue": "Настави", - "Failed to change password. Is your password correct?": "Нисам успео да променим лозинку. Да ли је ваша лозинка исправна?", + "Failed to change password. Is your password correct?": "Нисам успео да променим лозинку. Да ли је ваша лозинка тачна?", "(HTTP status %(httpStatus)s)": "(HTTP стање %(httpStatus)s)", "Please set a password!": "Поставите лозинку!", "This will allow you to return to your account after signing out, and sign in on other devices.": "Ово ће вам омогућити да се вратите у ваш налог након што се одјавите и пријавите, на другим уређајима.", @@ -218,5 +218,8 @@ "Dev chat for the Riot/Web dev team": "Програмерско ћаскање за Riot/веб програмерски тим", "Dev chat for the Dendrite dev team": "Програмерско ћаскање за Dendrite програмерски тим", "Co-ordination for Riot/Web translators": "Координација за Riot/веб преводиоце", - "Reply": "Одговори" + "Reply": "Одговори", + "All messages (noisy)": "Све поруке (гласно)", + "%(count)s Members|other": "%(count)s чланова", + "%(count)s Members|one": "%(count)s члан" } From 495090c9ba41a05cc74acb27dc6bb31782a6ed1a Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Feb 2018 14:08:20 +0000 Subject: [PATCH 173/391] Remove now unused RoomSubList code --- src/components/structures/RoomSubList.js | 117 ----------------------- 1 file changed, 117 deletions(-) diff --git a/src/components/structures/RoomSubList.js b/src/components/structures/RoomSubList.js index 398f2647d..8bea76ab6 100644 --- a/src/components/structures/RoomSubList.js +++ b/src/components/structures/RoomSubList.js @@ -38,31 +38,6 @@ var debug = false; const TRUNCATE_AT = 10; -var roomListTarget = { - canDrop: function() { - return true; - }, - - drop: function(props, monitor, component) { - if (debug) console.log("dropped on sublist") - }, - - hover: function(props, monitor, component) { - var item = monitor.getItem(); - - if (component.state.sortedList.length == 0 && props.editable) { - if (debug) console.log("hovering on sublist " + props.label + ", isOver=" + monitor.isOver()); - - if (item.targetList !== component) { - item.targetList.removeRoomTile(item.room); - item.targetList = component; - } - - component.moveRoomTile(item.room, 0); - } - }, -}; - var RoomSubList = React.createClass({ displayName: 'RoomSubList', @@ -279,98 +254,6 @@ var RoomSubList = React.createClass({ this.setState(this.state); }, - moveRoomTile: function(room, atIndex) { - if (debug) console.log("moveRoomTile: id " + room.roomId + ", atIndex " + atIndex); - //console.log("moveRoomTile before: " + JSON.stringify(this.state.rooms)); - var found = this.findRoomTile(room); - var rooms = this.state.sortedList; - if (found.room) { - if (debug) console.log("removing at index " + found.index + " and adding at index " + atIndex); - rooms.splice(found.index, 1); - rooms.splice(atIndex, 0, found.room); - } - else { - if (debug) console.log("Adding at index " + atIndex); - rooms.splice(atIndex, 0, room); - } - this.setState({ sortedList: rooms }); - // console.log("moveRoomTile after: " + JSON.stringify(this.state.rooms)); - }, - - // XXX: this isn't invoked via a property method but indirectly via - // the roomList property method. Unsure how evil this is. - removeRoomTile: function(room) { - if (debug) console.log("remove room " + room.roomId); - var found = this.findRoomTile(room); - var rooms = this.state.sortedList; - if (found.room) { - rooms.splice(found.index, 1); - } - else { - console.warn("Can't remove room " + room.roomId + " - can't find it"); - } - this.setState({ sortedList: rooms }); - }, - - findRoomTile: function(room) { - var index = this.state.sortedList.indexOf(room); - if (index >= 0) { - // console.log("found: room: " + room.roomId + " with index " + index); - } - else { - if (debug) console.log("didn't find room"); - room = null; - } - return ({ - room: room, - index: index, - }); - }, - - calcManualOrderTagData: function(index) { - // we sort rooms by the lexicographic ordering of the 'order' metadata on their tags. - // for convenience, we calculate this for now a floating point number between 0.0 and 1.0. - - let orderA = 0.0; // by default we're next to the beginning of the list - if (index > 0) { - const prevTag = this.state.sortedList[index - 1].tags[this.props.tagName]; - if (!prevTag) { - console.error("Previous room in sublist is not tagged to be in this list. This should never happen."); - } else if (prevTag.order === undefined) { - console.error("Previous room in sublist has no ordering metadata. This should never happen."); - } else { - orderA = prevTag.order; - } - } - - let orderB = 1.0; // by default we're next to the end of the list too - if (index < this.state.sortedList.length - 1) { - const nextTag = this.state.sortedList[index + 1].tags[this.props.tagName]; - if (!nextTag) { - console.error("Next room in sublist is not tagged to be in this list. This should never happen."); - } else if (nextTag.order === undefined) { - console.error("Next room in sublist has no ordering metadata. This should never happen."); - } else { - orderB = nextTag.order; - } - } - - const order = (orderA + orderB) / 2.0; - - if (order === orderA || order === orderB) { - console.error("Cannot describe new list position. This should be incredibly unlikely."); - this.state.sortedList.forEach((room, index) => { - MatrixClientPeg.get().setRoomTag( - room.roomId, this.props.tagName, - {order: index / this.state.sortedList.length}, - ); - }); - return index / this.state.sortedList.length; - } - - return order; - }, - makeRoomTiles: function() { var self = this; var DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile"); From 0cdebcce89605e3297cc72fac09038a8d9aa3c38 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Feb 2018 16:28:42 +0000 Subject: [PATCH 174/391] Move sublist sorting to RoomListStore NB: fixUndefinedOrdering was removed completely because it was code dealing with legacy favourites. see matrix-org/matrix-react-sdk@9b0df191 --- src/components/structures/RoomSubList.js | 114 ++--------------------- 1 file changed, 6 insertions(+), 108 deletions(-) diff --git a/src/components/structures/RoomSubList.js b/src/components/structures/RoomSubList.js index 8bea76ab6..d119e2714 100644 --- a/src/components/structures/RoomSubList.js +++ b/src/components/structures/RoomSubList.js @@ -85,13 +85,17 @@ var RoomSubList = React.createClass({ }, componentWillMount: function() { - this.sortList(this.applySearchFilter(this.props.list, this.props.searchFilter), this.props.order); + this.setState({ + sortedList: this.applySearchFilter(this.props.list, this.props.searchFilter), + }); }, componentWillReceiveProps: function(newProps) { // order the room list appropriately before we re-render //if (debug) console.log("received new props, list = " + newProps.list); - this.sortList(this.applySearchFilter(newProps.list, newProps.searchFilter), newProps.order); + this.setState({ + sortedList: this.applySearchFilter(newProps.list, newProps.searchFilter), + }); }, applySearchFilter: function(list, filter) { @@ -139,71 +143,6 @@ var RoomSubList = React.createClass({ }); }, - tsOfNewestEvent: function(room) { - for (var i = room.timeline.length - 1; i >= 0; --i) { - var ev = room.timeline[i]; - if (ev.getTs() && - (Unread.eventTriggersUnreadCount(ev) || - (ev.getSender() === MatrixClientPeg.get().credentials.userId)) - ) { - return ev.getTs(); - } - } - - // we might only have events that don't trigger the unread indicator, - // in which case use the oldest event even if normally it wouldn't count. - // This is better than just assuming the last event was forever ago. - if (room.timeline.length && room.timeline[0].getTs()) { - return room.timeline[0].getTs(); - } else { - return Number.MAX_SAFE_INTEGER; - } - }, - - // TODO: factor the comparators back out into a generic comparator - // so that view_prev_room and view_next_room can do the right thing - - recentsComparator: function(roomA, roomB) { - return this.tsOfNewestEvent(roomB) - this.tsOfNewestEvent(roomA); - }, - - lexicographicalComparator: function(roomA, roomB) { - return roomA.name > roomB.name ? 1 : -1; - }, - - // Generates the manual comparator using the given list - manualComparator: function(roomA, roomB) { - if (!roomA.tags[this.props.tagName] || !roomB.tags[this.props.tagName]) return 0; - - // Make sure the room tag has an order element, if not set it to be the bottom - var a = roomA.tags[this.props.tagName].order; - var b = roomB.tags[this.props.tagName].order; - - // Order undefined room tag orders to the bottom - if (a === undefined && b !== undefined) { - return 1; - } else if (a !== undefined && b === undefined) { - return -1; - } - - return a == b ? this.lexicographicalComparator(roomA, roomB) : ( a > b ? 1 : -1); - }, - - sortList: function(list, order) { - if (list === undefined) list = this.state.sortedList; - if (order === undefined) order = this.props.order; - var comparator; - list = list || []; - if (order === "manual") comparator = this.manualComparator; - if (order === "recent") comparator = this.recentsComparator; - - // Fix undefined orders here, and make sure the backend gets updated as well - this._fixUndefinedOrder(list); - - //if (debug) console.log("sorting list for sublist " + this.props.label + " with length " + list.length + ", this.props.list = " + this.props.list); - this.setState({ sortedList: list.sort(comparator) }); - }, - _shouldShowNotifBadge: function(roomNotifState) { const showBadgeInStates = [RoomNotifs.ALL_MESSAGES, RoomNotifs.ALL_MESSAGES_LOUD]; return showBadgeInStates.indexOf(roomNotifState) > -1; @@ -380,47 +319,6 @@ var RoomSubList = React.createClass({ this.props.onHeaderClick(false); }, - // Fix any undefined order elements of a room in a manual ordered list - // room.tag[tagname].order - _fixUndefinedOrder: function(list) { - if (this.props.order === "manual") { - var order = 0.0; - var self = this; - - // Find the highest (lowest position) order of a room in a manual ordered list - list.forEach(function(room) { - if (room.tags.hasOwnProperty(self.props.tagName)) { - if (order < room.tags[self.props.tagName].order) { - order = room.tags[self.props.tagName].order; - } - } - }); - - // Fix any undefined order elements of a room in a manual ordered list - // Do this one at a time, as each time a rooms tag data is updated the RoomList - // gets triggered and another list is passed in. Doing it one at a time means that - // we always correctly calculate the highest order for the list - stops multiple - // rooms getting the same order. This is only really relevant for the first time this - // is run with historical room tag data, after that there should only be undefined - // in the list at a time anyway. - for (let i = 0; i < list.length; i++) { - if (list[i].tags[self.props.tagName] && list[i].tags[self.props.tagName].order === undefined) { - MatrixClientPeg.get().setRoomTag(list[i].roomId, self.props.tagName, {order: (order + 1.0) / 2.0}).finally(function() { - // Do any final stuff here - }).catch(function(err) { - var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); - console.error("Failed to add tag " + self.props.tagName + " to room" + err); - Modal.createTrackedDialog('Failed to add tag to room', '', ErrorDialog, { - title: _t('Failed to add tag %(tagName)s to room', {tagName: self.props.tagName}), - description: ((err && err.message) ? err.message : _t('Operation failed')), - }); - }); - break; - }; - }; - } - }, - render: function() { var connectDropTarget = this.props.connectDropTarget; var TruncatedList = sdk.getComponent('elements.TruncatedList'); From 62e90ceb0d822111dafe3fbd946c11f4f49afa0e Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Feb 2018 12:20:31 +0000 Subject: [PATCH 175/391] Sanity check URLs with isUrlPermitted Thanks to walle303 for letting us know these weren't being checked. --- src/components/views/context_menus/MessageContextMenu.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/views/context_menus/MessageContextMenu.js b/src/components/views/context_menus/MessageContextMenu.js index a07d11626..5bdfde412 100644 --- a/src/components/views/context_menus/MessageContextMenu.js +++ b/src/components/views/context_menus/MessageContextMenu.js @@ -1,5 +1,6 @@ /* Copyright 2015, 2016 OpenMarket Ltd +Copyright 2018 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. @@ -25,6 +26,7 @@ import { _t } from 'matrix-react-sdk/lib/languageHandler'; const Modal = require('matrix-react-sdk/lib/Modal'); const Resend = require("matrix-react-sdk/lib/Resend"); import * as UserSettingsStore from 'matrix-react-sdk/lib/UserSettingsStore'; +import { isUrlPermitted } from 'matrix-react-sdk/lib/HtmlUtils'; module.exports = React.createClass({ displayName: 'MessageContextMenu', @@ -275,7 +277,10 @@ module.exports = React.createClass({ } // Bridges can provide a 'external_url' to link back to the source. - if( typeof(this.props.mxEvent.event.content.external_url) === "string") { + if( + typeof(this.props.mxEvent.event.content.external_url) === "string" && + isUrlPermitted(this.props.mxEvent.event.content.external_url) + ) { externalURLButton = (
Date: Fri, 9 Feb 2018 10:28:10 +0000 Subject: [PATCH 176/391] Translated using Weblate (Basque) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/ --- src/i18n/strings/eu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index 12ca8d3b5..1a15700d9 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -46,7 +46,7 @@ "Failed to get public room list": "Huts egin du gela publikoen zerrenda jasotzean", "Failed to remove tag %(tagName)s from room": "Huts egin du %(tagName)s etiketa gelatik kentzean", "Failed to send report: ": "Huts egin du txostena bidaltzean: ", - "Failed to set direct chat tag": "Huts egin du txat zuzeneko etiketa jartzean", + "Failed to set direct chat tag": "Huts egin du txat zuzenarenaren etiketa jartzean", "Failed to set Direct Message status of room": "Huts egin du Mezu Zuzena egoera gelan ezartzean", "Favourite": "Gogokoa", "Fetching third party location failed": "Huts egin du hirugarrengoen kokalekua eskuratzean", From b20dea58c658fb15f02185ed05ced4746e8a1f80 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Feb 2018 12:36:19 +0000 Subject: [PATCH 177/391] Bump react-sdk version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ac25f8e0c..92d182d6a 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "highlight.js": "^9.0.0", "linkifyjs": "^2.1.3", "matrix-js-sdk": "0.9.2", - "matrix-react-sdk": "0.11.3", + "matrix-react-sdk": "0.11.4", "modernizr": "^3.1.0", "pako": "^1.0.5", "prop-types": "^15.5.10", From 1d222e35078d1d8df3be784887bd838fc2a9d3e7 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Feb 2018 12:38:23 +0000 Subject: [PATCH 178/391] v0.13.5 --- electron_app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron_app/package.json b/electron_app/package.json index b33da34fe..04741bec6 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "0.13.4", + "version": "0.13.5", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "dependencies": { From 30087e5c732f3a947ce017c7d8ff2aad4183e3b0 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Feb 2018 12:43:45 +0000 Subject: [PATCH 179/391] Prepare changelog for v0.13.5 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d93444c41..6b66e37aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Changes in [0.13.5](https://github.com/vector-im/riot-web/releases/tag/v0.13.5) (2018-02-09) +============================================================================================ +[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.4...v0.13.5) + + * SECURITY UPDATE: Sanitise URLs from 'external_url'. Thanks to walle303 for contacting + us about this vulnerability. + Changes in [0.13.4](https://github.com/vector-im/riot-web/releases/tag/v0.13.4) (2018-01-03) ============================================================================================ [Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.3...v0.13.4) From 9e614a54dab55fce7cbb274132d55cca16d08df1 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Feb 2018 12:43:45 +0000 Subject: [PATCH 180/391] v0.13.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 92d182d6a..8f34b5977 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron_app/src/electron-main.js", - "version": "0.13.4", + "version": "0.13.5", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "repository": { From 095130a569792c61d7dac2b78f408e01c544e321 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Fri, 9 Feb 2018 13:23:56 +0000 Subject: [PATCH 181/391] Hide apps drawer --- .../vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss index 2d61ca774..b6d267b43 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss @@ -18,6 +18,10 @@ limitations under the License. margin: 5px; } +.mx_AppsDrawer_hidden { + display: none; +} + .mx_AppsContainer { display: flex; flex-direction: row; From 93a381218c570e05f0decd229aa4abd315f155f6 Mon Sep 17 00:00:00 2001 From: Oskars Date: Sat, 10 Feb 2018 12:34:39 +0000 Subject: [PATCH 182/391] Translated using Weblate (Latvian) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lv/ --- src/i18n/strings/lv.json | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json index c71e991f3..31847c112 100644 --- a/src/i18n/strings/lv.json +++ b/src/i18n/strings/lv.json @@ -191,5 +191,37 @@ "Remember, you can always set an email address in user settings if you change your mind.": "Atceries, ka Tu vienmēr vari iestatīt epasta adresi lietotāja uzstādījumos, ja mainīsi domas.", "To return to your account in future you need to set a password": "Lai nākotnē atgrieztos savā kontā, tev būs nepieciešams iestatīt paroli", "Set Password": "Iestatīt paroli", - "Couldn't load home page": "Neizdevās ielādēt sākumlapu" + "Couldn't load home page": "Neizdevās ielādēt sākumlapu", + "Show message in desktop notification": "Parādīt ziņu darbvirsmas paziņojumos", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Tu vari lietot \"custom\" servera opcijas, lai ielogotos citos Matrix serveros, norādot citu mājasservera URL.
Tas atļaus tev lietot Riot ar esošo Matrix kontu uz cita mājasservera.

Tu arī vari uzstādīt atsevišķu identitāšu serveri, taču tad Tev nebūs iespēju uzaicināt lietotājus izmantojot epasta adresi, vai pašam tikt uzaicinātam izmantojot epasta adresi.", + "Appear Offline": "Šķiet oflainā", + "Away": "Prom", + "Bug report sent": "Kļūdas paziņojums nosūtīts", + "Thank you!": "Tencinam!", + "Back": "Atpakaļ", + "Send Custom Event": "Sūtīt īpašu notikumu", + "You must specify an event type!": "Tev jānorāda notikuma tips!", + "Event sent!": "Notikums nosūtīts!", + "Failed to send custom event.": "Īpašo notikumu nosūtīt neizdevās.", + "Event Type": "Notikuma tips", + "State Key": "Stāvokļa atslēga", + "Event Content": "Notikuma saturs", + "Send Account Data": "Sūtīt konta datus", + "Filter results": "Rezultātu filtrēšana", + "Explore Room State": "Istabas statusa noskaidrošana", + "Edit": "Rediģēt", + "Explore Account Data": "Aplūkot konta datus", + "Toolbox": "Instrumentārijs", + "Developer Tools": "Attīstītāja instrumenti", + "Unpin Message": "Atkabināt ziņu", + "Pin Message": "Piekabināt ziņu", + "Please install Chrome or Firefox for the best experience.": "Labāko lietošanas pieredzi gūsiet uzstādot pārlūkprogrammu Chromium vai Firefox.", + "Safari and Opera work too.": "Safari un Opera arī nav skādējami.", + "Register": "Reģistrācija", + "%(count)s Members|other": "%(count) biedru", + "%(count)s Members|one": "%(count)s biedru", + "Rooms": "Istabas", + "Invite to this community": "Uzaicināt šajā komūnā", + "Add rooms to this community": "Pievienot istabas šai komūnai", + "Reply": "Atbildēt" } From d47c9d8b6ee6740ef1de3a7f63605ceff68bc77e Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Mon, 12 Feb 2018 18:02:55 +0000 Subject: [PATCH 183/391] Add context menu to TagPanel See https://github.com/matrix-org/matrix-react-sdk/pull/1743 --- .../views/context_menus/TagTileContextMenu.js | 68 +++++++++++++++++++ src/i18n/strings/en_EN.json | 17 ++--- src/skins/vector/css/_components.scss | 5 +- .../structures/_TagPanel.scss | 18 +++++ .../context_menus/_TagTileContextMenu.scss | 44 ++++++++++++ 5 files changed, 142 insertions(+), 10 deletions(-) create mode 100644 src/components/views/context_menus/TagTileContextMenu.js create mode 100644 src/skins/vector/css/vector-web/views/context_menus/_TagTileContextMenu.scss diff --git a/src/components/views/context_menus/TagTileContextMenu.js b/src/components/views/context_menus/TagTileContextMenu.js new file mode 100644 index 000000000..4ec6c5150 --- /dev/null +++ b/src/components/views/context_menus/TagTileContextMenu.js @@ -0,0 +1,68 @@ +/* +Copyright 2018 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. +*/ + +import React from 'react'; +import PropTypes from 'prop-types'; +import { _t } from 'matrix-react-sdk/lib/languageHandler'; +import dis from 'matrix-react-sdk/lib/dispatcher'; +import TagOrderActions from 'matrix-react-sdk/lib/actions/TagOrderActions'; +import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; + +export default class TagTileContextMenu extends React.Component { + static propTypes = { + tag: PropTypes.string.isRequired, + /* callback called when the menu is dismissed */ + onFinished: PropTypes.func.isRequired, + }; + + constructor() { + super(); + + this._onViewCommunityClick = this._onViewCommunityClick.bind(this); + this._onRemoveClick = this._onRemoveClick.bind(this); + } + + _onViewCommunityClick() { + dis.dispatch({ + action: 'view_group', + group_id: this.props.tag, + }); + this.props.onFinished(); + } + + _onRemoveClick() { + dis.dispatch(TagOrderActions.removeTag( + // XXX: Context menus don't have a MatrixClient context + MatrixClientPeg.get(), + this.props.tag, + )); + this.props.onFinished(); + } + + render() { + return
+
+ + { _t('View Community') } +
+
+
+ + { _t('Remove') } +
+
; + } +} diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 819c0cfa2..bbb94a609 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -43,9 +43,6 @@ "Off": "Off", "On": "On", "Noisy": "Noisy", - "Failed to set direct chat tag": "Failed to set direct chat tag", - "Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room", - "Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room", "Search…": "Search…", "Search": "Search", "This Room": "This Room", @@ -68,8 +65,6 @@ "What's New": "What's New", "Update": "Update", "What's new?": "What's new?", - "Appear Offline": "Appear Offline", - "Away": "Away", "A new version of Riot is available.": "A new version of Riot is available.", "To return to your account in future you need to set a password": "To return to your account in future you need to set a password", "Set Password": "Set Password", @@ -126,6 +121,7 @@ "Resend": "Resend", "Cancel Sending": "Cancel Sending", "Forward Message": "Forward Message", + "Reply": "Reply", "Unpin Message": "Unpin Message", "Pin Message": "Pin Message", "View Source": "View Source", @@ -134,6 +130,10 @@ "Permalink": "Permalink", "Quote": "Quote", "Source URL": "Source URL", + "Online": "Online", + "Away": "Away", + "Appear Offline": "Appear Offline", + "Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room", "Failed to set Direct Message status of room": "Failed to set Direct Message status of room", "unknown error code": "unknown error code", "Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s", @@ -147,6 +147,7 @@ "Favourite": "Favourite", "Low Priority": "Low Priority", "Direct Chat": "Direct Chat", + "View Community": "View Community", "Sorry, your browser is not able to run Riot.": "Sorry, your browser is not able to run Riot.", "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.", "Please install Chrome or Firefox for the best experience.": "Please install Chrome or Firefox for the best experience.", @@ -156,10 +157,10 @@ "Couldn't load home page": "Couldn't load home page", "Login": "Login", "Register": "Register", - "Invite to this room": "Invite to this room", "Members": "Members", "%(count)s Members|other": "%(count)s Members", "%(count)s Members|one": "%(count)s Member", + "Invite to this room": "Invite to this room", "Files": "Files", "Notifications": "Notifications", "Rooms": "Rooms", @@ -189,6 +190,7 @@ "Search for a room": "Search for a room", "#example": "#example", "more": "more", + "Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room", "Expand panel": "Expand panel", "Collapse panel": "Collapse panel", "Filter room names": "Filter room names", @@ -219,6 +221,5 @@ "Contributing code to Matrix and Riot": "Contributing code to Matrix and Riot", "Dev chat for the Riot/Web dev team": "Dev chat for the Riot/Web dev team", "Dev chat for the Dendrite dev team": "Dev chat for the Dendrite dev team", - "Co-ordination for Riot/Web translators": "Co-ordination for Riot/Web translators", - "Reply": "Reply" + "Co-ordination for Riot/Web translators": "Co-ordination for Riot/Web translators" } diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index faf358bd9..837fe4532 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -36,10 +36,10 @@ @import "./matrix-react-sdk/views/elements/_EditableItemList.scss"; @import "./matrix-react-sdk/views/elements/_MemberEventListSummary.scss"; @import "./matrix-react-sdk/views/elements/_ProgressBar.scss"; +@import "./matrix-react-sdk/views/elements/_Quote.scss"; @import "./matrix-react-sdk/views/elements/_RichText.scss"; @import "./matrix-react-sdk/views/elements/_RoleButton.scss"; @import "./matrix-react-sdk/views/elements/_ToolTipButton.scss"; -@import "./matrix-react-sdk/views/elements/_Quote.scss"; @import "./matrix-react-sdk/views/groups/_GroupPublicityToggle.scss"; @import "./matrix-react-sdk/views/groups/_GroupRoomList.scss"; @import "./matrix-react-sdk/views/groups/_GroupUserSettings.scss"; @@ -65,6 +65,7 @@ @import "./matrix-react-sdk/views/rooms/_PinnedEventTile.scss"; @import "./matrix-react-sdk/views/rooms/_PinnedEventsPanel.scss"; @import "./matrix-react-sdk/views/rooms/_PresenceLabel.scss"; +@import "./matrix-react-sdk/views/rooms/_QuotePreview.scss"; @import "./matrix-react-sdk/views/rooms/_RoomHeader.scss"; @import "./matrix-react-sdk/views/rooms/_RoomList.scss"; @import "./matrix-react-sdk/views/rooms/_RoomPreviewBar.scss"; @@ -72,7 +73,6 @@ @import "./matrix-react-sdk/views/rooms/_RoomTile.scss"; @import "./matrix-react-sdk/views/rooms/_SearchableEntityList.scss"; @import "./matrix-react-sdk/views/rooms/_TopUnreadMessagesBar.scss"; -@import "./matrix-react-sdk/views/rooms/_QuotePreview.scss"; @import "./matrix-react-sdk/views/settings/_DevicesPanel.scss"; @import "./matrix-react-sdk/views/settings/_IntegrationsManager.scss"; @import "./matrix-react-sdk/views/voip/_CallView.scss"; @@ -89,6 +89,7 @@ @import "./vector-web/views/context_menus/_MessageContextMenu.scss"; @import "./vector-web/views/context_menus/_PresenceContextMenuOption.scss"; @import "./vector-web/views/context_menus/_RoomTileContextMenu.scss"; +@import "./vector-web/views/context_menus/_TagTileContextMenu.scss"; @import "./vector-web/views/dialogs/_ChangelogDialog.scss"; @import "./vector-web/views/dialogs/_DevtoolsDialog.scss"; @import "./vector-web/views/dialogs/_SetEmailDialog.scss"; diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss b/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss index 91199a11e..ba745b111 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_TagPanel.scss @@ -37,6 +37,7 @@ limitations under the License. .mx_TagPanel .mx_TagTile { padding: 6px 3px; opacity: 0.5; + position: relative; } .mx_TagPanel .mx_TagTile:focus, .mx_TagPanel .mx_TagTile:hover, @@ -64,6 +65,23 @@ limitations under the License. left: 5px; } +.mx_TagTile_context_button { + min-width: 15px; + height: 15px; + position: absolute; + right: -5px; + top: 1px; + border-radius: 8px; + background-color: $neutral-badge-color; + color: #ffffff; + font-weight: 600; + font-size: 10px; + text-align: center; + padding-top: 1px; + padding-left: 4px; + padding-right: 4px; +} + .mx_TagPanel_createGroupButton { opacity: 0.5; margin-bottom: 17px; diff --git a/src/skins/vector/css/vector-web/views/context_menus/_TagTileContextMenu.scss b/src/skins/vector/css/vector-web/views/context_menus/_TagTileContextMenu.scss new file mode 100644 index 000000000..759b92bd6 --- /dev/null +++ b/src/skins/vector/css/vector-web/views/context_menus/_TagTileContextMenu.scss @@ -0,0 +1,44 @@ +/* +Copyright 2018 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. +*/ + +.mx_TagTileContextMenu_item { + padding-top: 8px; + padding-right: 20px; + padding-bottom: 8px; + cursor: pointer; + white-space: nowrap; + display: flex; + align-items: center; + line-height: 16px; +} + + +.mx_TagTileContextMenu_item_icon { + padding-right: 8px; + padding-left: 4px; + display: inline-block +} + +.mx_TagTileContextMenu_separator { + margin-top: 0; + margin-bottom: 0; + border-bottom-style: none; + border-left-style: none; + border-right-style: none; + border-top-style: solid; + border-top-width: 1px; + border-color: $menu-border-color; +} From e36baa8c3a66cd5d256b5d46ae11b43bd7edd2e5 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Mon, 12 Feb 2018 18:47:29 +0000 Subject: [PATCH 184/391] Fix quotes on import --- src/components/structures/LeftPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/structures/LeftPanel.js b/src/components/structures/LeftPanel.js index 398862f22..3260c9755 100644 --- a/src/components/structures/LeftPanel.js +++ b/src/components/structures/LeftPanel.js @@ -26,7 +26,7 @@ import sdk from 'matrix-react-sdk'; import dis from 'matrix-react-sdk/lib/dispatcher'; import VectorConferenceHandler from '../../VectorConferenceHandler'; -import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore"; +import SettingsStore from 'matrix-react-sdk/lib/settings/SettingsStore'; import TagOrderActions from 'matrix-react-sdk/lib/actions/TagOrderActions'; import RoomListActions from 'matrix-react-sdk/lib/actions/RoomListActions'; From 2269c945793e318ae2b03a4c6d8c8dcf68f3fbf6 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Tue, 13 Feb 2018 09:44:25 +0000 Subject: [PATCH 185/391] Move groups button to TagPanel --- src/components/structures/BottomLeftMenu.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/structures/BottomLeftMenu.js b/src/components/structures/BottomLeftMenu.js index 3aab61a15..5557e74b0 100644 --- a/src/components/structures/BottomLeftMenu.js +++ b/src/components/structures/BottomLeftMenu.js @@ -167,7 +167,6 @@ module.exports = React.createClass({ const StartChatButton = sdk.getComponent('elements.StartChatButton'); const RoomDirectoryButton = sdk.getComponent('elements.RoomDirectoryButton'); const CreateRoomButton = sdk.getComponent('elements.CreateRoomButton'); - const GroupsButton = sdk.getComponent('elements.GroupsButton'); const SettingsButton = sdk.getComponent('elements.SettingsButton'); return ( @@ -183,7 +182,6 @@ module.exports = React.createClass({
- From c0720d5d24006afa0307bb5fb6c9040d6b2edd7a Mon Sep 17 00:00:00 2001 From: lighthawk Date: Sat, 10 Feb 2018 02:21:19 +0000 Subject: [PATCH 186/391] Translated using Weblate (Japanese) Currently translated at 33.3% (74 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/ --- src/i18n/strings/ja.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index e649354af..818f01406 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -72,5 +72,6 @@ "Can't update user notification settings": "ユーザー通知の設定を更新できません", "Failed to update keywords": "キーワードの更新に失敗しました", "Messages containing keywords": "keywordsを含むメッセージ", - "Add an email address above to configure email notifications": "メール通知を設定するために、メールアドレスを追加してください" + "Add an email address above to configure email notifications": "メール通知を設定するためには、メールアドレスを追加してください", + "Call invitation": "通話への招待" } From c7aafd8410797381f767c23b88b1f7e1b479f5c5 Mon Sep 17 00:00:00 2001 From: Oskars Date: Sun, 11 Feb 2018 23:18:58 +0000 Subject: [PATCH 187/391] Translated using Weblate (Latvian) Currently translated at 100.0% (222 of 222 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lv/ --- src/i18n/strings/lv.json | 216 +++++++++++++++++++-------------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json index 31847c112..ff836b7a3 100644 --- a/src/i18n/strings/lv.json +++ b/src/i18n/strings/lv.json @@ -1,107 +1,107 @@ { "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s caur %(browserName)s un %(osName)s", "
Safari and Opera work too.": "darbojas arī Safari un Opera.", - "A new version of Riot is available.": "Ir pieejama jauna Riot versija.", - "Add an email address above to configure email notifications": "Pievieno augšā epasta adresi, lai konfigurētu epasta notifikāciju paziņojumus", - "Advanced notification settings": "Īpašie notifikāciju uzstādījumi", + "A new version of Riot is available.": "Pieejama jauna Riot versija.", + "Add an email address above to configure email notifications": "Lai konfigurētu epasta paziņojumus, pievieno epasta adresi", + "Advanced notification settings": "Paziņojumu papildus iestatījumi", "All messages": "Visas ziņas", - "All messages (noisy)": "Visas ziņas (skaļi)", + "All messages (noisy)": "Visas ziņas (ar skaņu)", "All Rooms": "Visas istabas", - "All notifications are currently disabled for all targets.": "Visi notifikāciju paziņojumi ir atspējoti visiem saņēmējiem.", - "An error occurred whilst saving your email notification preferences.": "Radās kļūda saglabājot tavus epasta notifikāciju ziņu uzstādījumus.", - "Call invitation": "Ielūguma zvans", + "All notifications are currently disabled for all targets.": "Visiem saņēmējiem visi paziņojumi ir atspējoti.", + "An error occurred whilst saving your email notification preferences.": "Saglabājot Tavus epasta paziņojumu uzstādījumus, radās kļūda.", + "Call invitation": "Uzaicinājuma zvans", "Cancel": "Atcelt", "Cancel Sending": "Atcelt sūtīšanu", - "Can't update user notification settings": "Nav iespējams atjaunot lietotāja notifikāciju ziņu uzstādījumus", - "Changelog": "Izmaiņu saraksts", + "Can't update user notification settings": "Neizdodas atjaunot lietotāja paziņojumu iestatījumus", + "Changelog": "Izmaiņu saraksts (vēsture)", "Close": "Aizvērt", - "Collapse panel": "Aizvērt apgabalu", - "Collecting app version information": "Tiek apkopota programmas versijas informācija", - "Collecting logs": "Tiek apkopoti logfaili", - "Couldn't find a matching Matrix room": "Nav iespējams noteikt atbilstošo Matrix istabu", - "Custom Server Options": "Īpaši servera uzstādījumi", + "Collapse panel": "Sakļaut (saritināt) paneli", + "Collecting app version information": "Tiek iegūta programmas versijas informācija", + "Collecting logs": "Tiek iegūti logfaili", + "Couldn't find a matching Matrix room": "Atbilstoša Matrix istaba netika atrasta", + "Custom Server Options": "Iestatāmie servera uzstādījumi", "customServer_text": "Tu vari izmantot īpašus servera uzstādījumus, lai pierakstītos citos Matrix serveros, norādot atšķirīgu servera URL adresi.
Tas atļaus Tev izmantot Riot ar jau eksistējošu Matrix kontu citā serverī.

Tu vari norādīt arī īpašu identitātes serveri, bet tad nevarēsi uzaicināt lietotājus pēc epasta adreses,kā arī pēc tās tikt uzaicināts/a.", - "Discussion of the Identity Service API": "Diskusija par identitātes servisa API", - "delete the alias.": "dzēst aizstājējvārdu.", + "Discussion of the Identity Service API": "Diskusija par Identitātes servisa API", + "delete the alias.": "dzēst aizstājējvārdu (aliasi).", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Dzēst istabas aizstājējvārdu %(alias)s un dzēst %(name)s no kataloga?", - "Describe your problem here.": "Apraksti savu problēmu šeit.", + "Describe your problem here.": "Apraksti šeit savu problēmu.", "Direct Chat": "Tiešais čats", "Directory": "Katalogs", - "Dismiss": "Noņemt", + "Dismiss": "Atteikums", "Download this file": "Lejupielādēt šo failu", - "Enable audible notifications in web client": "Iespējot skaņas paziņojumus web klienta programmā", - "Enable desktop notifications": "Iespējot darbvirsmas notifikāciju paziņojumus", - "Enable email notifications": "Iespējot epasta notifikāciju paziņojumus", - "Enable notifications for this account": "Iespējot notifikāciju paziņojumus šim kontam", + "Enable audible notifications in web client": "Iespējot skaņas paziņojumus web klientā", + "Enable desktop notifications": "Iespējot darbvirsmas paziņojumus", + "Enable email notifications": "Iespējot paziņojumus pa epastu", + "Enable notifications for this account": "Iespējot paziņojumus šim kontam", "Enable them now": "Iespējot tos tagad", "Enter keywords separated by a comma:": "Ievadi atslēgvārdus, atdalītus ar komatu:", "Error": "Kļūda", "Error saving email notification preferences": "Kļūda saglabājot epasta notifikāciju paziņojumu uzstādījumus", "#example": "#piemērs", - "Expand panel": "Izvērst apgabalu", - "Failed to add tag %(tagName)s to room": "Neizdevās pievienot birku %(tagName)s istabai", - "Failed to change settings": "Neizdevās mainīt uzstādījumus", + "Expand panel": "Izvērst paneli", + "Failed to add tag %(tagName)s to room": "Neizdevās istabai pievienot birku %(tagName)s", + "Failed to change settings": "Neizdevās nomainīt iestatījumus", "Failed to forget room %(errCode)s": "Neizdevās \"aizmirst\" istabu %(errCode)s", - "Failed to update keywords": "Neizdevās atjaunot atslēgvārdus", + "Failed to update keywords": "Neizdevās aktualizēt atslēgvārdus", "Failed to get protocol list from Home Server": "Neizdevās iegūt protokolu sarakstu no mājas servera", "Failed to get public room list": "Neizdevās iegūt publisko istabu sarakstu", - "Failed to remove tag %(tagName)s from room": "Neizdevās dzēst istabas birku %(tagName)s", + "Failed to remove tag %(tagName)s from room": "Neizdevās istabai noņemt birku %(tagName)s", "Failed to send report: ": "Neizdevās nosūtīt atskaiti: ", - "Failed to set direct chat tag": "Neizdevās uzstādīt birku tiešajam čatam", + "Failed to set direct chat tag": "Neizdevās tiešajam čatam uzstādīt birku", "Continue": "Turpināt", - "Failed to change password. Is your password correct?": "Neizdevās mainīt paroli. Vai tava parole ir pareiza?", - "Favourite": "Favorīts", - "Mute": "Apklusināt", + "Failed to change password. Is your password correct?": "Neizdevās nomainīt paroli. Vai tā ir pareiza?", + "Favourite": "Tava izlase (favorīti)", + "Mute": "Kluss (noklusināt)", "Notifications": "Paziņojumi", - "OK": "LABI", + "OK": "Labs ir", "Operation failed": "Darbība neizdevās", "Remove": "Dzēst", "Search": "Meklēt", "unknown error code": "nezināms kļūdas kods", - "Monday": "Pirmdiena", - "Tuesday": "Otrdiena", - "Wednesday": "Trešdiena", - "Thursday": "Ceturtdiena", - "Friday": "Piektdiena", - "Saturday": "Sestdiena", - "Sunday": "Svētdiena", - "powered by Matrix": "spēcināts ar Matrix", - "Failed to set Direct Message status of room": "Neizdevās iestatīt istabas tiešo ziņu statusu", + "Monday": "pirmdiena", + "Tuesday": "otrdiena", + "Wednesday": "trešdiena", + "Thursday": "ceturtdiena", + "Friday": "piektdiena", + "Saturday": "sestdiena", + "Sunday": "svētdiena", + "powered by Matrix": "Tiek darbināts ar Matrix", + "Failed to set Direct Message status of room": "Neizdevās iestatīt istabas tiešās ziņas statusu", "Fetching third party location failed": "Neizdevās iegūt trešās puses atrašanās vietu", "Files": "Faili", "Filter room names": "Filtrēt pēc istabu nosaukuma", - "Forget": "\"Aizmirst\"", + "Forget": "Aizmirst", "Forward Message": "Pārsūtīt ziņu", - "Guests can join": "Viesi var pievienoties", - "Hide panel": "Slēpt apgabalu", + "Guests can join": "Var pievienoties viesi", + "Hide panel": "Slēpt paneli", "(HTTP status %(httpStatus)s)": "(HTTP statuss %(httpStatus)s)", - "I understand the risks and wish to continue": "Es saprotu riskus un vēlos turpināt", - "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Problēmu diagnosticēšanas ietvaros, šī klienta logfaili tiks nosūtīti kopā ar šo kļūdas paziņojumu. Ja vēlies nosūtīt vienīgi zemākesošo tekstu, lūdzu atķeksē:", + "I understand the risks and wish to continue": "Es apzinos riskus un vēlos turpināt", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Problēmu diagnosticēšanas mērķim šī klienta logfaili tiks nosūtīti kopā ar šo kļūdas atskaiti. Ja vēlies nosūtīt vienīgi zemāk redzamo tekstu, lūdzu noņem ķeksi:", "Invite to this room": "Uzaicināt uz šo istabu", "Keywords": "Atslēgvārdi", "Leave": "Atstāt", - "Login": "Pierakstīties", - "Loading bug report module": "Ielādējas kļūdas ziņojumu modulis", + "Login": "Ierakstīties", + "Loading bug report module": "Ielādējas kļūdu atskaišu modulis", "Low Priority": "Zema prioritāte", "Members": "Biedri", "Mentions only": "Vienīgi atsauces", "Messages containing my display name": "Ziņas, kuras satur manu redzamo vārdu", - "Messages containing keywords": "Ziņas,kuras satur atslēgvārdus", + "Messages containing keywords": "Ziņas, kuras satur atslēgvārdus", "Messages containing my user name": "Ziņas, kuras satur manu lietotājvārdu", "Messages in group chats": "Ziņas grupas čatos", "Messages in one-to-one chats": "Ziņas viens-pret-vienu čatos", "Messages sent by bot": "Botu nosūtītās ziņas", "more": "vairāk", - "No rooms to show": "Nav istabu, ko parādīt", + "No rooms to show": "Nav istabu, kuras parādīt", "Noisy": "Trokšņains", - "Notification targets": "Notifikācijas paziņojuma mērķi", + "Notification targets": "Paziņojuma mērķi", "Notifications on the following keywords follow rules which can’t be displayed here:": "Paziņojumi par šādiem atslēgvārdiem atbilst noteikumiem, kurus šeit nevar parādīt:", "Notify for all other messages/rooms": "Paziņot par visām citām ziņām/istabām", "Notify me for anything else": "Paziņot man par jebko citu", - "Off": "Izslēgts", - "On": "Ieslēgts", + "Off": "Izslēgt", + "On": "Ieslēgt", "Permalink": "Pastāvīgā saite", - "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Lūdzu, apraksti kļūdu. Ko Tu darīji? Kas tika gaidīts, lai notiktu? Kas rezultātā notika?", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Lūdzu, apraksti kļūdu. Kas tika darīts? Kādas bija gaidas (kāds rezultāts tika sagaidīts)? Kas realitātē notika?", "Please describe the bug and/or send logs.": "Lūdzu apraksti kļūdu un/vai nosūti logfailus.", "Please install Chrome or Firefox for the best experience.": "Lūdzu instalē Chrome vai Firefox pārlūku labākai pārlūkošanas pieredzei.", "Quote": "Citāts", @@ -109,56 +109,56 @@ "Remove %(name)s from the directory?": "Dzēst %(name)s no kataloga?", "remove %(name)s from the directory.": "dzēst %(name)s no kataloga.", "Remove from Directory": "Dzēst no kataloga", - "Report a bug": "Paziņot par kļūdu", + "Report a bug": "Informēt par kļūdu", "Resend": "Nosūtīt atkārtoti", "Riot Desktop on %(platformName)s": "Riot darbvirsma %(platformName)s", - "Riot does not know how to join a room on this network": "Riot neatpazina iespēju pievienoties istabai šajā tīklā", + "Riot does not know how to join a room on this network": "Riot nezin kā pievienoties šajā tīklā esošajai istabai", "Riot is not supported on mobile web. Install the app?": "Riot netiek atbalstīts mobilajā versijā. Instalēt aplikāciju?", - "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot izmanto daudzas īpašās pārlūka iespējas, no kurām dažas var nebūt pieejamas vai ir eksperimentālas tavā pašreizējā pārlūkā.", - "Room not found": "Istaba nav atrasta", + "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot izmanto daudzas advancētas tīmekļa pārlūka iespējas, no kurām dažas var nebūt pieejamas vai ir eksperimentālas Tavā pašreizējajā pārlūkā.", + "Room not found": "Istaba netika atrasta", "Search…": "Meklēt…", "Search for a room": "Meklēt istabu", - "Send": "Nosūtīt", + "Send": "Sūtīt", "Send logs": "Nosūtīt logfailus", "Source URL": "Avota URL adrese", - "Sorry, your browser is not able to run Riot.": "Atvaino, diemžēl tavs pārlūks nespēj darboties ar Riot.", - "The Home Server may be too old to support third party networks": "Mājas serveris var būt pārāk novecojis, lai atbalstītu trešo pušu tīmekļa resurursus", - "There are advanced notifications which are not shown here": "Ir īpašie notifikāciju paziņojumi, kuri šeit nav redzami", - "The server may be unavailable or overloaded": "Serveris var nebūt pieejams vai ir pārslogots", + "Sorry, your browser is not able to run Riot.": "Atvaino, diemžēl tavs tīmekļa pārlūks nespēj darbināt Riot.", + "The Home Server may be too old to support third party networks": "Mājas serveris var būt pārāk novecojis, lai ļautu izmantot trešo pušu tīmekļa resursus", + "There are advanced notifications which are not shown here": "Pastāv papildus paziņojumi, kuri šeit netiek rādīti", + "The server may be unavailable or overloaded": "Serveris nav pieejams vai ir pārslogots", "This Room": "Šī istaba", - "Unable to fetch notification target list": "Nav iespējams iegūt notifikāciju paziņojumu mērķu sarakstu", - "Unable to join network": "Nav iespējams pievienoties tīmeklim", - "Unable to look up room ID from server": "Nav iespējams iegūt istabas ID no servera", - "Unavailable": "Nav pieejams", - "Unhide Preview": "Nerādīt priekšskatījumu", + "Unable to fetch notification target list": "Neizdevās iegūt paziņojumu mērķu sarakstu", + "Unable to join network": "Nav iespējams pievienoties tīklam", + "Unable to look up room ID from server": "Nav iespējams no servera iegūt istabas ID", + "Unavailable": "Nepieejams", + "Unhide Preview": "Rādīt priekšskatījumu", "Unknown device": "Nezināma ierīce", - "Unnamed room": "Nezināma istaba", - "Update": "Atjaunot", - "Uploaded on %(date)s by %(user)s": "Augšuplādēts %(date)s no %(user)s", + "Unnamed room": "Nenosaukta istaba", + "Update": "Aktualizēt", + "Uploaded on %(date)s by %(user)s": "Augšuplādēja %(user)s %(date)s", "Uploading report": "Augšuplādē atskaiti", "View Decrypted Source": "Skatīt atšifrētu avotu", "View Source": "Skatīt avotu", "What's New": "Kas jauns", "What's new?": "Kas jauns?", - "Waiting for response from server": "Gaida atbildi no servera", + "Waiting for response from server": "Gaidam atbildi no servera", "When I'm invited to a room": "Kad esmu uzaicināts/a istabā", - "World readable": "Lasāms pasaulei", - "You cannot delete this image. (%(code)s)": "Tu nevari dzēst šo attēlu. (%(code)s)", + "World readable": "Pieejams ikvienam no visurienes", + "You cannot delete this image. (%(code)s)": "Šo attēlu nevar izdzēst (%(code)s)", "You cannot delete this message. (%(code)s)": "Tu nevari dzēst šo ziņu. (%(code)s)", - "You are not receiving desktop notifications": "Tu nesaņem darbvirsmas notifikāciju paziņojumus", - "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Tu, iespējams, konfigurēji tās kādā citā klientā, nevis Riot. Tu nevari pielāgot tos Riot, bet tie joprojām ir spēkā", - "Today": "Šodien", - "Yesterday": "Vakar", + "You are not receiving desktop notifications": "Netiek saņemti darbvirsmas paziņojumi", + "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Droši vien Tu konfigurēji tās kādā citā Matrix klientā, nevis Riot. Nav iespējams tos pārkonfigurēt ar Riot, bet tie joprojām tiek izmantoti", + "Today": "šodien", + "Yesterday": "vakar", "Warning": "Brīdinājums", - "Checking for an update...": "Lūkojamies pēc atjauninājuma...", - "Error encountered (%(errorDetail)s).": "Notika kļūda (%(errorDetail)s).", - "No update available.": "Atjauninājumi nav pieejami.", - "Downloading update...": "Lejupielādējam atjauninājumus...", - "You need to be using HTTPS to place a screen-sharing call.": "Tev ir nepieciešams izmantot HTTPS savienojumu, lai izmantotu ekrāna kopīgošanas zvanu.", + "Checking for an update...": "Lūkojamies pēc aktualizācijas...", + "Error encountered (%(errorDetail)s).": "Gadījās kļūda (%(errorDetail)s).", + "No update available.": "Nav pieejamu aktualizāciju .", + "Downloading update...": "Lejupielādējam aktualizāciju...", + "You need to be using HTTPS to place a screen-sharing call.": "Lai izmantotu ekrāna kopīgošanas zvanu, nepieciešams izmantot HTTPS savienojumu.", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Tavā pašreizējā pārlūkā aplikācijas izskats un uzvedība var būt pilnīgi neatbilstoša, kā arī dažas no visām funkcijām var nedarboties. Ja vēlies turpināt izmantot šo pārlūku, Tu vari arī turpināt, apzinoties, ka šajā gadījumā esi viens/a ar iespējamo problēmu!", - "Welcome to Riot.im": "Laipni lūdzam Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizēta, šifrēta čata & sistēma, spēcināta ar [matrix]", - "Search the room directory": "Meklēt istabu katalogu", + "Welcome to Riot.im": "Esiet gaidīti Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizēta, šifrēta čata & kopdarbošanās sistēma uz [matrix] bāzes", + "Search the room directory": "Meklēt istabu katalogā", "Chat with Riot Bot": "Pačatot ar Riot botu", "Get started with some tips from Riot Bot!": "Iepazīsties ar dažiem knifiem no Riot bota!", "General discussion about Matrix and Riot": "Galvenā diskusija par Matrix un Riot", @@ -167,42 +167,42 @@ "Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk čats", "Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk čats", "Matrix technical discussions": "Matrix tehniskās diskusijas", - "Running Matrix services": "Izmantot Matrix pakalpojumus", - "Community-run support for Synapse": "Komūnas atbalsts Synapse", - "Admin support for Dendrite": "Administrācijas atbalsts Dendrite", - "Announcements about Synapse releases": "Paziņojumi par Synapse izlaidumiem", + "Running Matrix services": "Matrix pakalpojumu izmantošana", + "Community-run support for Synapse": "\"Synapse\" komūnas nodrošināts atbalsts", + "Admin support for Dendrite": "Administrotora atbalsts \"Dendrite\"", + "Announcements about Synapse releases": "Paziņojumi par \"Synapse\" izlaidumiem", "Support for those using and running matrix-appservice-irc": "Atbalsts tiem, kuri izmanto matrix-appservice-irc", - "Building services on Matrix": "Pakalpojumu būvēšana uz Matrix", + "Building services on Matrix": "Uz Matrix bāzētu pakalpojumu izveide", "Support for those using the Matrix spec": "Atbalsts tiem, kuri izmanto Matrix specifikācijas", - "Design and implementation of E2E in Matrix": "Dizains un E2E implementācija Matrix", - "Implementing VR services with Matrix": "VR servisu implementācija Matrix", - "Implementing VoIP services with Matrix": "VoIP pakalpojumu implementācija Matrix", - "Support for those using, running and writing other bridges": "Atbalsts tiem, kuri izmanto un raksta citus \"tilta\" risinājumus", + "Design and implementation of E2E in Matrix": "E2E arhitektūra un iedzīvināšana Matrix", + "Implementing VR services with Matrix": "VR pakalpojumu iedzīvināšana Matrix", + "Implementing VoIP services with Matrix": "VoIP pakalpojumu iedzīvināšana Matrix", + "Support for those using, running and writing other bridges": "Atbalsts tiem, kuri izmanto un rada citus \"tiltu\" risinājumus", "Contributing code to Matrix and Riot": "Dot ieguldījumu Matrix and Riot kodā", "Dev chat for the Riot/Web dev team": "Riot/Web izstrādātāju komandas čats", "Dev chat for the Dendrite dev team": "Dendrite izstrādatāju komandas čats", "Co-ordination for Riot/Web translators": "Riot/Web tulkotāju koordinācija", - "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix sistēmā pastāv neskaitāmas neatkarīgas vai eksistējošiem tīmekļa resursiem (Slack, IRC, Gitter utml.) piesaistītas istabas. Ar tām vari iepazīties katalogā!", + "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix-ā pastāv daudzas neatkarīgas un/vai eksistējošiem tīmekļa resursiem (Slack, IRC, Gitter u.tml.) piesaistītas istabas. Ieskaties katalogā!", "You have successfully set a password!": "Tu veiksmīgi nomainīji paroli!", "You can now return to your account after signing out, and sign in on other devices.": "Tu vari tagad atgriezties savā kontā pēc izrakstīšanās, un pierakstīties no citām ierīcēm.", "Please set a password!": "Lūdzu iestati paroli!", "This will allow you to return to your account after signing out, and sign in on other devices.": "Tas atļaus Tev atgriezties savā kontā pēc izrakstīšanās, un pierakstīties no citām ierīcēm.", "You have successfully set a password and an email address!": "Tu veiksmīgi iestatīji paroli un epasta adresi!", - "Remember, you can always set an email address in user settings if you change your mind.": "Atceries, ka Tu vienmēr vari iestatīt epasta adresi lietotāja uzstādījumos, ja mainīsi domas.", - "To return to your account in future you need to set a password": "Lai nākotnē atgrieztos savā kontā, tev būs nepieciešams iestatīt paroli", + "Remember, you can always set an email address in user settings if you change your mind.": "Atceries, ka Tu vienmēr vari iestatīt epasta adresi lietotāja uzstādījumos, ja pārdomāsi.", + "To return to your account in future you need to set a password": "Lai nākotnē atgrieztos savā kontā, nepieciešams iestatīt paroli", "Set Password": "Iestatīt paroli", "Couldn't load home page": "Neizdevās ielādēt sākumlapu", "Show message in desktop notification": "Parādīt ziņu darbvirsmas paziņojumos", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

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.": "Tu vari lietot \"custom\" servera opcijas, lai ielogotos citos Matrix serveros, norādot citu mājasservera URL.
Tas atļaus tev lietot Riot ar esošo Matrix kontu uz cita mājasservera.

Tu arī vari uzstādīt atsevišķu identitāšu serveri, taču tad Tev nebūs iespēju uzaicināt lietotājus izmantojot epasta adresi, vai pašam tikt uzaicinātam izmantojot epasta adresi.", - "Appear Offline": "Šķiet oflainā", - "Away": "Prom", - "Bug report sent": "Kļūdas paziņojums nosūtīts", + "Appear Offline": "Šķiet nesaistē (oflainā)", + "Away": "Prom (nav uz vietas)", + "Bug report sent": "Kļūdas atskaite nosūtīta", "Thank you!": "Tencinam!", "Back": "Atpakaļ", - "Send Custom Event": "Sūtīt īpašu notikumu", - "You must specify an event type!": "Tev jānorāda notikuma tips!", + "Send Custom Event": "Sūtīt individuālu notikumu", + "You must specify an event type!": "Jānorāda notikuma tips!", "Event sent!": "Notikums nosūtīts!", - "Failed to send custom event.": "Īpašo notikumu nosūtīt neizdevās.", + "Failed to send custom event.": "Individuālo notikumu nosūtīt neizdevās.", "Event Type": "Notikuma tips", "State Key": "Stāvokļa atslēga", "Event Content": "Notikuma saturs", @@ -215,13 +215,13 @@ "Developer Tools": "Attīstītāja instrumenti", "Unpin Message": "Atkabināt ziņu", "Pin Message": "Piekabināt ziņu", - "Please install Chrome or Firefox for the best experience.": "Labāko lietošanas pieredzi gūsiet uzstādot pārlūkprogrammu Chromium vai Firefox.", + "Please install Chrome or Firefox for the best experience.": "Labāko lietošanas pieredzi gūsi uzstādot pārlūkprogrammu Chromium vai Firefox.", "Safari and Opera work too.": "Safari un Opera arī nav skādējami.", - "Register": "Reģistrācija", - "%(count)s Members|other": "%(count) biedru", + "Register": "Reģistrēties", + "%(count)s Members|other": "%(count)s biedru", "%(count)s Members|one": "%(count)s biedru", "Rooms": "Istabas", "Invite to this community": "Uzaicināt šajā komūnā", - "Add rooms to this community": "Pievienot istabas šai komūnai", + "Add rooms to this community": "Pievienot istabas šai kopienai", "Reply": "Atbildēt" } From 85c0b8dea320b7ce2bdc3d1ec42df862ff019a0f Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Tue, 13 Feb 2018 14:15:22 +0000 Subject: [PATCH 188/391] Adjust CSS to prevent scrollbars on message panel spinner when clicking on permalinks/jump to first --- .../vector/css/matrix-react-sdk/structures/_RoomView.scss | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_RoomView.scss b/src/skins/vector/css/matrix-react-sdk/structures/_RoomView.scss index 7944d01dc..9ca3ad529 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_RoomView.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_RoomView.scss @@ -96,6 +96,11 @@ limitations under the License. order: 2; } +.mx_RoomView_body .mx_RoomView_messagePanelSpinner { + order: 2; + margin: auto; +} + .mx_RoomView_body .mx_RoomView_statusArea { order: 3; } @@ -113,8 +118,6 @@ limitations under the License. max-width: 960px; margin: auto; - min-height: 100%; - display: flex; flex-direction: column; From 285c4f91d38f72c7283549b7d2821cfcb50632a9 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Tue, 13 Feb 2018 15:17:51 +0000 Subject: [PATCH 189/391] Fix TagPanel from collapsing to < 60px when LP collapsed Fixes https://github.com/vector-im/riot-web/issues/6133 --- src/components/structures/LeftPanel.js | 7 ++++++- .../vector/css/matrix-react-sdk/structures/_TagPanel.scss | 2 +- src/skins/vector/css/vector-web/structures/_LeftPanel.scss | 7 +++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/components/structures/LeftPanel.js b/src/components/structures/LeftPanel.js index 3260c9755..0d9ab641c 100644 --- a/src/components/structures/LeftPanel.js +++ b/src/components/structures/LeftPanel.js @@ -238,9 +238,14 @@ var LeftPanel = React.createClass({ } ); + const containerClasses = classNames( + "mx_LeftPanel_container", + { "mx_LeftPanel_container_collapsed": this.props.collapsed }, + ); + return ( -
+
{ SettingsStore.isFeatureEnabled("feature_tag_panel") ? :
}