Compare commits

..

1920 Commits

Author SHA1 Message Date
Luke Barnard
ec2adc4516 v0.14.0-rc.5 2018-04-09 15:46:35 +01:00
Luke Barnard
b58e85c5cb Prepare changelog for v0.14.0-rc.5 2018-04-09 15:46:34 +01:00
Luke Barnard
233c3d2c98 v0.14.0-rc.5 2018-04-09 15:43:22 +01:00
Luke Barnard
60079d4206 Bump matrix-js-sdk, matrix-react-sdk versions 2018-04-09 15:36:43 +01:00
Luke Barnard
9177c1176c Add CSS for new group admin radio button 2018-04-09 14:55:14 +01:00
David Baker
220b553a97 v0.14.0-rc.4 2018-03-22 13:29:01 +00:00
David Baker
8db2ddd276 Prepare changelog for v0.14.0-rc.4 2018-03-22 13:29:01 +00:00
David Baker
0d64c5fb83 v0.14.0-rc.4 2018-03-22 13:27:32 +00:00
David Baker
047d37b417 Bump react-sdk version 2018-03-22 13:25:30 +00:00
David Baker
96b56fd901 v0.14.0-rc.3 2018-03-20 17:42:23 +00:00
David Baker
db67a1f809 Prepare changelog for v0.14.0-rc.3 2018-03-20 17:42:23 +00:00
David Baker
6bfb15ce7b v0.14.0-rc.3 2018-03-20 17:40:36 +00:00
David Baker
f3a5a31ccf Bump react-sdk version 2018-03-20 17:39:31 +00:00
David Baker
99b20e49c3 v0.14.0-rc.2 2018-03-19 15:02:10 +00:00
David Baker
76370c40bc Prepare changelog for v0.14.0-rc.2 2018-03-19 15:02:10 +00:00
David Baker
64c8f3dbe3 v0.14.0-rc.2 2018-03-19 15:01:14 +00:00
David Baker
ae44efcebf Bump react-sdk version 2018-03-19 15:00:09 +00:00
David Baker
d7fd2cc483 Merge remote-tracking branch 'origin/develop' into release-v0.14.0 2018-03-19 14:56:33 +00:00
David Baker
b4020bb715 Merge pull request #6347 from vector-im/luke/feature-tag-panel-out-of-labs
Take TagPanel out of labs
2018-03-19 14:49:29 +00:00
Luke Barnard
f5a58258f9 Take TagPanel out of labs 2018-03-19 14:11:48 +00:00
David Baker
202ada7c23 Merge pull request #6343 from krombel/enable_languages
Add languages (czech, galician and serbian)
2018-03-19 13:19:03 +00:00
David Baker
d7c0e3ddc9 v0.14.0-rc.1 2018-03-19 12:21:05 +00:00
David Baker
2bb0bf3473 Prepare changelog for v0.14.0-rc.1 2018-03-19 12:21:04 +00:00
David Baker
a662080ffe v0.14.0-rc.1 2018-03-19 12:20:02 +00:00
David Baker
4af53fabbc Bump js-sdk & react-sdk 2018-03-19 12:17:53 +00:00
Krombel
57803f7a41 reorder based on language code 2018-03-17 16:24:47 +01:00
Krombel
14f70beac2 Add languages (czech, galician and serbian) 2018-03-17 11:27:10 +01:00
David Baker
8853496b1b Merge pull request #6342 from vector-im/luke/fix-stale-sub-list-notif-count-after-room-read
Force update RoomSubList after reading a room
2018-03-16 18:07:54 +00:00
Luke Barnard
7dc82e2e7a Force update RoomSubList after reading a room
so that the notification count is updated.

Previously we relied on a force update from RoomList, which was
removed as part of the optimisations in
  https://github.com/matrix-org/matrix-react-sdk/pull/1801
2018-03-16 17:55:29 +00:00
David Baker
0e2a911b57 Bump electron version 2018-03-16 16:16:50 +00:00
Luke Barnard
31cc29ad51 Merge pull request #6340 from vector-im/luke/fix-TagPanel-enabled-when-settings-open
Ensure entire LeftPanel is faded when settings open
2018-03-16 16:09:50 +00:00
Luke Barnard
71786116d8 Ensure entire LeftPanel is faded when settings open
so as to prevent interaction with TagPanel.

Fixes https://github.com/vector-im/riot-web/issues/6184
2018-03-16 15:56:25 +00:00
Matthew Hodgson
1e977b50df add default_theme to readme 2018-03-16 11:43:54 +00:00
David Baker
aaf373ecad Merge pull request #6330 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-03-15 18:24:41 +00:00
Geeman9
ac93044286 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (221 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2018-03-15 18:07:05 +00:00
Geeman9
e754e85ab6 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (221 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2018-03-15 13:50:55 +00:00
Weblate
eeeafe050b Merge remote-tracking branch 'origin/develop' into develop 2018-03-15 13:33:18 +00:00
stuve20
ceb06b7cca Translated using Weblate (Swedish)
Currently translated at 91.8% (203 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2018-03-15 13:33:18 +00:00
Geeman9
319f8e7f95 Translated using Weblate (Lithuanian)
Currently translated at 96.8% (214 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2018-03-15 13:33:18 +00:00
Luke Barnard
6dc7592389 Merge pull request #6313 from vector-im/luke/perf-room-list-dnd
Implement a simple shouldComponentUpdate for DNDRoomTile
2018-03-15 13:33:12 +00:00
Luke Barnard
fd8b36eb1c Use React.PureComponent instead of reimplementing it 2018-03-15 13:09:29 +00:00
Weblate
db64cb7ca4 Merge remote-tracking branch 'origin/develop' into develop 2018-03-15 09:21:17 +00:00
Luke Barnard
527e8306b2 Merge pull request #6317 from vector-im/dbkr/og_image_sort_of_configurable
Remove og:image with status.im URL
2018-03-15 09:21:12 +00:00
Weblate
7e814247ec Merge remote-tracking branch 'origin/develop' into develop 2018-03-15 09:20:25 +00:00
stuve20
905ce347da Translated using Weblate (Swedish)
Currently translated at 91.4% (202 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2018-03-15 09:20:25 +00:00
Geeman9
4ee20b3b61 Translated using Weblate (Lithuanian)
Currently translated at 74.2% (164 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lt/
2018-03-15 09:20:24 +00:00
István
2d8a816125 Translated using Weblate (Hungarian)
Currently translated at 100.0% (221 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2018-03-15 09:20:24 +00:00
Luke Barnard
0db7b03566 Merge pull request #6316 from vector-im/luke/group-view-change-delay-warning
Add change delay warning in GroupView settings
2018-03-15 09:20:20 +00:00
David Baker
96f374ed69 Remove og:image with status.im URL
And make it configurable, albeit only at buuld time, as hopefully
explained in the README.
2018-03-14 18:34:26 +00:00
Luke Barnard
c08d7d915d Add change delay warning in GroupView settings 2018-03-14 18:13:59 +00:00
Luke Barnard
04b1678c7f Implement a simple shouldComponentUpdate for DNDRoomTile
because otherwise beautiful dnd spends a lot of time requesting
animation frames pointlessly.
2018-03-14 15:06:13 +00:00
random
58325bfb73 Translated using Weblate (Italian)
Currently translated at 100.0% (221 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2018-03-14 09:57:53 +00:00
Weblate
a3c80b7178 Merge remote-tracking branch 'origin/develop' into develop 2018-03-12 18:06:05 +00:00
Matthew Hodgson
74b45322b2 Merge pull request #6289 from vector-im/luke/fix-tag-panel-clear-cosmetics
Correctly position mx_TagPanel_clearButton
2018-03-12 18:05:59 +00:00
Weblate
3d6984e8e3 Merge remote-tracking branch 'origin/develop' into develop 2018-03-12 18:05:26 +00:00
Matthew Hodgson
5bfa052a48 Merge pull request #6290 from vector-im/luke/fix-tag-tile-avatar-border-gap
Fix gap between avatar and border
2018-03-12 18:05:22 +00:00
Weblate
456f9833fa Merge remote-tracking branch 'origin/develop' into develop 2018-03-12 17:54:09 +00:00
Luke Barnard
dfb0eb5233 Merge pull request #6303 from vector-im/luke/fix-group-invite-flow
Fix bug where cannot send group invite on GroupMemberInfo phase
2018-03-12 17:54:04 +00:00
Weblate
2f0d3f1313 Merge remote-tracking branch 'origin/develop' into develop 2018-03-12 17:53:10 +00:00
Luke Barnard
5eae913803 Merge pull request #6301 from vector-im/luke/fix-firefox-wrong-theme
Fix themeing bug with Firefox where "disabled" ignored
2018-03-12 17:53:03 +00:00
Luke Barnard
afb9fdf4ec Fix bug where cannot send group invite on GroupMemberInfo phase
by not reusing the same function and invoking separate conditions
to decide what the function does but instead using different
functions.

Also, show the GroupMemberList after inviting a member, otherwise
we might end up looking at the member we were already looking at
instead of the updated list of members.
2018-03-12 17:18:30 +00:00
Luke Barnard
647c7d7629 Fix themeing bug with Firefox where "disabled" ignored
A bug in firefox means "disabled" isn't honoured when set in the
HTML. Doing `a.disabled = false` does work however, and Chrome
also appears to honour this.
2018-03-12 16:15:17 +00:00
Nathan van Beelen
52ce709840 Translated using Weblate (Dutch)
Currently translated at 100.0% (221 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2018-03-09 14:23:53 +00:00
Weblate
1b9bd33692 Merge remote-tracking branch 'origin/develop' into develop 2018-03-09 02:00:35 +00:00
Matthew Hodgson
aa54032500 force refresh when updating the app 2018-03-09 01:45:44 +00:00
Luke Barnard
abb8413c16 Fix gap between avatar and border
With the caveat that this will give a solid background
to group avatars with transparency when they are selected.
2018-03-08 18:01:05 +00:00
Luke Barnard
2bdaf5026d Correctly position mx_TagPanel_clearButton 2018-03-08 17:05:13 +00:00
Weblate
511a192d8b Merge remote-tracking branch 'origin/develop' into develop 2018-03-08 15:08:08 +00:00
Luke Barnard
c3ebe1f591 Merge pull request #6288 from vector-im/luke/e2e-request-keys-button
Changes for E2E "fudge-button"
2018-03-08 15:08:02 +00:00
Luke Barnard
1119098eec Alter style of TooltipButton_helpText
- Aligned to the "start" of the text (left for LTR, right for RTL)
 - Increase width by 200px
2018-03-08 14:11:36 +00:00
Luke Barnard
8d5717b812 Allow arbitrary React nodes in RoomTooltip 2018-03-08 14:11:06 +00:00
Luke Barnard
9f5211061e CSS for E2E "fudge-button" UI
See https://github.com/matrix-org/matrix-react-sdk/pull/1791
2018-03-08 14:10:33 +00:00
Weblate
a4d8e9e4e5 Merge remote-tracking branch 'origin/develop' into develop 2018-03-07 14:23:27 +00:00
Ralitsa Bozhkova
2baa77a93f Translated using Weblate (Bulgarian)
Currently translated at 100.0% (221 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-03-07 14:23:25 +00:00
Luke Barnard
c051492286 Merge pull request #6286 from vector-im/luke/fix-tag-panel-empty
Make sure mx_TagPanel_tagTileContainer occupies full height
2018-03-07 14:23:22 +00:00
Luke Barnard
63b696ff6c Make sure mx_TagPanel_tagTileContainer occupies full height
so that the user can drag groups to an empty TagPanel

fixes https://github.com/vector-im/riot-web/issues/6276
2018-03-07 11:47:52 +00:00
Weblate
b2da66d670 Merge remote-tracking branch 'origin/develop' into develop 2018-03-06 09:56:28 +00:00
Matthew Hodgson
5ade4b2bcf Merge pull request #6281 from vector-im/luke/fix-room-tile-cosmetics
Add transparent CSS class for RoomTile
2018-03-06 09:56:22 +00:00
Luke Barnard
1b6cb2da68 Add transparent CSS class for RoomTile 2018-03-05 12:34:51 +00:00
Weblate
0311a3a1be Merge remote-tracking branch 'origin/develop' into develop 2018-03-05 11:29:29 +00:00
Ralitsa Bozhkova
7d7079a389 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (221 of 221 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-03-05 11:29:28 +00:00
David Baker
8f578f7378 Merge pull request #6273 from vector-im/luke/fix-copy-res-gen-i18n-crash
Fix crash; fs event received /w langauge file empty
2018-03-05 11:29:24 +00:00
Weblate
ab4019a612 Merge remote-tracking branch 'origin/develop' into develop 2018-03-03 20:30:18 +00:00
Matthew Hodgson
ab55f2b938 document config.json 2018-03-03 20:30:08 +00:00
Luke Barnard
075f568f61 Fix crash; fs event received /w langauge file empty
It was common, at least for me, to experience a crash produced
when running the `matrix-react-sdk/scripts/gen-i18n.js` script
because when writing en_EN.json (via the script or otherwise)
choikdar would receive an event and cause the file to be read,
but the file would be empty when clearly it wasn't.

This would happen even when doing an atomic write in gen-i18n.

The fix adds a debounce as a workaround.
2018-03-02 15:30:06 +00:00
Weblate
9b0abbe52c Merge remote-tracking branch 'origin/develop' into develop 2018-03-01 15:05:19 +00:00
Kenneth Larsson
33c2806ffb Translated using Weblate (Swedish)
Currently translated at 87.4% (195 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2018-03-01 15:05:19 +00:00
RainSlide
244d3c98b6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2018-03-01 15:05:18 +00:00
Ralitsa Bozhkova
ce66bfbd6c Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-03-01 15:05:17 +00:00
David Baker
e1e8d9777b Merge pull request #6269 from vector-im/luke/feature-disable-tag-panel
Add setting to disable TagPanel
2018-03-01 15:05:13 +00:00
Jakub Kalousek
b3ab4231bc Translated using Weblate (Czech)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2018-02-28 22:21:15 +00:00
Luke Barnard
d23c02b196 gen-i18n 2018-02-28 18:19:12 +00:00
Luke Barnard
174061db57 Add setting to disable TagPanel 2018-02-28 18:16:37 +00:00
RainSlide
63bbbfb839 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/

更易于理解一些?
2018-02-28 04:03:10 +00:00
RainSlide
3a1886e80e Translated using Weblate (Chinese (Simplified))
Currently translated at 99.1% (221 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2018-02-28 04:02:42 +00:00
Jeff Huang
c2bf929e63 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2018-02-28 00:03:57 +00:00
Klaus Marx
a316face83 Translated using Weblate (German)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2018-02-27 16:06:42 +00:00
Weblate
9ad9c82c85 Merge remote-tracking branch 'origin/develop' into develop 2018-02-27 15:11:26 +00:00
daniel tygel
80d0f196c4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2018-02-27 15:11:26 +00:00
Luke Barnard
56ca1bc7ee Merge pull request #6257 from vector-im/luke/groups-my-groups-microcopy
CSS for my groups microcopy
2018-02-27 15:11:21 +00:00
Luke Barnard
14824c2b77 CSS for my groups microcopy 2018-02-27 09:39:04 +00:00
daniel tygel
fb6c01a0ea Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2018-02-26 20:43:32 +00:00
Weblate
41de7e0a0e Merge remote-tracking branch 'origin/develop' into develop 2018-02-26 12:20:31 +00:00
Matthew Hodgson
2d7f60efee Merge pull request #6246 from rbozhkova/patch-2
Add Bulgarian to the list of languages
2018-02-26 12:20:27 +00:00
Weblate
2410fc9754 Merge remote-tracking branch 'origin/develop' into develop 2018-02-26 12:19:37 +00:00
Matthew Hodgson
09619339fd Merge pull request #6245 from spantaleev/wider-media-dropdown
Make media dropdown wider
2018-02-26 12:19:32 +00:00
Weblate
bb87cf6996 Merge remote-tracking branch 'origin/develop' into develop 2018-02-26 12:18:59 +00:00
Matthew Hodgson
aeb423ce1b Merge pull request #6244 from spantaleev/gracefully-degrading-dropdowns
Make dropdowns with long options degrade more gracefully
2018-02-26 12:18:53 +00:00
Weblate
2a65a43039 Merge remote-tracking branch 'origin/develop' into develop 2018-02-26 09:50:33 +00:00
Ralitsa Bozhkova
d0a99c4f2d Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-26 09:50:32 +00:00
Luke Barnard
514338ec8a Remove distracting highlight on unfilter button background 2018-02-26 09:49:35 +00:00
Katie Wolfe
53cfaa3c45 Translated using Weblate (Esperanto)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2018-02-24 14:55:16 +00:00
Luca Weiss
7487ac75f7 Translated using Weblate (Esperanto)
Currently translated at 98.6% (220 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2018-02-24 14:54:10 +00:00
Katie Wolfe
54e0aaf8e0 Translated using Weblate (Esperanto)
Currently translated at 98.2% (219 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2018-02-24 14:52:08 +00:00
Ralitsa Bozhkova
90897b0741 Add Bulgarian to the list of languages
Bulgarian is now at 100% for both riot-web and matrix-react-sdk.
It has also been tested by building it manually and verifying that it looks good.
2018-02-24 10:28:39 +02:00
Slavi Pantaleev
e73b7c973d Make media dropdown wider
The media dropdown would sometimes contain options
with long text, which can't possibly fit in 200px.
(e.g. `Monitor of Built-in Audio Digital Stereo (HDMI)`)

Dedicating some more space resolves the problem.

Signed-off-by: Slavi Pantaleev <slavi@devture.com>
2018-02-24 10:02:32 +02:00
Slavi Pantaleev
985dd44b66 Make dropdowns with long options degrade more gracefully
If not enough space was dedicated to a dropdown,
it would previously make option text overlap.

With this patch, each option can potentially span
multiple lines. This is weird, but it's a better
degradation than making option text overlap.

Signed-off-by: Slavi Pantaleev <slavi@devture.com>
2018-02-24 09:54:45 +02:00
Weblate
e80bd9b4e5 Merge remote-tracking branch 'origin/develop' into develop 2018-02-23 16:43:01 +00:00
Matthew Hodgson
3bf04095b1 Merge pull request #6223 from vector-im/luke/fix-tag-tile-context-tinting
Fix un-tinted "View Community" icon in TagTile context menu
2018-02-23 16:42:55 +00:00
Weblate
912f953f85 Merge remote-tracking branch 'origin/develop' into develop 2018-02-23 16:36:20 +00:00
Matthew Hodgson
93c2462089 Merge pull request #6160 from vector-im/luke/fix-room-list-drop-target-bg
Fix RoomDropTarget and emptySubListTip to have containers
2018-02-23 16:36:14 +00:00
Weblate
a991960998 Merge remote-tracking branch 'origin/develop' into develop 2018-02-23 16:28:34 +00:00
Ralitsa Bozhkova
447373676b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-23 16:28:32 +00:00
Matthew Hodgson
15b7af9a84 Merge pull request #6154 from rugk/patch-2
Fix syntax error of wrong use of self-closing HTML tag
2018-02-23 16:28:28 +00:00
Matthew Hodgson
c315a59717 remove doubly-closed tag 2018-02-23 16:27:34 +00:00
Slavi Pantaleev
aedecfb06c Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-23 16:08:15 +00:00
Xose M
15231615d4 Translated using Weblate (Galician)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2018-02-23 07:26:53 +00:00
Weblate
2d093a8c2a Merge remote-tracking branch 'origin/develop' into develop 2018-02-22 14:50:51 +00:00
Slavi Pantaleev
030d5e04a3 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-22 14:50:49 +00:00
Matthew Hodgson
d3fe023ec4 Merge pull request #6227 from vector-im/luke/fix-room-list-tinting-css
Use translucent black for RoomSubList bg to fix tinting
2018-02-22 14:50:43 +00:00
Luke Barnard
1139a3fa89 Simplify roomsublist bg colour
This should not have a noticeable effect on the end result.
2018-02-22 11:49:29 +00:00
Luke Barnard
f67b4570a8 Use translucent black for RoomSubList bg to fix tinting
The alternative is to specify yet another colour that we have to
worry about when applying tinting, which is currently quite
fragile and requires changes to many parts of the app, including
all themes that don't require the colour to be tinted.

By using translucent black, we effectively take the secondary
accent colour of the LeftPanel and make it more black.

Note: This does not preserve the previous colour we were using,
although the alternative above does allow for this.
2018-02-22 11:48:48 +00:00
lukebarnard
c0055ebbeb Fix un-tinted "View Community" icon in TagTile context menu 2018-02-21 21:27:02 +00:00
Weblate
8bdf9d75cf Merge remote-tracking branch 'origin/develop' into develop 2018-02-21 18:05:59 +00:00
Ralitsa Bozhkova
d4dea52c6b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-21 18:05:57 +00:00
Matthew Hodgson
d806707de0 Merge pull request #6216 from vector-im/luke/feature-tag-panel-global-filter-cross
CSS for changing "R" to "X" for clearing group filter
2018-02-21 18:05:53 +00:00
Luke Barnard
15d8878ac0 Rename TagPanel_logo to TagPanel_clearButton 2018-02-21 17:14:25 +00:00
Luke Barnard
2deb07a25b CSS for changing "R" to "X" for clearing group filter 2018-02-21 15:05:51 +00:00
Weblate
e0a872a7c5 Merge remote-tracking branch 'origin/develop' into develop 2018-02-20 17:15:26 +00:00
Ralitsa Bozhkova
48f3b90208 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-20 17:15:24 +00:00
Matthew Hodgson
bc5129f839 actually, simpler globe 2018-02-20 17:15:17 +00:00
Matthew Hodgson
fb5369f7d2 globe icon 2018-02-20 17:15:17 +00:00
Weblate
f6bcab18be Merge remote-tracking branch 'origin/develop' into develop 2018-02-19 09:59:30 +00:00
Kacper Fronc
a35a80ca4f Translated using Weblate (Polish)
Currently translated at 97.3% (217 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2018-02-19 09:59:29 +00:00
Andrey Silversburg
0da2034a3e Translated using Weblate (Indonesian)
Currently translated at 86.9% (194 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/id/
2018-02-19 09:59:29 +00:00
Slavi Pantaleev
4ab94b397a Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-19 09:59:28 +00:00
Luke Barnard
e3e60bd372 Merge pull request #6187 from vector-im/luke/feature-tag-panel-global-filter
CSS for new global TagPanel filter
2018-02-19 09:59:25 +00:00
Weblate
d0a38df67a Merge remote-tracking branch 'origin/develop' into develop 2018-02-16 22:22:37 +00:00
Matthew Hodgson
c3e34e5f05 Merge pull request #6194 from turt2live/patch-1
Separate the middle panel from the room list
2018-02-16 22:22:32 +00:00
Travis Ralston
514e042eec Separate the middle panel from the room list
Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-02-16 14:53:52 -07:00
Luke Barnard
86d554b1dc CSS for new global TagPanel filter 2018-02-16 17:44:27 +00:00
Weblate
57b34267c5 Merge remote-tracking branch 'origin/develop' into develop 2018-02-16 11:53:35 +00:00
Tulir Asokan
4fc49850e1 Translated using Weblate (Finnish)
Currently translated at 99.5% (222 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2018-02-16 11:53:34 +00:00
Ralitsa Bozhkova
5e25844ea8 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-16 11:53:33 +00:00
Luke Barnard
fc4da3e3bf Merge pull request #6176 from vector-im/luke/fix-invites-not-appearing
Only use DNDRoomTile for editable sub lists
2018-02-16 11:53:30 +00:00
Luke Barnard
0605d96014 Only use DNDRoomTile for editable sub lists
Otherwise, the DND tile will expect to be within a Droppable,
which is not supported by react-beautiful-dnd. This was causing
errors when receiving an invite.

Fixes #6144
2018-02-16 11:02:52 +00:00
Марко М. Костић
37a912e7ee Translated using Weblate (Serbian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sr/
2018-02-16 10:40:39 +00:00
Weblate
f33bddaadd Merge remote-tracking branch 'origin/develop' into develop 2018-02-15 14:51:12 +00:00
Ralitsa Bozhkova
5740274528 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-15 14:51:10 +00:00
Luke Barnard
332640c4ba Merge pull request #6131 from vector-im/luke/fix-scrollbars-on-jump-to-first
Adjust CSS to prevent scrollbars on message panel spinner
2018-02-15 14:51:06 +00:00
Luke Barnard
5c354dda23 Fix messagePanelSpinner flex order in RightPanel 2018-02-15 14:34:44 +00:00
Luke Barnard
9e1e7e0dbe Fix RoomDropTarget and emptySubListTip to have containers
so that the correct background colour can be used to surround both.
2018-02-15 14:09:38 +00:00
Osoitz
8c17fafaca Translated using Weblate (Basque)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2018-02-15 13:35:24 +00:00
Ralitsa Bozhkova
ac5e42d0dd Translated using Weblate (Bulgarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-15 13:14:21 +00:00
rugk
e3dcaebe9b Merge branch 'develop' into patch-2 2018-02-15 13:16:34 +01:00
Weblate
7fe65703f7 Merge remote-tracking branch 'origin/develop' into develop 2018-02-15 11:05:31 +00:00
Ralitsa Bozhkova
9d3b96e746 Translated using Weblate (Spanish)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2018-02-15 11:05:31 +00:00
Ralitsa Bozhkova
e47c22a23e Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.6% (220 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2018-02-15 11:05:30 +00:00
Ralitsa Bozhkova
06818761ef Translated using Weblate (Bulgarian)
Currently translated at 66.8% (149 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-15 11:05:29 +00:00
Ralitsa Bozhkova
6419fc73f5 Translated using Weblate (Belarusian)
Currently translated at 32.2% (72 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/be/
2018-02-15 11:05:29 +00:00
Aziz Ibrahimov
c62b4ed9b1 Translated using Weblate (Azerbaijani)
Currently translated at 13.4% (30 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/az/
2018-02-15 11:05:29 +00:00
Luke Barnard
f6255906d8 Merge pull request #6143 from vector-im/luke/dnd-group-view-tag-panel
Implement riot-web side of dragging GroupTile avatars to TagPanel
2018-02-15 11:05:25 +00:00
Luke Barnard
f64fefa9ae Use grab as some browsers e.g. firefox support it 2018-02-15 10:52:10 +00:00
Aziz Ibrahimov
2f5fc5a764 Added translation using Weblate (Azerbaijani) 2018-02-15 10:02:14 +00:00
rugk
ba7991deba Fix syntax error of wrong use of self-closing HTML tag
Firefox complaint about this in the source code view:
2018-02-15 02:36:05 +01:00
Luke Barnard
594d510f4f Simplify MyGroups hierachy 2018-02-14 17:54:29 +00:00
Luke Barnard
453b7d1007 Implement riot-web side of dragging GroupTile avatars to TagPanel
for adding groups to the TagPanel.
2018-02-14 16:37:32 +00:00
Luke Barnard
7ac350ea36 Give mx_RoomView_messageListWrapper its min-height: 100% back
because the spinner now exists separately to it
(as mx_RoomView_messagePanelSpinner) so their CSS is disentangled.
2018-02-14 11:17:21 +00:00
Luke Barnard
b3bb2d2aa5 Merge branch 'develop' into luke/fix-scrollbars-on-jump-to-first 2018-02-14 10:51:20 +00:00
Weblate
9139dcbd1e Merge remote-tracking branch 'origin/develop' into develop 2018-02-14 10:42:55 +00:00
Ralitsa Bozhkova
14b0e85850 Translated using Weblate (Bulgarian)
Currently translated at 16.1% (36 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-14 10:42:52 +00:00
Luke Barnard
8c1d2a4555 Merge pull request #6140 from vector-im/luke/fix-tag-panel-css
Fix LeftPanel size being incorrect when TagPanel disabled
2018-02-14 10:42:49 +00:00
Luke Barnard
009e01c1b0 Fix LeftPanel size being incorrect when TagPanel disabled
A previous PR (#6134) assumed that the TagPanel feature
would always be enabled, leading to strangeness when it
wasn't: #6136.

(FTR the original layout bug was #6133)
2018-02-14 10:18:12 +00:00
Szimszon
0d85a46e84 Translated using Weblate (Hungarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2018-02-14 07:52:15 +00:00
Weblate
d05b221a6c Merge remote-tracking branch 'origin/develop' into develop 2018-02-13 22:03:03 +00:00
Ralitsa Bozhkova
54f4563303 Translated using Weblate (Bulgarian)
Currently translated at 14.3% (32 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-13 22:03:02 +00:00
Matthew Hodgson
7aea7f9400 Merge pull request #6134 from vector-im/luke/fix-tag-panel-collapse
Fix TagPanel from collapsing to < 60px when LP collapsed
2018-02-13 22:02:58 +00:00
Matthew Hodgson
9abda76d9e Merge branch 'develop' into luke/fix-tag-panel-collapse 2018-02-13 22:02:49 +00:00
Weblate
42582c7ccd Merge remote-tracking branch 'origin/develop' into develop 2018-02-13 20:45:44 +00:00
Simó Albert i Beltran
c88a59c228 Translated using Weblate (Spanish)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2018-02-13 20:45:44 +00:00
Ralitsa Bozhkova
b54f949fe6 Translated using Weblate (Bulgarian)
Currently translated at 13.4% (30 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bg/
2018-02-13 20:45:43 +00:00
Richard Lewis
a966cc7dec Merge pull request #6138 from vector-im/rxl881/llpFix
Temporary hack to constrain LLP container size.
2018-02-13 20:45:39 +00:00
Richard Lewis
55cacfba82 Temporary hack to constrain LLP container size. 2018-02-13 20:42:46 +00:00
Walter
3bc1eef39b Translated using Weblate (Russian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2018-02-13 18:56:54 +00:00
Simó Albert i Beltran
ee7add05ae Translated using Weblate (Catalan)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/
2018-02-13 18:46:42 +00:00
Kévin C
e7d1c04bb5 Translated using Weblate (French)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2018-02-13 18:25:15 +00:00
Simó Albert i Beltran
247a3cebb9 Translated using Weblate (Spanish)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2018-02-13 18:00:42 +00:00
Weblate
5bf0b7d652 Merge remote-tracking branch 'origin/develop' into develop 2018-02-13 17:32:54 +00:00
Matthew Hodgson
0b5fe1232f Merge pull request #6137 from rbozhkova/patch-1
Fix typo
2018-02-13 17:32:50 +00:00
Weblate
03be7eb32c Merge remote-tracking branch 'origin/develop' into develop 2018-02-13 17:28:52 +00:00
Luke Barnard
3a808411f5 Merge pull request #6127 from vector-im/luke/feature-tag-panel-tile-context-menu
Add context menu to TagPanel
2018-02-13 17:28:47 +00:00
Ralitsa Bozhkova
2524c5f861 Added translation using Weblate (Bulgarian) 2018-02-13 17:22:45 +00:00
rbozhkova
db5f4193ec Fix typo 2018-02-13 18:22:01 +01:00
Luke Barnard
11b0cc8211 Merge branch 'develop' into luke/feature-tag-panel-tile-context-menu 2018-02-13 17:00:19 +00:00
Luke Barnard
285c4f91d3 Fix TagPanel from collapsing to < 60px when LP collapsed
Fixes https://github.com/vector-im/riot-web/issues/6133
2018-02-13 15:17:51 +00:00
Weblate
084ebe6e16 Merge remote-tracking branch 'origin/develop' into develop 2018-02-13 14:18:56 +00:00
David Baker
e67147213b Merge pull request #6096 from vector-im/luke/room-list-flux
Make room tagging flux-y
2018-02-13 14:18:50 +00:00
Luke Barnard
85c0b8dea3 Adjust CSS to prevent scrollbars on message panel spinner
when clicking on permalinks/jump to first
2018-02-13 14:15:22 +00:00
Weblate
aec3c9961c Merge remote-tracking branch 'origin/develop' into develop 2018-02-13 10:00:58 +00:00
Oskars
c7aafd8410 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/
2018-02-13 10:00:57 +00:00
lighthawk
c0720d5d24 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/
2018-02-13 10:00:57 +00:00
David Baker
ec0dd63470 Merge pull request #6130 from vector-im/luke/move-groups-button-tp
Move groups button to TagPanel
2018-02-13 11:00:53 +01:00
Luke Barnard
2269c94579 Move groups button to TagPanel 2018-02-13 09:44:25 +00:00
Luke Barnard
e36baa8c3a Fix quotes on import 2018-02-12 18:47:29 +00:00
Luke Barnard
d47c9d8b6e Add context menu to TagPanel
See https://github.com/matrix-org/matrix-react-sdk/pull/1743
2018-02-12 18:02:55 +00:00
Oskars
93a381218c 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/
2018-02-10 12:34:50 +00:00
Weblate
5472dc78d7 Merge remote-tracking branch 'origin/develop' into develop 2018-02-09 12:46:37 +00:00
David Baker
1d2f5bafda Merge branch 'master' into develop 2018-02-09 12:46:28 +00:00
David Baker
9e614a54da v0.13.5 2018-02-09 12:43:45 +00:00
David Baker
30087e5c73 Prepare changelog for v0.13.5 2018-02-09 12:43:45 +00:00
David Baker
1d222e3507 v0.13.5 2018-02-09 12:38:23 +00:00
David Baker
b20dea58c6 Bump react-sdk version 2018-02-09 12:36:19 +00:00
Weblate
47df5d2d60 Merge remote-tracking branch 'origin/develop' into develop 2018-02-09 12:28:42 +00:00
Osoitz
d3c1072842 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/
2018-02-09 12:28:40 +00:00
David Baker
d904212033 Merge branch 'release-v0.13.5' into develop 2018-02-09 12:28:26 +00:00
David Baker
62e90ceb0d Sanity check URLs with isUrlPermitted
Thanks to walle303 for letting us know these weren't being checked.
2018-02-09 12:20:31 +00:00
Luke Barnard
0cdebcce89 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
2018-02-08 16:28:42 +00:00
Luke Barnard
495090c9ba Remove now unused RoomSubList code 2018-02-08 14:08:20 +00:00
Марко М. Костић
f41a70fe1f 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/
2018-02-07 20:36:40 +00:00
Weblate
bdbf0427a1 Merge remote-tracking branch 'origin/develop' into develop 2018-02-07 18:03:48 +00:00
Matthew Hodgson
d484a1cd85 Merge pull request #6106 from vector-im/luke/fix-long-group-name
Fix long group name pushing settings cog into void
2018-02-07 18:03:43 +00:00
lukebarnard
4b7561a75e Fix long group name pushing settings cog into void 2018-02-07 17:40:00 +00:00
Simó Albert i Beltran
31af7c583f 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/
2018-02-07 13:57:00 +00:00
Weblate
2d0ea28a39 Merge remote-tracking branch 'origin/develop' into develop 2018-02-07 12:14:15 +00:00
Марко М. Костић
0f475a0e10 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/
2018-02-07 12:14:15 +00:00
Robert A. Viana
f3bae5c090 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/
2018-02-07 12:14:14 +00:00
Szimszon
ca2767fd04 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/
2018-02-07 12:14:14 +00:00
Krombel
c659c81341 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/
2018-02-07 12:14:14 +00:00
Kévin C
7eab0eca5b 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/
2018-02-07 12:14:14 +00:00
Matthew Hodgson
5c3e2dca17 Merge pull request #6103 from vector-im/luke/fix-composer-horizontal-scroll
Fix horizontal scrollbar under certain circumstances
2018-02-07 12:14:10 +00:00
lukebarnard
95c45362d5 Fix horizontal scrollbar under certain circumstances
specifically when trailing whitespace is not wrapped onto the next
line of the block.

Fixes #6077
2018-02-07 12:02:00 +00:00
Jeff Huang
8efce30d7f 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/
2018-02-07 11:57:50 +00:00
Peter Vágner
44a727b205 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/
2018-02-07 08:56:04 +00:00
lukebarnard
662942ec29 Use dispatch to change room tags from RoomTileContextMenu 2018-02-06 11:52:39 +00:00
lukebarnard
83996c09d9 General delint, cleanup 2018-02-06 11:51:46 +00:00
lukebarnard
e46f436a47 Prefer context.matrixClient in LeftPanel 2018-02-06 11:50:34 +00:00
Simó Albert i Beltran
3cbaa95184 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/
2018-02-06 10:41:59 +00:00
Weblate
8c75bed687 Merge remote-tracking branch 'origin/develop' into develop 2018-02-05 14:28:03 +00:00
Марко М. Костић
481476f835 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/
2018-02-05 14:28:03 +00:00
Luke Barnard
680a0191be Merge pull request #6067 from vector-im/t3chguy/fix_usercontent_pointer
Split MImageBody into MFileBody to match JS Classes.
2018-02-05 14:27:57 +00:00
Michael Telatynski
3abf1458fb Add cursor:pointer so that calculated CSS includes it for iframe style
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-05 13:25:43 +00:00
Michael Telatynski
00b7cc512b Split MImageBody into MImageBody,MFileBody to match react-sdk
and having the classnames match their components.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-05 13:25:09 +00:00
Nathan van Beelen
2a58de5cfc 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/
2018-02-04 14:24:39 +00:00
Osoitz
c3b000a368 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/
2018-02-02 08:28:22 +00:00
Kévin C
675bebee33 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/
2018-02-01 17:46:52 +00:00
Szimszon
cefd744aba 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/
2018-02-01 16:15:54 +00:00
Krombel
325c9662c5 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/
2018-02-01 15:13:02 +00:00
Andrey
8b35a7b10f 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/
2018-02-01 11:33:01 +00:00
David Baker
456aebe240 Merge pull request #6040 from sim6/sim6_catalan
Add Catalan
2018-02-01 10:47:01 +00:00
David Baker
66e20298a7 Merge pull request #5777 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2018-02-01 10:45:56 +00:00
Weblate
a6155c98ec Merge branch 'develop' of https://github.com/vector-im/riot-web into develop
Conflicts:
	src/i18n/strings/eo.json
2018-02-01 10:24:21 +00:00
Марко М. Костић
a26473b722 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/
2018-02-01 09:48:47 +00:00
Xose M
ed5162ef4e 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/
2018-02-01 09:48:46 +00:00
Tong Hui
930deaea9d 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/
2018-02-01 09:48:45 +00:00
Simó Albert i Beltran
b80be62bb7 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/
2018-02-01 09:48:45 +00:00
Osoitz
11806f2aa2 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/
2018-02-01 09:48:45 +00:00
David Baker
0d229f015b Merge pull request #5718 from vector-im/t3chguy/devtools-118247
make FilteredList controlled, such that it can externally persist filter
2018-02-01 09:48:40 +00:00
Walter
078d156824 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/
2018-01-29 17:06:45 +00:00
Iru Cai (vimacs)
88c4cb6eba 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/
2018-01-27 16:55:15 +00:00
Xose M
bc4f8c4c2a 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/
2018-01-26 14:26:24 +00:00
d1d4c
7ee205a447 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/
2018-01-26 13:06:57 +00:00
Ramon Vilar
f6c49a2472 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/
2018-01-26 02:25:21 +00:00
lukebarnard
37fe3ac676 Prevent RoomTiles from being dragged into other droppables
for the time being at least.
2018-01-25 22:51:40 +01:00
lukebarnard
2926154dce 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.
2018-01-25 22:30:58 +01:00
Michael Telatynski
200124569b Merge remote-tracking branch 'origin/t3chguy/devtools-118247' into t3chguy/devtools-118247 2018-01-25 21:07:10 +00:00
Michael Telatynski
662a6297e7 FilteredList, now being a controlled component does not need state
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-25 21:06:35 +00:00
Michael Telatynski
04bca93e0d Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/devtools-118247 2018-01-25 20:59:31 +00:00
Simó Albert i Beltran
e56b16f7d1 Add Catalan 2018-01-25 18:25:46 +01:00
d1d4c
5c6a265b86 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/
2018-01-24 17:53:36 +00:00
David Baker
b0a3bd6591 Merge pull request #6017 from vector-im/t3chguy/rich_quoting_linear
Linear Rich Quoting
2018-01-24 18:53:33 +01:00
d1d4c
8b7a941a6e 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/
2018-01-24 08:55:16 +00:00
Luke Barnard
394d4cf856 Merge pull request #5995 from vector-im/t3chguy/highlight_things
Highlight ViewSource and Devtools ViewSource
2018-01-24 08:55:12 +00:00
Michael Telatynski
22b7298542 add comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-23 20:28:39 +00:00
Michael Telatynski
9d1a3c9011 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/highlight_things 2018-01-23 20:19:27 +00:00
Michael Telatynski
c2aa8137bb sort components scss
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-23 20:02:47 +00:00
d1d4c
4d0b02c683 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/
2018-01-23 19:46:06 +00:00
Michael Telatynski
c7146e62a0 Merge pull request #6022 from 4nd3r/README_cross_origin_renderer_url
Update README.md with correct example use of config.cross_origin_renderer_url
2018-01-23 11:00:45 +00:00
Ander Punnar
d9409232f9 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 <ander@kvlt.ee>
2018-01-23 12:15:08 +02:00
Peter Vágner
0df6f85843 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/
2018-01-22 22:21:55 +00:00
A.G
13dd8e2c76 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/
2018-01-22 22:21:55 +00:00
Luke Barnard
9d387c32a5 Merge pull request #5929 from vector-im/t3chguy/num_members_tooltip
T3chguy/num members tooltip
2018-01-22 22:21:50 +00:00
Michael Telatynski
f5fc86258f s/Highlight/SyntaxHighlight/
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-22 18:59:18 +00:00
Michael Telatynski
321f16d8a3 rename variable as it was horrible to read camelCased
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-22 18:54:22 +00:00
Michael Telatynski
d57a10e0b2 Merge branches 'develop' and 't3chguy/rich_quoting_linear' of github.com:vector-im/riot-web into t3chguy/rich_quoting_linear 2018-01-22 16:53:51 +00:00
Michael Telatynski
202f0e2163 Add EventTile_quote styling for less margin-right when in QuotePreview
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-22 16:42:08 +00:00
pincopallopino
77d8fe3ef1 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/
2018-01-20 23:00:26 +00:00
A.G
3e5833e9f2 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/
2018-01-20 22:59:29 +00:00
pincopallopino
2b26be73f6 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/
2018-01-20 22:59:22 +00:00
A.G
ce6338b853 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/
2018-01-20 22:59:12 +00:00
vricci
52c5293a12 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/
2018-01-20 22:59:04 +00:00
A.G
568e1f4f90 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/
2018-01-20 22:58:48 +00:00
vricci
29f05c09d6 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/
2018-01-20 22:58:18 +00:00
A.G
888a77b4bb 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/
2018-01-20 22:57:00 +00:00
pebles
4eeb7989f6 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/
2018-01-20 16:34:07 +00:00
Michael Telatynski
3764a5d4b7 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/highlight_things 2018-01-20 13:55:52 +00:00
Michael Telatynski
1f3321fb37 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/devtools-118247 2018-01-20 13:55:31 +00:00
Peter Vágner
189b7236af 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/
2018-01-20 11:54:14 +00:00
Matthew Hodgson
37b5de2251 update triaging a bit 2018-01-19 16:52:55 +00:00
Matthew Hodgson
8855cc294e converge on 'noisy' to mean noisy notifs 2018-01-19 16:52:54 +00:00
Weblate
935b85afe7 Merge remote-tracking branch 'origin/develop' into develop 2018-01-19 14:49:58 +00:00
Luke Barnard
a819add7b0 Merge pull request #6008 from vector-im/luke/roomlist-beautiful-dnd
Swap RoomList to react-beautiful-dnd
2018-01-19 14:49:53 +00:00
lukebarnard
883ee4ec75 Remove react-dnd 2018-01-19 13:35:11 +00:00
lukebarnard
4504ff954a Add sudo: required to travis config 2018-01-19 10:10:13 +00:00
Марко М. Костић
68f19f9558 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/
2018-01-18 21:05:10 +00:00
lukebarnard
d55d3658f0 Use classNames instead of inline style
Theres no benefit to using inline styles
2018-01-18 18:08:18 +00:00
lukebarnard
3481283af8 Swap RoomList to react-beautiful-dnd
Includes themeing

See matrix-org/matrix-react-sdk#1711
2018-01-18 17:54:39 +00:00
Michael Telatynski
5586a02b34 Merge branches 'develop' and 't3chguy/devtools-118247' of github.com:vector-im/riot-web into t3chguy/devtools-118247 2018-01-16 18:05:15 +00:00
Michael Telatynski
670f02acf8 Merge branches 'develop' and 't3chguy/highlight_things' of github.com:vector-im/riot-web into t3chguy/highlight_things 2018-01-16 18:04:08 +00:00
Weblate
ff70af3f34 Merge remote-tracking branch 'origin/develop' into develop 2018-01-16 13:05:37 +00:00
Xose M
6f47a9b8c3 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/
2018-01-16 13:05:36 +00:00
Luke Barnard
a94208e230 Merge pull request #5992 from vector-im/luke/tag-panel-beautiful-dnd
CSS required as part of moving TagPanel from react-dnd to react-beautiful-dnd
2018-01-16 13:05:31 +00:00
Michael Telatynski
4386d45a97 remove 'use strict' 2018-01-16 10:27:47 +00:00
lukebarnard
c269abd434 CSS required as part of moving TagPanel from react-dnd to react-beautiful-dnd 2018-01-16 09:40:15 +00:00
Weblate
152f28bf2a Merge remote-tracking branch 'origin/develop' into develop 2018-01-15 13:45:20 +00:00
David Baker
f940dfdd79 Merge pull request #5984 from vector-im/t3chguy/datesep
fix&refactor DateSeparator and MessageTimestamp
2018-01-15 13:45:14 +00:00
Weblate
cf00ac34d9 Merge remote-tracking branch 'origin/develop' into develop 2018-01-15 10:06:12 +00:00
toriko
a50e9d2b6b 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/
2018-01-15 10:06:11 +00:00
Jeff Huang
e2ef885aa6 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/
2018-01-15 10:06:10 +00:00
David Baker
fc844567a6 Merge pull request #5978 from vector-im/t3chguy/nvl/rich_quoting
Iterative fixes on Rich Quoting
2018-01-15 10:06:05 +00:00
Michael Telatynski
f97395f40f change exports to default to retain compatibility with existing imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-14 18:41:44 +00:00
Michael Telatynski
b65fdf6ab0 refactor MessageTimestamp, as it was missing a PropTypes def for ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-14 18:35:53 +00:00
Michael Telatynski
22c024cc94 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>
2018-01-14 18:34:38 +00:00
Neo_Chen
b99e87ba0a 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/
2018-01-13 00:44:59 +00:00
Weblate
e82a95a0b5 Merge remote-tracking branch 'origin/develop' into develop 2018-01-12 09:32:21 +00:00
Klaus Marx
b023cc790b 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/
2018-01-12 09:32:20 +00:00
David Baker
d3811e3287 Merge pull request #5653 from vector-im/t3chguy/analytics_info
move piwik whitelists to conf and add piwik config.json info to readme
2018-01-12 09:32:15 +00:00
Michael Telatynski
5aec6840bf Add cursor:pointer so that it actually looks clickable
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-11 19:33:21 +00:00
Michael Telatynski
17c4839029 only show reply button on REAL (not pending) m.room.message events
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-11 19:21:02 +00:00
Osoitz
26f377decf 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/
2018-01-11 12:55:14 +00:00
Szimszon
004ccc47b3 Translated using Weblate (Hungarian)
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/hu/
2018-01-11 12:34:32 +00:00
Andrey
fbd7860a9b Translated using Weblate (Russian)
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/ru/
2018-01-11 10:47:32 +00:00
Kévin C
586533d6ea Translated using Weblate (French)
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/fr/
2018-01-11 10:36:52 +00:00
Bamstam
c8bd89ce4c 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/
2018-01-11 10:36:29 +00:00
Weblate
1a9b86b27f Merge remote-tracking branch 'origin/develop' into develop 2018-01-11 10:34:48 +00:00
David Baker
56300f9578 Merge pull request #5804 from vector-im/t3chguy/nvl/rich_quoting
Implement Rich Quoting/Replies
2018-01-11 10:34:43 +00:00
Michael Telatynski
77e2ceba9e switch to new ES6 DateUtils imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-10 21:50:32 +00:00
Weblate
89c5be39d1 Merge remote-tracking branch 'origin/develop' into develop 2018-01-08 21:33:27 +00:00
Matthew Hodgson
c8e87cb5a2 Merge pull request #5950 from vector-im/t3chguy-patch-1
Change author
2018-01-08 21:33:22 +00:00
Michael Telatynski
627ebb848d Change author 2018-01-08 21:32:25 +00:00
Weblate
54cafec57a Merge remote-tracking branch 'origin/develop' into develop 2018-01-08 15:18:08 +00:00
David Baker
1405859d2c Merge pull request #5944 from vector-im/revert-3046-patch-1
Revert "Add a &nbsp; after timestamp"
2018-01-08 15:18:03 +00:00
David Baker
24e16e5c18 Revert "Add a &nbsp; after timestamp" 2018-01-08 15:17:05 +00:00
Weblate
9c7783b439 Merge remote-tracking branch 'origin/develop' into develop 2018-01-08 15:00:51 +00:00
David Baker
a21bbd15c5 Merge pull request #3046 from rubo77/patch-1
Add a &nbsp; after timestamp
2018-01-08 15:00:45 +00:00
David Baker
b6c002b587 Fix merge 2018-01-08 14:35:39 +00:00
David Baker
9c3e4a1202 Merge branch 'develop' into patch-1 2018-01-08 14:31:21 +00:00
Iru Cai (vimacs)
97cc7f88ef 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/
2018-01-08 02:02:11 +00:00
Weblate
5a5b0568f2 Merge remote-tracking branch 'origin/develop' into develop 2018-01-07 20:34:24 +00:00
Matthew Hodgson
bddab533a3 Merge pull request #5938 from osoitz/master
Corrected language name
2018-01-07 20:34:19 +00:00
osoitz
5106809394 Update copy-res.js
Corrected Basque name
2018-01-07 20:39:24 +01:00
Michael Telatynski
290bf54d4f pluralise properly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-05 23:55:32 +00:00
Michael Telatynski
c68c54618f delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-05 23:19:43 +00:00
Michael Telatynski
3788fde711 Add a tooltip to members button and badge with actual count
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-05 23:16:21 +00:00
Weblate
9289d1a57d Merge remote-tracking branch 'origin/develop' into develop 2018-01-05 14:30:51 +00:00
David Baker
d6942a455d Merge branch 'rubo77-hide-options-cp' into develop 2018-01-05 14:30:36 +00:00
David Baker
c8af65fff4 Merge branch 'hide-options-cp' of https://github.com/rubo77/vector-web into rubo77-hide-options-cp 2018-01-05 14:30:21 +00:00
Weblate
94aa5b5f1b Merge remote-tracking branch 'origin/develop' into develop 2018-01-03 16:15:57 +00:00
David Baker
38e0b26153 Merge branch 'master' into develop 2018-01-03 16:15:46 +00:00
David Baker
5635614549 v0.13.4 2018-01-03 16:13:24 +00:00
David Baker
1bb861f6cf Prepare changelog for v0.13.4 2018-01-03 16:13:24 +00:00
David Baker
2eb433157a v0.13.4 2018-01-03 16:08:38 +00:00
Michael Telatynski
d71af40967 add missing config.json entry such that scalar-staging widgets work
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-03 16:06:58 +00:00
Weblate
d2a676cad2 Merge remote-tracking branch 'origin/develop' into develop 2018-01-03 15:48:44 +00:00
Sejo
33cf966f34 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/
2018-01-03 15:48:44 +00:00
Peter Vágner
760b961e19 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/
2018-01-03 15:48:44 +00:00
Joachim Nielandt
2660e70e00 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/
2018-01-03 15:48:43 +00:00
Milan Korecký
f3f608b35f 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/
2018-01-03 15:48:42 +00:00
Osoitz
34a3ef7e1d 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/
2018-01-03 15:48:42 +00:00
Luke Barnard
604d4e0a51 Merge pull request #5900 from Nostradamos/fix_4821
Fix for `If riot is narrow enough, such that 'Send a message (unecrypted)' wraps to a second line, the timeline doesn't fit the window.`
2018-01-03 15:48:38 +00:00
nostradamos
762f6aaf0f Merge remote-tracking branch 'upstream/develop' into fix_4821 2018-01-02 12:58:30 +01:00
Nostradamos
3600d1c667 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 2018-01-02 12:14:54 +01:00
Nathan van Beelen
ec5c960ebb 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/
2017-12-22 19:01:48 +00:00
Joachim Nielandt
1f26a17b29 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/
2017-12-22 07:52:44 +00:00
Michael Telatynski
8a7477f50c Highlight ViewSource and Devtools ViewSource
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-20 20:40:41 +00:00
Xose M
17e0d3f8a0 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/
2017-12-20 06:27:56 +00:00
Weblate
97116bb268 Merge remote-tracking branch 'origin/develop' into develop 2017-12-19 17:04:51 +00:00
Richard Lewis
cf47b919d5 Merge pull request #5849 from vector-im/rxl881/snapshot
Screenshot UI
2017-12-19 17:04:46 +00:00
Weblate
7dd85533e8 Merge remote-tracking branch 'origin/develop' into develop 2017-12-19 13:23:21 +00:00
Richard Lewis
af99ac3293 Merge pull request #5855 from vector-im/t3chguy/nvl/fix_electron_config
add missing config.json entry such that scalar-staging widgets work
2017-12-19 13:23:15 +00:00
Michael Telatynski
843505f6a9 add missing config.json entry such that scalar-staging widgets work
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-19 12:03:48 +00:00
Weblate
707cb47e10 Merge remote-tracking branch 'origin/develop' into develop 2017-12-18 21:44:48 +00:00
IMIN
67746b021a 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/
2017-12-18 21:44:47 +00:00
Matthew Hodgson
bfb60265cb Merge pull request #5610 from vector-im/t3chguy/devtools-1
add dark theme styling to devtools input box
2017-12-18 21:44:43 +00:00
Weblate
2f5bfd9694 Merge remote-tracking branch 'origin/develop' into develop 2017-12-18 19:50:30 +00:00
Michael Telatynski
fbd9ba32aa Merge pull request #5851 from oivoodoo/add-oivoodoo-author
Fixes #1953 by adding oivoodoo as author
2017-12-18 19:50:26 +00:00
Alexandr Korsak
3164655a21 Fixes #1953 2017-12-18 22:41:46 +03:00
Michael Telatynski
b16dcbc057 styling for on-demand quote nest traversal
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-18 19:28:19 +00:00
Weblate
1e4997c2c2 Merge remote-tracking branch 'origin/develop' into develop 2017-12-18 12:35:07 +00:00
Juho Ylikorpi
dc3f7f3cd1 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/
2017-12-18 12:35:06 +00:00
Tirifto
0ea8efcaf4 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/
2017-12-18 12:35:06 +00:00
Matthew Hodgson
fbbca2e466 Merge pull request #5824 from pafcu/patch-1
Instructions on security issues
2017-12-18 12:35:00 +00:00
Michael Telatynski
2961e1949f delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-16 19:07:32 +00:00
Michael Telatynski
304d281ed2 change reply to be its own thing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-16 19:01:56 +00:00
Osoitz
cc1ee16dec 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/
2017-12-16 14:41:15 +00:00
Michael Telatynski
9c38794ad5 Style datesep inside Quote
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-15 18:37:44 +00:00
Richard Lewis
6b24aff6c5 Merge branch 'develop' of github.com:vector-im/riot-web into rxl881/snapshot 2017-12-15 13:01:51 +00:00
Juho Ylikorpi
091dfd6e54 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/
2017-12-14 18:19:35 +00:00
Weblate
527e5be86c Merge remote-tracking branch 'origin/develop' into develop 2017-12-14 10:36:31 +00:00
Andrey
e746d2331e 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/
2017-12-14 10:36:30 +00:00
Tirifto
0c7b15db47 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/
2017-12-14 10:36:30 +00:00
Luke Barnard
7cc8fed61b Merge pull request #5790 from vector-im/luke/feature-ordered-tag-panel
Move DND wrapper to top level component
2017-12-14 10:36:26 +00:00
Michael Telatynski
4bc99b7f01 move QuotePreview CSS out to own file
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-12 23:40:54 +00:00
Michael Telatynski
54a9ccdee7 throw new quoting behind flags
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-12 23:36:10 +00:00
pafcu
25bfb52e7e Instructions on security issues
It's not good to put potentially sensitive security issues in the public bug tracker, so advice to use security@matrix.org instead
2017-12-12 19:49:48 +01:00
Tirifto
8e66665bbd 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/
2017-12-12 10:22:36 +00:00
Michael Telatynski
10c6f24a83 CSS and Context Menu tweaks for Rich Quoting/Replies
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-10 12:52:00 +00:00
Weblate
b69daf1041 Merge remote-tracking branch 'origin/develop' into develop 2017-12-08 18:18:57 +00:00
Moo
e24ffeea44 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/
2017-12-08 18:18:56 +00:00
vricci
68706a9209 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/
2017-12-08 18:18:56 +00:00
Szimszon
db3bd1dbf0 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/
2017-12-08 18:18:56 +00:00
Matthew Hodgson
89efbd0a71 Merge pull request #5786 from vector-im/rxl881/titleBar
Widget title bar max / min visual cues.
2017-12-08 19:18:52 +01:00
Sulejman Delic
fb1afdab1c Added translation using Weblate (Bosnian) 2017-12-08 09:19:01 +00:00
Luke Barnard
608a359e0a Move DND wrapper to top level component 2017-12-06 14:54:35 +00:00
Richard Lewis
0ff5d61189 Don't capture pointer events. 2017-12-05 18:44:24 +00:00
Richard Lewis
c37c50e1e0 Add maximise and minimise icons 2017-12-05 18:07:49 +00:00
Richard Lewis
e0ae266bb2 Make cursor pointer on menubar mouseover. 2017-12-05 18:07:19 +00:00
Weblate
33446bf4ff Merge remote-tracking branch 'origin/develop' into develop 2017-12-04 18:09:30 +00:00
Matthew Hodgson
9835e2e0b4 Merge pull request #5759 from vector-im/luke/renumerate-broken-ordered-sublists
Implement renumeration of ordered tags upon collision
2017-12-04 18:09:23 +00:00
Weblate
f08b0f7800 Merge remote-tracking branch 'origin/develop' into develop 2017-12-04 12:36:51 +00:00
Luke Barnard
95c746936a Merge branch 'master' into develop 2017-12-04 12:36:42 +00:00
Luke Barnard
b73f0c7b90 v0.13.3 2017-12-04 12:31:50 +00:00
Luke Barnard
8ec48db86c Prepare changelog for v0.13.3 2017-12-04 12:31:50 +00:00
Luke Barnard
5fba5b30e9 v0.13.3 2017-12-04 12:29:32 +00:00
Luke Barnard
c685546e9a Bump js-sdk to 0.9.2, react-sdk to 0.11.3 2017-12-04 12:27:49 +00:00
Weblate
bb6aabc017 Merge remote-tracking branch 'origin/develop' into develop 2017-12-04 12:26:11 +00:00
Luke Barnard
1a0c0af447 Bump js-sdk to 0.9.2, react-sdk to 0.11.3 2017-12-04 12:25:54 +00:00
Moo
491bb4fd1d 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/
2017-12-04 11:32:10 +00:00
Tirifto
a3e2698223 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/
2017-12-04 11:32:09 +00:00
Richard Lewis
380625241e Green camera icon 2017-12-03 11:25:52 +00:00
Moo
452fe44795 Added translation using Weblate (Lithuanian) 2017-12-01 22:15:02 +00:00
Luke Barnard
b0d115a64a Implement renumeration of ordered tags upon collision
I was being bitten by this enough for me to want to fix it. This implementation really ought to be improved such that it doesnt tend towards being broken the more it is used.
2017-12-01 18:20:38 +00:00
Luke Barnard
e80c4fadea Linting 2017-12-01 18:18:48 +00:00
Weblate
04ed2a3d09 Merge remote-tracking branch 'origin/develop' into develop 2017-12-01 14:12:39 +00:00
Luke Barnard
cc4890f0b8 Fix TagPanel bg on status theme 2017-12-01 14:12:31 +00:00
Weblate
7924ee65e0 Merge remote-tracking branch 'origin/develop' into develop 2017-12-01 12:04:15 +00:00
Luke Barnard
0aaae9bca5 Merge pull request #5751 from vector-im/luke/refactor-keycode-to-keyboard
Update imports for accessing KeyCode
2017-12-01 12:04:10 +00:00
Weblate
fb7a071c2a Merge remote-tracking branch 'origin/develop' into develop 2017-12-01 11:04:56 +00:00
Luke Barnard
a24c42b3a8 Realign collpased BottomLeftMenu with create group button 2017-12-01 11:04:46 +00:00
Luke Barnard
1ccffb7e58 Update imports for accessing KeyCode 2017-12-01 10:56:25 +00:00
Weblate
41c7d0cb41 Merge remote-tracking branch 'origin/develop' into develop 2017-11-30 11:07:38 +00:00
Luke Barnard
4e7a1e9653 Correctly position TagPanel createGroupButton 2017-11-30 11:07:27 +00:00
Weblate
0061d9ad6c Merge remote-tracking branch 'origin/develop' into develop 2017-11-30 10:12:46 +00:00
Matthew Hodgson
2a402985aa Merge pull request #5685 from aidalgol/root-lang-attrib-fix
Set html lang attribute from language setting
2017-11-30 10:12:40 +00:00
Weblate
8c315c7e0b Merge remote-tracking branch 'origin/develop' into develop 2017-11-29 22:04:48 +00:00
Matthew Hodgson
f72b44650b fix tertiary accent colors 2017-11-29 22:04:40 +00:00
Weblate
8da2a29f86 Merge remote-tracking branch 'origin/develop' into develop 2017-11-29 18:50:31 +00:00
Luke Barnard
72563e6114 overflow hidden for groupPublicity scrollbox 2017-11-29 18:50:22 +00:00
Weblate
7153d03660 Merge remote-tracking branch 'origin/develop' into develop 2017-11-29 17:30:46 +00:00
Milan Korecký
fd63aac406 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/
2017-11-29 17:30:44 +00:00
Luke Barnard
123ad19b28 Merge pull request #5723 from vector-im/luke/feature-tag-panel
CSS for new TagPanel
2017-11-29 17:30:40 +00:00
Luke Barnard
28132eaf36 Correct comment 2017-11-29 17:17:09 +00:00
Luke Barnard
0c43edb629 CSS for new TagPanel 2017-11-29 16:41:00 +00:00
Michael Telatynski
43578d2366 make FilteredList controlled, such that it can externally persist filter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-11-28 22:16:53 +00:00
Weblate
59f1cc3922 Merge remote-tracking branch 'origin/develop' into develop 2017-11-28 14:09:45 +00:00
Luke Barnard
63bedc440b Merge pull request #5707 from vector-im/luke/allow-guest-view-group
getGroupStore no longer needs a matrix client
2017-11-28 14:09:39 +00:00
Luke Barnard
bbdafeff77 getGroupStore no longer needs a matrix client 2017-11-28 13:17:30 +00:00
Weblate
d02ae30023 Merge remote-tracking branch 'origin/develop' into develop 2017-11-28 11:25:49 +00:00
Luke Barnard
58b7530134 Merge pull request #5702 from vector-im/luke/move-group-flair-toggle-to-user-settings
CSS required for moving group publication toggles to UserSettings
2017-11-28 11:25:45 +00:00
Weblate
4f384b2325 Merge remote-tracking branch 'origin/develop' into develop 2017-11-28 11:22:34 +00:00
Richard van der Hoff
93f05ceea3 Merge branch 'master' into develop 2017-11-28 11:22:16 +00:00
Richard van der Hoff
5fff46fdac v0.13.2 2017-11-28 11:17:57 +00:00
Richard van der Hoff
0f5785c27b Prepare changelog for v0.13.2 2017-11-28 11:17:57 +00:00
Richard van der Hoff
854a665627 v0.13.2 2017-11-28 11:16:45 +00:00
Richard van der Hoff
2e9f309415 Bump to react-sdk 0.11.2 2017-11-28 11:16:13 +00:00
Luke Barnard
6fc173eaa9 CSS required for moving group publication toggles to UserSettings
See https://github.com/matrix-org/matrix-react-sdk/pull/1634
2017-11-27 18:59:33 +00:00
Weblate
15e5f13969 Merge remote-tracking branch 'origin/develop' into develop 2017-11-27 18:59:00 +00:00
Luke Barnard
5f4d011606 Merge branch 'develop' of github.com:vector-im/riot-web into develop 2017-11-27 18:58:42 +00:00
Luke Barnard
9da799c2dd GroupTile h3 becomes div for simpler reuse 2017-11-27 18:57:59 +00:00
Weblate
21b693f3c8 Merge remote-tracking branch 'origin/develop' into develop 2017-11-27 18:11:12 +00:00
Mateo Castro
a7ac003064 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/
2017-11-27 18:11:12 +00:00
xmeta
9ec1f9b07d 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/
2017-11-27 18:11:11 +00:00
Neo_Chen
57f1dd1d68 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/
2017-11-27 18:11:11 +00:00
David Baker
a346cf393d Merge pull request #5630 from turt2live/travis/granular-theme
Make sure the SettingsStore is ready to load the theme before loading it
2017-11-27 18:11:07 +00:00
Travis Ralston
c825ab0fa3 Add comment about why we call SdkConfig twice
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-27 11:03:58 -07:00
Aidan Gauland
c4dc59dc41 Use documentElement instead of getElementById
Use documentElement to get the root <html> element instead of adding an id to
the root element.
2017-11-26 13:46:47 +13:00
Aidan Gauland
43b3c013f2 Change html root id
Change the root <html> element id to follow Matrix naming conventions.
2017-11-26 09:49:39 +13:00
Aidan Gauland
c0a5c28d80 Set html lang attribute from language setting 2017-11-25 22:58:52 +13:00
Weblate
6e477b66c6 Merge remote-tracking branch 'origin/develop' into develop 2017-11-21 18:47:41 +00:00
Matthew Hodgson
c28d9e5cde Merge pull request #5661 from pafcu/sidebar-a11y
Add some aria-labels to RightPanel
2017-11-21 18:47:37 +00:00
Stefan Parviainen
0bd68ce068 Add some aria-labels to RightPanel
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-21 09:18:59 +01:00
Weblate
c3a0c26610 Merge remote-tracking branch 'origin/develop' into develop 2017-11-20 13:30:46 +00:00
Luke Barnard
f2e66590da Merge pull request #5657 from vector-im/luke/fix-member-count-format
Use badge count format for member count in RightPanel
2017-11-20 13:30:40 +00:00
lukebarnard
7cb59bddb0 Use badge count format for member count in RightPanel
(to avoid cosmetic disasters with >9999 members in a room, e.g. HQ)
2017-11-20 13:12:55 +00:00
Michael Telatynski
f7a26ddb91 fix (race?) broken tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-11-19 20:46:40 +00:00
Michael Telatynski
26269986f5 move piwik whitelists to conf and add piwik config.json info to readme
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-11-19 15:36:28 +00:00
Jan Kudrik
cecaca61a3 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/
2017-11-19 13:52:20 +00:00
Jeff Huang
e4f7cbe85c 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/
2017-11-19 03:12:10 +00:00
Марко М. Костић
08be00a154 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/
2017-11-18 21:37:55 +00:00
dark159123
5132d2132b 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/
2017-11-18 20:45:18 +00:00
Weblate
1b24e643de Merge remote-tracking branch 'origin/develop' into develop 2017-11-18 12:25:54 +00:00
Matthew Hodgson
21d7c4d92a Merge pull request #5640 from turt2live/travis/granular-language
Exclude the default language on page load
2017-11-18 12:25:50 +00:00
Travis Ralston
aab044a14c Exclude the default language on page load
This is so we correctly detect the browser language.

Fixes https://github.com/vector-im/riot-web/issues/5632

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-17 22:15:35 -07:00
Walter
ee35fdb483 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/
2017-11-17 20:20:10 +00:00
Weblate
82756ffc6b Merge remote-tracking branch 'origin/develop' into develop 2017-11-17 17:29:46 +00:00
Марко М. Костић
eff2c140f6 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/
2017-11-17 17:29:45 +00:00
David Baker
7130f4aee8 Merge remote-tracking branch 'origin/master' into develop 2017-11-17 17:29:33 +00:00
David Baker
aad2069a51 v0.13.1 2017-11-17 16:09:48 +00:00
David Baker
bac8b34e26 Prepare changelog for v0.13.1 2017-11-17 16:09:48 +00:00
David Baker
6ebab2cb8d v0.13.1 2017-11-17 16:05:26 +00:00
David Baker
538e1d2446 Released js-sdk & react-sdk 2017-11-17 16:05:01 +00:00
Luke Barnard
dff791d478 Add Slovak to included languages 2017-11-17 15:07:20 +00:00
Travis Ralston
eb40de4670 Make sure we load the config before trying to redirect to a mobile page
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 21:00:30 -07:00
Travis Ralston
67ca1515d8 Pull the theme through the default chain
This is so the `config` level is respected.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 20:50:55 -07:00
Travis Ralston
1ab5ff079c Set the SdkConfig values immediately after loading the config
This is to ensure that when we make a call to get the theme we'll have the SdkConfig available.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 20:50:29 -07:00
Szimszon
38cdc0782d 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/
2017-11-16 19:45:56 +00:00
Weblate
ef6fcaf703 Merge remote-tracking branch 'origin/develop' into develop 2017-11-16 16:46:54 +00:00
Matthew Hodgson
4c8f77bb80 buttonify verify buttons 2017-11-16 16:46:46 +00:00
Kévin C
e788f23148 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/
2017-11-16 16:04:45 +00:00
Weblate
07cc5dc6c9 Merge remote-tracking branch 'origin/develop' into develop 2017-11-16 13:08:53 +00:00
Matthew Hodgson
58f2e51af5 Merge pull request #5615 from turt2live/travis/granular_bugs
Use SettingsStore to get the default theme
2017-11-16 13:08:48 +00:00
Peter Vágner
1e5fabed97 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/
2017-11-16 12:59:48 +00:00
Bamstam
63c4a14dc2 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/
2017-11-16 12:38:22 +00:00
Andrey
3c9210e376 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/
2017-11-16 12:10:21 +00:00
Weblate
1e7007423b Merge remote-tracking branch 'origin/develop' into develop 2017-11-16 11:54:57 +00:00
Марко М. Костић
4657f89b3e 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/
2017-11-16 11:54:57 +00:00
Luke Barnard
cb235a29fa Merge pull request #5613 from pafcu/simplify-translation
Refactor translations
2017-11-16 11:54:52 +00:00
pafcu
1e2e4397f7 Fix typo 2017-11-16 12:41:26 +01:00
忆年
84c5ce1b4e 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/
2017-11-16 02:39:02 +00:00
Travis Ralston
42e601005f Use SettingsStore to get the default theme
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-15 19:09:03 -07:00
Марко М. Костић
311bdf71fb Added translation using Weblate (Serbian) 2017-11-15 22:56:22 +00:00
Stefan Parviainen
4949f2f763 Fix typo and update strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-15 20:43:45 +01:00
Stefan Parviainen
ae6c985d39 Add missing backtick
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-15 19:58:29 +01:00
Weblate
509c833896 Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 18:35:14 +00:00
Richard Lewis
53a793b8fd Merge pull request #5605 from vector-im/rxl881/invertOutlineColour
TintableSvgButton styling
2017-11-15 18:35:09 +00:00
Michael Telatynski
b00cf8c939 add dark theme styling to devtools input box
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-11-15 17:13:39 +00:00
Weblate
45ed5b13ca Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 16:33:06 +00:00
Luke Barnard
6f15c67d0b Merge branch 'master' into develop 2017-11-15 16:32:52 +00:00
Kévin C
0a55c87dd3 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/
2017-11-15 16:30:48 +00:00
Richard Lewis
ed3a6d29ac Merge branch 'develop' of https://github.com/vector-im/riot-web into rxl881/invertOutlineColour 2017-11-15 16:25:14 +00:00
Weblate
2893cee685 Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 15:55:45 +00:00
Matthew Hodgson
bbcf74f774 fix @lampholder's NPE for real 2017-11-15 15:55:33 +00:00
Richard Lewis
bfb4ae3083 Merge branch 'develop' of https://github.com/vector-im/riot-web into rxl881/invertOutlineColour 2017-11-15 15:09:38 +00:00
Richard Lewis
26231e458e Add green cancel icon. 2017-11-15 13:42:36 +00:00
Richard Lewis
10b17b7fd0 TintableSvgButton styling. 2017-11-15 13:04:58 +00:00
Weblate
5e7faf3083 Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 12:14:39 +00:00
Luke Barnard
9664b4d176 Add Slovak to included languages 2017-11-15 12:14:30 +00:00
Luke Barnard
629a18ebef v0.13.0 2017-11-15 11:09:31 +00:00
Luke Barnard
7e5f80c9f7 Prepare changelog for v0.13.0 2017-11-15 11:09:30 +00:00
Luke Barnard
898bb6f9d8 v0.13.0 2017-11-15 11:08:37 +00:00
Luke Barnard
02c2e1a14c Bump js/react SDKs to releases 0.9.0 & 0.11.0 2017-11-15 11:03:20 +00:00
Weblate
7ab693d776 Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 10:56:13 +00:00
Matthew Hodgson
ffada4f6fe Merge pull request #5468 from turt2live/travis/granular
Granular settings
2017-11-15 10:56:08 +00:00
Richard Lewis
1fc44a32c0 Fix SVG colours. Add rounded, lowlight outline for clarity. 2017-11-15 10:39:12 +00:00
Szimszon
3a2c778e1c 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/
2017-11-15 05:52:12 +00:00
Andrey
a9cd62633e 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/
2017-11-15 04:44:31 +00:00
Travis Ralston
a583c2b658 Merge branch 'develop' into travis/granular 2017-11-14 19:16:35 -07:00
Weblate
0cfd34ac9f Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 01:56:40 +00:00
Matthew Hodgson
142a9d7549 fix buttons on dark theme 2017-11-15 01:56:32 +00:00
Weblate
492f923d1b Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 01:46:27 +00:00
Matthew Hodgson
bd89fe59c0 remove blue halos everywhere 2017-11-15 01:46:18 +00:00
Matthew Hodgson
86509abbfb no need to retint explicitly after changing theme 2017-11-15 01:46:11 +00:00
Weblate
148ace93ca Merge remote-tracking branch 'origin/develop' into develop 2017-11-15 00:58:00 +00:00
Matthew Hodgson
9f61cb8137 turns out that we /do/ use tertiaryAccentColor after all 2017-11-15 00:57:53 +00:00
Bamstam
8bd66b93c5 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/
2017-11-15 00:22:35 +00:00
Weblate
b254ee4190 Merge remote-tracking branch 'origin/develop' into develop 2017-11-14 23:53:31 +00:00
Matthew Hodgson
3e72d8d969 Merge pull request #5286 from turt2live/travis/presence
CSS/components for custom presence controls
2017-11-14 23:53:26 +00:00
Stefan Parviainen
fcd58a2544 Update translating docs 2017-11-14 22:50:27 +01:00
Stefan Parviainen
ca4b71b6e2 Update to use newer _t() 2017-11-14 21:54:00 +01:00
Weblate
c8dd31ba28 Merge remote-tracking branch 'origin/develop' into develop 2017-11-14 19:33:42 +00:00
Richard Lewis
aceabd6d28 Merge pull request #5574 from vector-im/rxl881/appTileStyling
Set widget tile background colour
2017-11-14 19:33:37 +00:00
Richard Lewis
81ef9b143c Add widget menubar styling 2017-11-14 18:44:10 +00:00
Richard Lewis
93eab05239 Merge branch 'develop' of https://github.com/vector-im/riot-web into rxl881/appTileStyling 2017-11-14 18:14:36 +00:00
Weblate
55170aa2a7 Merge remote-tracking branch 'origin/develop' into develop 2017-11-14 18:05:31 +00:00
Matthew Hodgson
534504b618 Merge pull request #5573 from vector-im/rxl881/visualCue
Widget styling tweaks
2017-11-14 18:05:27 +00:00
Weblate
e4fcf24f44 Merge remote-tracking branch 'origin/develop' into develop 2017-11-14 18:03:13 +00:00
Matthew Hodgson
bea95fde3a Merge pull request #5567 from vector-im/rxl881/mixedContentWarnings
Center mixed content warnings in panel.
2017-11-14 18:03:08 +00:00
Richard Lewis
cf2850834e Add apps drawer bottom margin. 2017-11-14 17:32:01 +00:00
Richard Lewis
e3bdcf4d0d Remove unused edit_white icon 2017-11-14 15:42:29 +00:00
Richard Lewis
940f229102 Fix edit icon colors and add green edit icon. 2017-11-14 15:20:57 +00:00
Weblate
a22cd487a0 Merge remote-tracking branch 'origin/develop' into develop 2017-11-14 15:17:41 +00:00
Matthew Hodgson
69b8ff8668 add fixme 2017-11-14 15:17:32 +00:00
Weblate
03f1f7f75a Merge remote-tracking branch 'origin/develop' into develop 2017-11-14 14:31:22 +00:00
Peter Vágner
e540fd40cb 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/
2017-11-14 14:31:21 +00:00
Matthew Hodgson
a7a9433ef9 fix 2ndary accent color on dark on FF
fixes https://github.com/vector-im/riot-web/issues/5583
2017-11-14 14:31:15 +00:00
Luke Barnard
ad0cb6f0a8 v0.13.0-rc.3 2017-11-14 14:22:29 +00:00
Luke Barnard
29ddf98592 Prepare changelog for v0.13.0-rc.3 2017-11-14 14:22:28 +00:00
Luke Barnard
5e8ddc6d7c v0.13.0-rc.3 2017-11-14 14:21:44 +00:00
Luke Barnard
e1c762dcaa Bump react-sdk version to 0.11.0-rc.3 2017-11-14 14:20:21 +00:00
Travis Ralston
977599a660 Use the SettingsStore to get the theme
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-13 13:14:29 -07:00
Travis Ralston
7570ce580f Merge branch 'develop' into travis/granular 2017-11-13 12:25:56 -07:00
Weblate
564ea8bfb2 Merge remote-tracking branch 'origin/develop' into develop 2017-11-13 19:22:44 +00:00
Bamstam
261f91da6e 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/
2017-11-13 19:22:44 +00:00
Matthew Hodgson
557fd8f734 Merge pull request #5578 from vector-im/matthew/status
Status.im theme
2017-11-13 19:22:38 +00:00
Matthew Hodgson
809dd0856f add more fixmes 2017-11-13 16:35:39 +00:00
Matthew Hodgson
0a80774066 unstatusify redirects 2017-11-13 16:26:26 +00:00
Matthew Hodgson
5abee4fddc replace some of the status.im theme with general config options 2017-11-11 23:47:03 +00:00
Matthew Hodgson
47d9e7f2a1 Merge remote-tracking branch 'origin/develop' into matthew/status 2017-11-10 15:29:37 -08:00
Richard Lewis
d7ceddfe61 Revert unintended merge commit. 2017-11-10 21:43:34 +00:00
Richard Lewis
42bb54b202 Set widget menu bar background colour. 2017-11-10 21:41:35 +00:00
Richard Lewis
7a42e844d1 Remove unused styling. 2017-11-10 20:16:32 +00:00
Richard Lewis
43fb359d8f Vertically align menu bar items. 2017-11-10 20:12:30 +00:00
Richard Lewis
31e0cde900 Improve hover border. 2017-11-10 20:12:12 +00:00
Richard Lewis
53143cb033 Center icons in menu bar. 2017-11-10 17:26:57 +00:00
Richard Lewis
7eeb7babc4 White edit icon (to avoid having to use css filters to invert). 2017-11-10 17:26:33 +00:00
Richard Lewis
883ec159e2 Add yellow warning triangle image. 2017-11-10 17:25:56 +00:00
Luke Barnard
ef9f2f7ce6 v0.13.0-rc.2 2017-11-10 16:53:03 +00:00
Luke Barnard
d9bb6c52b4 Prepare changelog for v0.13.0-rc.2 2017-11-10 16:53:03 +00:00
Luke Barnard
ea0cfa92b4 v0.13.0-rc.2 2017-11-10 16:52:24 +00:00
Luke Barnard
150fa43735 Bump react-sdk dep 2017-11-10 16:51:05 +00:00
Luke Barnard
718f48ba04 Merge branch 'develop' into release-v0.13.0 2017-11-10 16:50:11 +00:00
Weblate
1b21b8cce2 Merge remote-tracking branch 'origin/develop' into develop 2017-11-10 16:24:25 +00:00
Luke Barnard
73e7581fc6 Merge pull request #5566 from vector-im/luke/groups-enable
Make groups a fully-fleged baked-in feature
2017-11-10 16:24:19 +00:00
Richard Lewis
83373bcf6e Merge branch 'develop' of https://github.com/vector-im/riot-web into rxl881/visualCue 2017-11-10 16:22:33 +00:00
Richard Lewis
29abb5eed0 Center mixed content warnings in panel. 2017-11-10 16:15:31 +00:00
Luke Barnard
277a6dee10 Make groups a fully-fleged baked-in feature 2017-11-10 15:38:50 +00:00
Weblate
25bff3f4b1 Merge remote-tracking branch 'origin/develop' into develop 2017-11-10 15:21:04 +00:00
Tong Hui
71d0ecf37d 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/
2017-11-10 14:14:56 +00:00
Luke Barnard
5c9dd17d21 v0.13.0-rc.1 2017-11-10 13:44:55 +00:00
Luke Barnard
b494b458bb Prepare changelog for v0.13.0-rc.1 2017-11-10 13:44:55 +00:00
Luke Barnard
0630d856f8 v0.13.0-rc.1 2017-11-10 13:44:08 +00:00
Luke Barnard
1008ede4d1 Bump matrix-react/js-sdk deps 2017-11-10 13:42:31 +00:00
Richard Lewis
cf1beb1d94 Fix right marign. 2017-11-10 00:16:41 +00:00
Richard Lewis
d0fe0499aa Merge pull request #5561 from vector-im/rxl881/widgetStyling
Fix app tile margins.
2017-11-09 23:56:08 +00:00
Richard Lewis
bfa4f59f3d Lint space. 2017-11-09 22:47:23 +00:00
Richard Lewis
63f520b5ee Fix app tile margins. 2017-11-09 22:45:35 +00:00
Luke Barnard
a0b0b6f053 Merge pull request #5549 from vector-im/rxl881/roomTopic
Fix wrapping of long room topics (and overlap with apps)
2017-11-09 17:40:55 +00:00
Luke Barnard
88cd46bfcf Merge pull request #5555 from vector-im/rxl881/widgetrendering
Don't display widget iframes whilst loading.
2017-11-09 17:36:56 +00:00
Luke Barnard
7094df900a Merge pull request #5558 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-11-09 17:01:21 +00:00
Peter Vágner
1f524f3085 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/
2017-11-09 16:49:31 +00:00
bldrzzy
405504dca4 Translated using Weblate (Polish)
Currently translated at 98.6% (214 of 217 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-11-09 16:49:31 +00:00
Marek Suchánek
2bb13fba7e Translated using Weblate (Czech)
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/cs/
2017-11-09 15:53:39 +00:00
Richard Lewis
d45940f204 Don't display widget iframes whilst loading. 2017-11-09 10:02:00 +00:00
Xose M
81b085fbb8 Translated using Weblate (Galician)
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/gl/
2017-11-09 06:21:33 +00:00
Jeff Huang
910a5f7e6c Translated using Weblate (Chinese (Traditional))
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_Hant/
2017-11-08 22:56:35 +00:00
Richard Lewis
092ec1cc6c Prevent long topics from overflowing fixed height header. 2017-11-08 20:03:35 +00:00
Richard Lewis
106430f7b6 Move margin to AppTile elements so that it is only present with app tiles.
Comment unused classes.
2017-11-08 19:48:53 +00:00
Richard Lewis
76570a0f14 Make long topics overflow in to a second, hidden column. 2017-11-08 17:02:17 +00:00
Richard Lewis
e7fbad2236 Increase height to avoid content from overflowing (mx_RoomHeader_name.height + mx_RoomHeader_topic.max-height) 2017-11-08 16:44:45 +00:00
Matthew Hodgson
2fa1f16284 use new theme-aware tinter api 2017-11-08 06:55:30 -08:00
Matthew Hodgson
d4128af224 Merge remote-tracking branch 'origin/develop' into matthew/status 2017-11-08 04:29:44 -08:00
Peter Vágner
e90419e40d 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/
2017-11-08 12:11:57 +00:00
Peter Vágner
16991a8f68 Added translation using Weblate (Slovak) 2017-11-08 12:10:20 +00:00
Weblate
b788e759da Merge remote-tracking branch 'origin/develop' into develop 2017-11-08 10:24:01 +00:00
Luke Barnard
3ee45b21b8 Merge pull request #5543 from vector-im/luke/groups-inviter-profile
Adjust CSS for GroupView
2017-11-08 10:23:57 +00:00
Weblate
8af90b052b Merge remote-tracking branch 'origin/develop' into develop 2017-11-08 10:04:44 +00:00
Luke Barnard
60de1dbffb Merge pull request #5546 from vector-im/luke/groups-add-rooms-with-visibility
CSS for adding rooms to a group with visibility
2017-11-08 10:04:38 +00:00
Weblate
38b5b27aa9 Merge remote-tracking branch 'origin/develop' into develop 2017-11-07 18:52:43 +00:00
Matthew Hodgson
c7dba61d92 Merge pull request #5511 from turt2live/travis/more-pinned-css
CSS for pinned indicators
2017-11-07 18:52:39 +00:00
Luke Barnard
26d9677bbe CSS for adding rooms to a group with visibility
Also, make chat invite error looks slightly more normal
2017-11-07 18:49:28 +00:00
Travis Ralston
beddf3a2cb Get rid of accidental merge stuff
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-07 11:05:29 -07:00
Travis Ralston
144cbd144e Merge branch 'develop' into travis/more-pinned-css 2017-11-07 11:04:22 -07:00
Luke Barnard
1bdc666197 Adjust CSS for GroupView
Part of showing the group inviter profile: https://github.com/matrix-org/matrix-react-sdk/pull/1585
2017-11-07 16:43:02 +00:00
Weblate
a72cc77e24 Merge remote-tracking branch 'origin/develop' into develop 2017-11-07 15:54:51 +00:00
Krombel
4c22f9a549 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/
2017-11-07 15:54:50 +00:00
Luke Barnard
f280fe3c66 Merge pull request #5540 from vector-im/luke/group-rooms-tooltip
Implement general-purpose tooltip "(?)"-style
2017-11-07 15:54:46 +00:00
Luke Barnard
4c0e956cc1 Name things in a sane way 2017-11-07 15:13:17 +00:00
Luke Barnard
e1d16acddb Implement general-purpose tooltip "(?)"-style 2017-11-07 14:09:04 +00:00
Krombel
a45ae588e5 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/
2017-11-07 13:34:54 +00:00
Weblate
c8edaf1ba9 Merge remote-tracking branch 'origin/develop' into develop 2017-11-07 10:44:07 +00:00
Matthew Hodgson
9ff1fe8a72 Merge pull request #5535 from vector-im/luke/groups-new-group-settings
CSS for improving group creation UX, namely setting long description
2017-11-07 10:43:59 +00:00
Luke Barnard
aa4feb0563 Info plinth CSS variables 2017-11-06 18:57:08 +00:00
Luke Barnard
d87d6cbc64 CSS for improving group creation UX, namely setting long description 2017-11-06 18:38:47 +00:00
Weblate
3633f55e20 Merge remote-tracking branch 'origin/develop' into develop 2017-11-06 15:49:46 +00:00
Luke Barnard
a8bdde9f55 Merge pull request #5531 from vector-im/dbkr/composer_at_room_pills
CSS for room notif pills in composer
2017-11-06 15:49:41 +00:00
David Baker
e1eba559fe CSS for room notif pills in composer 2017-11-06 15:12:28 +00:00
Weblate
01401fe4f8 Merge remote-tracking branch 'origin/develop' into develop 2017-11-06 14:10:32 +00:00
Walter
ba1ab9bdd1 Translated using Weblate (Ukrainian)
Currently translated at 99.5% (216 of 217 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-11-06 14:10:32 +00:00
Bamstam
25782404d4 Translated using Weblate (German)
Currently translated at 98.6% (214 of 217 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-11-06 14:10:32 +00:00
David Baker
a1512af9f9 Merge pull request #5520 from vector-im/luke/right-panel-no-group
Do not init a group store when no groupId specified
2017-11-06 14:10:27 +00:00
Luke Barnard
cd26f63315 Do not init a group store when no groupId specified
(in RightPanel), otherwise the store will happily send requests to the server for the `undefined` group.
2017-11-06 10:16:03 +00:00
Szimszon
68bb61d281 Translated using Weblate (Hungarian)
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/hu/
2017-11-05 18:49:35 +00:00
Travis Ralston
63607f29e7 Use SettingsStore for notification settings
Signed-off-by: Travis Ralstron <travpc@gmail.com>
2017-11-04 22:27:34 -07:00
Matthew Hodgson
d14285eb08 fix secondary accent color tinting 2017-11-05 02:20:12 +00:00
Matthew Hodgson
555847e5e9 make default theme actually work 2017-11-05 00:40:13 +00:00
Matthew Hodgson
816042d3a8 Merge branch 'develop' into matthew/status 2017-11-04 23:51:20 +00:00
Matthew Hodgson
9a0bbfb871 tint the colours in the theme rather than hardcode vector green 2017-11-04 23:43:34 +00:00
Matthew Hodgson
adedf23cfb remove unnamespaced CSS fail 2017-11-04 22:19:06 +00:00
Andrey
b4b4fefffb Translated using Weblate (Russian)
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/ru/
2017-11-04 08:11:22 +00:00
Kévin C
2b49b68ba5 Translated using Weblate (French)
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/fr/
2017-11-04 07:26:28 +00:00
Travis Ralston
69939e2fe3 Merge branch 'develop' into travis/granular 2017-11-03 21:56:46 -06:00
Travis Ralston
5a1498dec3 CSS for pinned indicators
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-03 20:01:54 -06:00
Weblate
441aa91831 Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 23:10:35 +00:00
Matthew Hodgson
31c5122fa6 Merge pull request #5293 from turt2live/travis/pinned-led-css
CSS for new pinned events indicator
2017-11-03 23:10:31 +00:00
Weblate
f290569487 Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 23:10:05 +00:00
Matthew Hodgson
c0b343c89f Merge pull request #5471 from vector-im/t3chguy/devtools-1
T3chguy/devtools 1
2017-11-03 23:10:00 +00:00
Weblate
a42414eabd Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 22:44:46 +00:00
Matthew Hodgson
c90834114b Merge pull request #5498 from vector-im/luke/css-use-margin-in-room-dir-perms
Use margin to separate "perms" in the room directory
2017-11-03 22:44:41 +00:00
Weblate
038b3ed1eb Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 16:14:59 +00:00
Luke Barnard
5d9a1b42a6 Merge pull request #5505 from vector-im/luke/groups-add-style-to-create-group-dialog
Add CSS for CreateGroupDialog to give group ID input suffix and prefix style
2017-11-03 16:14:54 +00:00
Luke Barnard
290a501523 Use prefixed class names to avoid collisions with other libraries 2017-11-03 16:02:25 +00:00
Luke Barnard
67bc346ebb Add CSS for CreateGroupDialog to give group ID input suffix and prefix style 2017-11-03 15:39:24 +00:00
Matthew Hodgson
923295973b Merge branch 'develop' into matthew/status 2017-11-03 15:11:23 +00:00
Weblate
8518e2b056 Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 14:40:10 +00:00
Luke Barnard
04c866ce9c Fix #5359 - unbreakable topics not breaking
The room directory CSS has `word-break: break-word` applied to the entire mx_RoomDirectory, which is questionable. For now, add the same rule to RoomDetailList
2017-11-03 14:39:24 +00:00
Weblate
f59ea648f0 Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 14:11:16 +00:00
Luke Barnard
3192c345be rethemedex
Needed, having removed _GroupInviteTile.scss
2017-11-03 14:11:07 +00:00
Weblate
6432792d86 Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 13:54:01 +00:00
Luke Barnard
22b82182a7 Merge pull request #5504 from vector-im/luke/fix-groups-invites-appearance
Fix group invites such that they look similar to room invites
2017-11-03 13:53:56 +00:00
Luke Barnard
c60ff5d283 Fix group invites such that they look similar to room invites
- Remove CSS for GroupInviteTile - the component should be using RoomTile CSS
 - Added extra tiles to roomCount of RoomSubList header

Part of fixing https://github.com/vector-im/riot-web/issues/5226
2017-11-03 12:17:49 +00:00
Weblate
a3d15e05b1 Merge remote-tracking branch 'origin/develop' into develop 2017-11-03 12:03:16 +00:00
Luke Barnard
2c4c6e82bb Merge pull request #5501 from vector-im/luke/groups-fix-my-groups-layout
CSS for Your Communities scrollbar
2017-11-03 12:03:10 +00:00
Luke Barnard
4d11e739b5 Comment 0px height and margin on joinBox 2017-11-03 11:42:06 +00:00
Luke Barnard
f6974407e3 CSS for Your Communities scrollbar
and also attempt to fix GroupTile flex weirdness.
2017-11-03 11:22:29 +00:00
Weblate
61287b5f08 Merge remote-tracking branch 'origin/develop' into develop 2017-11-02 15:37:58 +00:00
David Baker
69a82f7859 Merge pull request #5497 from vector-im/luke/groups-room-info
Add toggle to alter visibility of room-group association
2017-11-02 15:37:52 +00:00
Luke Barnard
ee71c72685 Use margin to separate "perms" in the room directory
instead of a space.
2017-11-02 15:13:55 +00:00
Luke Barnard
06ce467876 Add CSS for group room visibility label alignment 2017-11-02 15:05:08 +00:00
Luke Barnard
c01ea56676 Add toggle to alter visibility of room-group association 2017-11-02 13:40:07 +00:00
Weblate
ac89b5dc5e Merge remote-tracking branch 'origin/develop' into develop 2017-11-02 12:53:34 +00:00
Luke Barnard
fb8e41a9c1 Merge pull request #5494 from vector-im/dbkr/pillify_at_room
CSS for room notification pills
2017-11-02 12:53:29 +00:00
Weblate
7ab3be0a11 Merge remote-tracking branch 'origin/develop' into develop 2017-11-02 11:07:06 +00:00
David Baker
2e8f960ee3 Merge pull request #5493 from vector-im/luke/groups-room-info
Implement simple GroupRoomInfo
2017-11-02 11:07:00 +00:00
David Baker
65ea7a8460 Use more spercific selector instead of !important 2017-11-02 10:37:25 +00:00
Kévin C
819122c111 Translated using Weblate (French)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-11-01 20:04:22 +00:00
David Baker
cd84d86fd1 CSS for room notification pills 2017-11-01 19:45:59 +00:00
Luke Barnard
2163a54617 Implement simple GroupRoomInfo
See matrix-org/matrix-react-sdk#1563
2017-11-01 17:32:01 +00:00
Matthew Hodgson
8ef3811f28 Merge branch 'develop' into matthew/status 2017-11-01 15:25:50 +00:00
Matthew Hodgson
8f289519e1 fix chevron cosmetics 2017-11-01 15:25:23 +00:00
Matthew Hodgson
df58bdd529 use absolute url for og:image 2017-10-31 22:56:57 +00:00
Matthew Hodgson
1b7e42f5e8 add og:image 2017-10-31 22:45:19 +00:00
Weblate
62d249442e Merge remote-tracking branch 'origin/develop' into develop 2017-10-31 18:02:38 +00:00
Kévin C
007ff8d177 Translated using Weblate (French)
Currently translated at 96.2% (207 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-10-31 18:02:37 +00:00
Richard Lewis
56c6a15ddf Merge pull request #5458 from vector-im/rxl881/widgetTitleBorder
Add back bottom border to widget title bar
2017-10-31 18:02:32 +00:00
Richard Lewis
04d1a72307 Undo comitted changes to package-lock.json 2017-10-31 18:02:04 +00:00
Weblate
ea785aa888 Merge remote-tracking branch 'origin/develop' into develop 2017-10-31 13:52:25 +00:00
David Baker
841503f907 Merge pull request #5478 from vector-im/luke/css-header-name-clickable-for-members
Prevent group name looking clickable for non-members
2017-10-31 13:52:19 +00:00
Luke Barnard
ba1ad84d59 Prevent group name looking clickable for non-members 2017-10-31 10:56:14 +00:00
Weblate
1ffa7ae906 Merge remote-tracking branch 'origin/develop' into develop 2017-10-31 10:29:24 +00:00
Walter
2d69595beb Translated using Weblate (Ukrainian)
Currently translated at 99.5% (214 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-10-31 10:29:24 +00:00
Enrico Bacis
cd6a3d2293 Translated using Weblate (Italian)
Currently translated at 96.7% (208 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-10-31 10:29:23 +00:00
Bamstam
d86841c1c8 Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-31 10:29:23 +00:00
grrgui
58b9b04e35 Translated using Weblate (French)
Currently translated at 96.2% (207 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-10-31 10:29:23 +00:00
Jan Kudrik
71fc072301 Translated using Weblate (Czech)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-10-31 10:29:22 +00:00
Luke Barnard
07a17829ea Merge pull request #5472 from vector-im/t3chguy/fix_typecheck_warn
Fix instanceof check, was checking against the Package rather than class
2017-10-31 10:29:18 +00:00
Michael Telatynski
c39044f397 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/fix_typecheck_warn 2017-10-30 15:27:20 +00:00
Michael Telatynski
71c8dca91a Fix instanceof check, was checking against the Package rather than class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-30 15:12:03 +00:00
Michael Telatynski
6da2f88dc5 Devtools styling tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-30 13:32:31 +00:00
Michael Telatynski
ea9b630082 Refactor and add Account Data stuffs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-30 12:44:50 +00:00
Travis Ralston
f1c81be633 Import the right SettingsStore
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 22:18:34 -06:00
Travis Ralston
ccf52b2a69 Convert local settings to granular settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 17:05:27 -06:00
Travis Ralston
f6177cd7b5 Use granular settings instead of synced settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:51:02 -06:00
Matthew Hodgson
5d3caf8157 tweak badges 2017-10-27 23:45:10 +01:00
Matthew Hodgson
b87fad991f get rid of hardcoded colour >:( 2017-10-27 22:47:51 +01:00
Richard Lewis
19320c37df Add back bottom border to widget title bar 2017-10-27 19:57:05 +01:00
David Baker
5063fef4f5 Redirect to instructions page if user on mobile 2017-10-27 19:08:35 +01:00
David Baker
b9e2b59504 Merge remote-tracking branch 'origin/develop' into matthew/status 2017-10-27 19:01:34 +01:00
Weblate
159343dd23 Merge remote-tracking branch 'origin/develop' into develop 2017-10-27 15:10:38 +00:00
Luke Barnard
c74e6c3c0c Merge pull request #5455 from vector-im/luke/groups-fix-invite-button
Use correct group store state when rendering "Invite to this community"
2017-10-27 16:10:33 +01:00
Weblate
4c7d07c109 Merge remote-tracking branch 'origin/develop' into develop 2017-10-27 14:40:14 +00:00
Krombel
c971aab453 Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-27 14:40:14 +00:00
Luke Barnard
3dcc397f67 Fix AuxPanel floating in the middle
When there is no RoomView_body to push it to the top of the flex container
2017-10-27 15:40:03 +01:00
Debendra Oli
0a81419978 Added translation using Weblate (Nepali) 2017-10-27 14:00:39 +00:00
Luke Barnard
7bae7fe9e5 Use correct group store state when rendering "Invite to this community"
This required slight rework of how RightPanel uses the group store, and now it knows an unfortunate amount about the group store. Food for thought on stores in general, I think.
2017-10-27 14:33:28 +01:00
Matthew Hodgson
8ad9728bef css for HS userid warnings 2017-10-27 14:23:33 +01:00
Matthew Hodgson
d4696345d1 fix more visited state of links 2017-10-27 12:17:04 +01:00
Matthew Hodgson
7e9b63822b fix visited state of links 2017-10-27 11:12:03 +01:00
Matthew Hodgson
ce2d40b775 more tweaks from Denis 2017-10-27 10:47:15 +01:00
Weblate
52ae5ba5dc Merge remote-tracking branch 'origin/develop' into develop 2017-10-27 08:15:28 +00:00
Jan Kudrik
de3a384513 Translated using Weblate (Czech)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-10-27 08:15:27 +00:00
Matthew Hodgson
3df1808fd0 Merge pull request #5453 from VickyKoblinski/es6-notifications
Leverages ES6 in Notifications
2017-10-27 09:15:22 +01:00
Vicky Koblinski
d188fdb9fe Changes requires to imports for consistancy, removes 'use strict' 2017-10-26 21:23:16 -04:00
Vicky Koblinski
7588814ec5 Leverages ES6 and fixes typo 2017-10-26 20:37:15 -04:00
Matthew Hodgson
c26aaa8d01 revert previous & fix font size 2017-10-27 01:35:06 +01:00
Matthew Hodgson
ca0092469b tweak spacing for login 2017-10-27 01:31:14 +01:00
Matthew Hodgson
3ffebfbf0b fix spacing of login aux buttons 2017-10-27 01:24:11 +01:00
Matthew Hodgson
b65ee5f28e tg hoverover 2017-10-27 01:09:46 +01:00
Matthew Hodgson
1798bff8f5 cosmetic fixes & hoverovers 2017-10-27 01:02:43 +01:00
Matthew Hodgson
26d142f893 fix snafu on login submit button 2017-10-27 00:14:12 +01:00
Matthew Hodgson
468f8ccab8 dirty hack to make FF work 2017-10-27 00:02:52 +01:00
Matthew Hodgson
50b348c68e try for slightly prettier redaction 2017-10-26 18:59:05 +01:00
Matthew Hodgson
ca74b09867 fix fugly noperm error 2017-10-26 18:27:34 +01:00
Matthew Hodgson
b9cf2c6b6c remove 'return to app' test 2017-10-26 18:08:42 +01:00
Matthew Hodgson
ad9d78684e tweak emptySubListTip visuals 2017-10-26 18:08:36 +01:00
Matthew Hodgson
e5b1ded7e3 fix default colour of loginbox text 2017-10-26 17:31:36 +01:00
Matthew Hodgson
a8f2980dcc coc 2017-10-26 17:25:23 +01:00
Matthew Hodgson
8f0f34e761 fix buttons in other skins 2017-10-26 14:42:52 +01:00
Weblate
ffd526af1a Merge remote-tracking branch 'origin/develop' into develop 2017-10-26 08:55:24 +00:00
Andrey
0453b1c422 Translated using Weblate (Russian)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-10-26 08:55:23 +00:00
Jan Kudrik
15466f02ed Translated using Weblate (Czech)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-10-26 08:55:22 +00:00
Luke Barnard
507cef3ba4 Merge pull request #5437 from vector-im/luke/feature-optionally-mirror-local-video
Re-PR #4412
2017-10-26 09:55:17 +01:00
David Baker
ebbb677f2c Update telegram link 2017-10-26 09:53:05 +01:00
Matthew Hodgson
13c1829cd4 fix droptarget 2017-10-26 02:09:56 +01:00
Matthew Hodgson
6212e805d2 spell out fonts 2017-10-26 01:52:57 +01:00
Matthew Hodgson
225c7ee621 Merge branch 'develop' into matthew/status 2017-10-26 01:46:06 +01:00
Matthew Hodgson
f86b616769 status homepage 2017-10-26 01:38:07 +01:00
Matthew Hodgson
ea19096db3 skin all the buttons 2017-10-25 23:56:31 +01:00
Matthew Hodgson
a152eba023 fix panel-divider-color 2017-10-25 22:55:32 +01:00
Matthew Hodgson
953398b486 statusify main chat 2017-10-25 22:48:13 +01:00
Matthew Hodgson
79a9f2168b get rid of hardcoded font 2017-10-25 22:47:55 +01:00
Travis Ralston
6c796cd311 Re-add i18n post-merge
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-25 11:28:57 -06:00
Travis Ralston
45ca890f68 Merge remote-tracking branch 'vector-im/develop' into travis/presence 2017-10-25 11:27:22 -06:00
Travis Ralston
53185fc23d Remove i18n for making the merge easier
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-25 11:27:16 -06:00
Luke Barnard
044519f9ea Add more specific css class to allow for optional flipping 2017-10-25 18:18:37 +01:00
Luke Barnard
5db44bd4ae Merge branch 'develop' into TheLastProject-reverse-video 2017-10-25 18:06:16 +01:00
Weblate
007177b7ba Merge remote-tracking branch 'origin/develop' into develop 2017-10-25 15:54:00 +00:00
Luke Barnard
bc3df74c2f Merge pull request #5410 from lub/patch-1
fix comma error of features example
2017-10-25 16:53:55 +01:00
Weblate
3fc0c455fa Merge remote-tracking branch 'origin/develop' into develop 2017-10-25 15:52:03 +00:00
Bamstam
4a8729dd1d Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-25 15:52:02 +00:00
Luke Barnard
f6a920a018 Merge pull request #5387 from vector-im/t3chguy/devtools-filter-case-sens
Devtools: make filtering case-insensitive
2017-10-25 16:51:57 +01:00
Weblate
7e7acb6922 Merge remote-tracking branch 'origin/develop' into develop 2017-10-25 14:41:14 +00:00
Luke Barnard
a627784c41 Merge pull request #5432 from vector-im/luke/fix-group-members-info-icon-highlight
Highlight group members icon in group member info
2017-10-25 15:41:09 +01:00
Weblate
fcfec1694e Merge remote-tracking branch 'origin/develop' into develop 2017-10-25 14:30:43 +00:00
Bamstam
a3b82bcd3d Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-25 14:30:43 +00:00
Luke Barnard
7c7ae3a31f Merge pull request #5422 from vector-im/luke/fix-interactable-greyed-ui
Use CSS to stop greyed Right/LeftPanel UI from being interactable
2017-10-25 15:30:38 +01:00
Luke Barnard
cd0888ce5a Highlight group members icon in group member info 2017-10-25 15:27:50 +01:00
Luke Barnard
9679051269 Introduce mx_RoomView_body for fadable things in the RoomView
Part of simplifying use of mx_fadable
2017-10-25 15:16:28 +01:00
Luke Barnard
0561c5bd4f Swap ui_opacity for panel_disabled
Simplify the API for disabling panels in the UI. `mx_fadable_faded` is applied instead of setting opacity.
2017-10-25 10:29:57 +01:00
Matthew Hodgson
9d86716b0f remove non-overridden stuff, and add dot svg 2017-10-25 02:26:53 +01:00
Matthew Hodgson
eedcda1d0e add dotty background 2017-10-25 02:18:04 +01:00
Matthew Hodgson
29cfbba2ce tweak error layout 2017-10-25 02:04:17 +01:00
Matthew Hodgson
73e7fe2764 finishish login page 2017-10-25 01:30:39 +01:00
Matthew Hodgson
b053f08991 switch to a LoginPage wrapper component
>
> as it's much nicer in the CSS to wrap the LoginBox as needed rather than have separate header & footer divs floating above and below it which need to be correctly vertically centered
2017-10-24 23:42:52 +01:00
Ruben Barkow
313f4f03b7 Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-24 22:18:57 +00:00
Weblate
3bff844a62 Merge remote-tracking branch 'origin/develop' into develop 2017-10-24 16:48:15 +00:00
Luke Barnard
a747a78e06 CSS to allow multi-line "Add rooms to this community" 2017-10-24 17:48:06 +01:00
Luke Barnard
bd15a88c89 Use CSS to stop greyed Right/LeftPanel UI from being interactable 2017-10-24 17:10:29 +01:00
Weblate
e2b80e9e80 Merge remote-tracking branch 'origin/develop' into develop 2017-10-24 16:01:07 +00:00
Luke Barnard
858e1fa341 Fix #5361
Make it possible to click on the camera icon under group icon
2017-10-24 17:00:57 +01:00
Weblate
a58ea58380 Merge remote-tracking branch 'origin/develop' into develop 2017-10-24 14:51:12 +00:00
Balaji
e2924d30df Translated using Weblate (Tamil)
Currently translated at 78.6% (169 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-10-24 14:51:12 +00:00
David Baker
f258b3253f Merge pull request #5417 from vector-im/luke/groups-settings-privileged-only
CSS for preventing editing of UI requiring user privilege if user unprivileged
2017-10-24 15:51:07 +01:00
Luke Barnard
01d6577abd CSS for preventing editing of UI requiring user privilege if user unprivileged 2017-10-24 15:27:11 +01:00
Weblate
43f1951f37 Merge remote-tracking branch 'origin/develop' into develop 2017-10-24 10:19:34 +00:00
Luke Barnard
1704a2fb9c Merge pull request #5409 from vector-im/luke/fix-privileged-group-ui-1
Only show UI for adding rooms/users to groups to privileged users
2017-10-24 11:19:30 +01:00
Luke Barnard
6a0ecfba7f Merge branch 'develop' into luke/fix-privileged-group-ui-1 2017-10-24 11:09:05 +01:00
Weblate
6e5ae0c664 Merge remote-tracking branch 'origin/develop' into develop 2017-10-24 10:03:49 +00:00
David Baker
ff5fbd4863 Merge pull request #5407 from vector-im/luke/fix-invite-to-community
Only show "Invite to this community" when viewing group members
2017-10-24 11:03:44 +01:00
lub
b5629ac3e6 fix comma error of features example
Signed-off-by: Simon Körner <github@lubiland.de>
2017-10-24 11:43:15 +02:00
Luke Barnard
f1a700ef99 Only show UI for adding rooms/users to groups to privileged users 2017-10-24 10:38:40 +01:00
Luke Barnard
cc1fb8ac94 Only show "Invite to this community" when viewing group members 2017-10-24 10:22:13 +01:00
Weblate
d91c652590 Merge remote-tracking branch 'origin/develop' into develop 2017-10-23 16:11:26 +00:00
Richard Lewis
8672939f0c Merge pull request #5397 from vector-im/rxl881/deleteWidget
Add trash can icon for delete widget
2017-10-23 17:11:21 +01:00
Richard Lewis
c8f89fbc9b Added delete widget icon. 2017-10-23 17:07:25 +01:00
Jan Kudrik
61e06d8cf3 Translated using Weblate (Czech)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-10-23 15:38:52 +00:00
Weblate
e05ec68a61 Merge remote-tracking branch 'origin/develop' into develop 2017-10-23 13:55:46 +00:00
Matthew Hodgson
c7d18ff52e improve flair cosmetics 2017-10-23 14:55:36 +01:00
Matthew Hodgson
508a850dec add features example to config.sample.json 2017-10-23 14:54:38 +01:00
Weblate
ec12b8ee93 Merge remote-tracking branch 'origin/develop' into develop 2017-10-23 13:46:36 +00:00
Luke Barnard
0e20b20fb2 Fix CSS for room avatar "remove" icon 2017-10-23 14:46:28 +01:00
Weblate
052c00bd86 Merge remote-tracking branch 'origin/develop' into develop 2017-10-23 13:08:14 +00:00
Bamstam
146a75f7e7 Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-23 13:08:13 +00:00
Luke Barnard
d9fa11d03a Fix MyGroups placeholder colours on dark theme 2017-10-23 14:08:02 +01:00
Michael Telatynski
b16d4280b7 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-23 11:42:06 +01:00
Michael Telatynski
eb45b00b32 fix bad tab completion
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-23 11:40:25 +01:00
Michael Telatynski
84d1f838f0 make filtering case-insensitive
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-23 11:39:21 +01:00
Jeff Huang
16cd69f7dd Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-10-23 01:09:22 +00:00
Matthew Hodgson
190811ac1c WIP 2017-10-23 00:57:02 +01:00
Matthew Hodgson
01b3d6128c move status theme into a dedicated dir, and make fonts work 2017-10-22 17:03:39 +01:00
Matthew Hodgson
b28192cc0b fix (C) 2017-10-22 15:21:58 +01:00
Andrey
9d56f7e214 Translated using Weblate (Russian)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-10-20 19:35:53 +00:00
Matthew Hodgson
cd31e6532b initial wip theme 2017-10-20 18:43:06 +01:00
Matthew Hodgson
6fa2d35630 support concept of default theme 2017-10-20 18:41:39 +01:00
Weblate
5898a972a8 Merge remote-tracking branch 'origin/develop' into develop 2017-10-20 17:16:37 +00:00
Luke Barnard
14b5006645 Merge pull request #5375 from vector-im/luke/groups-my-groups-placeholder
CSS to improve MyGroups in general, and add placeholder
2017-10-20 18:16:33 +01:00
Luke Barnard
94454333d5 CSS to improve MyGroups in general, and add placeholder 2017-10-20 17:38:38 +01:00
Weblate
b33998c1f9 Merge remote-tracking branch 'origin/develop' into develop 2017-10-20 16:11:26 +00:00
Richard Lewis
63bcca1c7d Merge pull request #4881 from vector-im/rxl881/parallelshell
Rxl881/parallelshell
2017-10-20 17:11:20 +01:00
Krombel
060b5d100f Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-20 15:35:27 +00:00
Szimszon
3e435e4581 Translated using Weblate (Hungarian)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-10-20 13:51:09 +00:00
Weblate
95b5bcc6b0 Merge remote-tracking branch 'origin/develop' into develop 2017-10-20 13:03:53 +00:00
Krombel
25a7fb07a3 Translated using Weblate (German)
Currently translated at 99.5% (214 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-20 13:03:52 +00:00
David Baker
b72d35e0df Merge pull request #5371 from vector-im/dbkr/fix_custom_server_text
Custom server text was i18ned by key
2017-10-20 14:03:48 +01:00
David Baker
667556f3ce Custom server text was i18ned by key
And therefore got replaced by the key by the i18n script
2017-10-20 13:48:00 +01:00
Luke Barnard
483762cc35 Merge pull request #5370 from vector-im/dbkr/prunei18n_oct17
Run prunei18n
2017-10-20 11:56:48 +01:00
David Baker
a76fdc750a Run prunei18n 2017-10-20 11:40:05 +01:00
David Baker
1f9b5b25cb Merge pull request #5369 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-10-20 11:31:51 +01:00
Weblate
0e3fbb6770 Merge branch 'develop' of https://github.com/vector-im/riot-web into develop
Conflicts:
	src/i18n/strings/de_DE.json
	src/i18n/strings/hu.json
	src/i18n/strings/ru.json
	src/i18n/strings/zh_Hant.json
2017-10-20 10:29:12 +00:00
Luke Barnard
cc0a6d5c94 Merge pull request #5339 from vector-im/dbkr/prunei18n
Add script to prune unused translations
2017-10-20 11:21:57 +01:00
Richard Lewis
449af3c2e1 Update deps. 2017-10-20 10:27:59 +01:00
Richard Lewis
528a856d54 Add class to identify non-scalar widget instances 2017-10-20 09:46:45 +01:00
Richard Lewis
b2288e6525 Fix deps. 2017-10-20 09:45:29 +01:00
Luke Barnard
c6f75fbf37 Adjust CSS in MyGroups, justify-content:space-around 2017-10-19 18:08:52 +01:00
Szimszon
7369719492 Translated using Weblate (Hungarian)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-10-19 16:41:38 +00:00
Luke Barnard
62fd98245d Merge pull request #5360 from vector-im/luke/groups-my-groups
CSS for improved MyGroups page
2017-10-19 17:41:34 +01:00
Luke Barnard
8317bcbb9f CSS for improved MyGroups page 2017-10-19 17:27:21 +01:00
David Baker
b2e9b36978 Merge pull request #5346 from vector-im/dbkr/dialog_pad_right
Add padding-right to Dialogs
2017-10-19 16:19:40 +01:00
David Baker
ea459c84ba Other dialog subclasses have padding-right 2017-10-19 15:48:56 +01:00
David Baker
86226bc22d Add padding-right to Dialogs
The "groups will be public" warning was apparently the first thing
long enough to reach the right hand edge
2017-10-19 15:32:28 +01:00
Luke Barnard
289743c5fe Merge pull request #5344 from vector-im/dbkr/error_warning_color
Add div.warning and use the scss var
2017-10-19 15:31:03 +01:00
Luke Barnard
acb678afbd Merge pull request #5343 from vector-im/luke/groups-are-communities
Groups->Communities
2017-10-19 15:30:39 +01:00
David Baker
42ca840fef Add div.warning and use the scss var
rather than the css color name
2017-10-19 15:17:09 +01:00
David Baker
fc87fd2bb4 Merge pull request #5342 from vector-im/dbkr/add_rooms_button_no_swallow_clicks
Make the 'add rooms' button clickable
2017-10-19 15:07:52 +01:00
Luke Barnard
e5df06b2ab Groups->Communities 2017-10-19 15:07:22 +01:00
David Baker
9d8b59e082 Make the 'add rooms' button clickable
SVG was swallowing pointer events
2017-10-19 14:54:56 +01:00
Bamstam
7395d866f6 Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-19 13:40:12 +00:00
Matthew Hodgson
c4de42c6af switch back to tint-friendly luke room icons 2017-10-19 15:40:00 +02:00
David Baker
00f902cab1 Add script to prune unused translations 2017-10-19 12:11:53 +01:00
Luke Barnard
ae9263fa59 Merge pull request #5338 from vector-im/dbkr/i18n_script
Switch to gen-i18n script
2017-10-19 11:25:40 +01:00
David Baker
f712804018 Add note about it apparently segfaulting on node 6 2017-10-19 11:13:42 +01:00
David Baker
4e31aea402 Switch to gen-i18n script 2017-10-19 10:53:02 +01:00
Richard Lewis
568cd0aac6 Update parallelshell to ^3.02 2017-10-19 10:12:00 +01:00
Richard Lewis
ae3229b40c Add package-lock.json to VC 2017-10-19 10:11:33 +01:00
Krombel
987072b25a Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-19 09:08:54 +00:00
David Baker
6910b83c20 Merge pull request #5334 from vector-im/dbkr/use_t_normally
Use _t as _t
2017-10-19 10:08:51 +01:00
David Baker
42ddafcfd4 comment 2017-10-19 10:03:47 +01:00
Luke Barnard
4711356c3f Merge pull request #5330 from vector-im/matthew/cosmetics
fix groupview header editing visuals (pt 1)
2017-10-19 09:20:46 +01:00
David Baker
137cf32d3b Use _t as _t
Rather than through a languageHandler object. This way our
translation script knows about it.
2017-10-18 19:39:51 +01:00
Matthew Hodgson
7bb0ed4a66 fix room add icon 2017-10-18 19:56:39 +02:00
Matthew Hodgson
6b589c4945 fix room icon up 2017-10-18 19:40:31 +02:00
Matthew Hodgson
fe490341d0 replace placeholder groups icon with a themable one 2017-10-18 19:28:19 +02:00
Matthew Hodgson
6e24f4ba09 fix editing visuals 2017-10-18 17:31:46 +01:00
Travis Ralston
f3b1c6cc5b Add newlines to end of file
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-18 08:50:34 -06:00
Luke Barnard
e5c128fcb8 Move group ui buttons to group settings 2017-10-18 13:47:59 +01:00
Luke Barnard
7c399974ce Merge pull request #5316 from vector-im/t3chguy/bump_eslint_plugin
bump version to prevent eslint errors
2017-10-17 17:16:54 +02:00
Michael Telatynski
6ccacfee46 bump version to prevent eslint errors
got bumped in react-sdk, missed here

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-17 14:44:41 +01:00
Luke Barnard
2effdfb840 CSS: GroupView headershould be at least 70px in height 2017-10-17 11:56:51 +01:00
Szimszon
55b14d5d5d Translated using Weblate (Hungarian)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-10-16 20:19:05 +00:00
Luke Barnard
f24fd61ae0 Merge pull request #5303 from vector-im/luke/groups-invited-users
CSS for invited group members section
2017-10-16 18:32:56 +02:00
Luke Barnard
85307ffd23 CSS for invited group members section 2017-10-16 17:21:40 +01:00
David Baker
e85f205e8f Merge pull request #5302 from vector-im/luke/fix-overflow-entity-tile
Handle long names in EntityTiles by overflowing correctly
2017-10-16 16:42:44 +01:00
Luke Barnard
fdf07f6d89 Handle long names in EntityTiles by overflowing correctly 2017-10-16 16:32:09 +01:00
Luke Barnard
027b751bbc Merge pull request #5296 from vector-im/dbkr/electron_disable_labs
Disable labs in electron
2017-10-16 16:36:06 +02:00
David Baker
8716f93a6d Disable labs in electron
as we now disable labs in release Riot
2017-10-16 15:22:17 +01:00
David Baker
2401f21336 Merge branch 'master' into develop 2017-10-16 15:00:55 +01:00
David Baker
bf56a00d60 v0.12.7 2017-10-16 14:56:52 +01:00
David Baker
66de8756b7 Prepare changelog for v0.12.7 2017-10-16 14:56:52 +01:00
David Baker
2ca0d6621c v0.12.7 2017-10-16 14:55:33 +01:00
David Baker
bfae8e98a1 Released js-sdk & react-sdk 2017-10-16 14:52:00 +01:00
Luke Barnard
102651332a Merge pull request #5295 from vector-im/luke/groups-room-directory-esque
CSS for Modifying GroupView UI matrix-org/matrix-react-sdk#1475
2017-10-16 13:52:38 +02:00
Luke Barnard
12ebe91f83 "Add room..." -> "Add rooms..." 2017-10-16 11:53:35 +01:00
Luke Barnard
0807a2a26d rethemendex.sh 2017-10-16 11:47:34 +01:00
Luke Barnard
2cefa58d5d CSS for Modifying GroupView UI matrix-org/matrix-react-sdk#1475 2017-10-16 11:44:38 +01:00
Travis Ralston
18faa2d8ba CSS for new pinned events indicator
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-15 21:18:39 -06:00
Travis Ralston
ef5fc7347a Don't update presence status if the user is clicks twice
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-15 20:20:43 -06:00
Krombel
498ae90040 Translated using Weblate (German)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-15 20:22:05 +00:00
Jeff Huang
da67a2c078 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-10-15 05:57:19 +00:00
Andrey
f9186ae8fc Translated using Weblate (Russian)
Currently translated at 100.0% (215 of 215 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-10-15 05:31:08 +00:00
Travis Ralston
deb50b2d43 Add presence context menu and styling
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-14 23:15:26 -06:00
Travis Ralston
e2b02ad60d Merge branch 'develop' into travis/presence 2017-10-14 21:45:59 -06:00
Travis Ralston
1ca041c59c CSS for more positioning options on context menus
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-14 21:45:29 -06:00
Weblate
b71bcb4e9b Merge remote-tracking branch 'origin/develop' into develop 2017-10-15 00:02:53 +00:00
Matthew Hodgson
f143315618 Merge pull request #5142 from turt2live/travis/pinned_messages
Message/event pinning
2017-10-15 01:02:49 +01:00
Travis Ralston
6f968522f5 Merge branch 'develop' into travis/presence 2017-10-14 17:27:18 -06:00
Bamstam
4a5e2e347b Translated using Weblate (German)
Currently translated at 100.0% (210 of 210 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-14 23:11:20 +00:00
Travis Ralston
6926c96f36 Hide pinning messages behind a labs settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-14 16:41:44 -06:00
Matthew Hodgson
6f819606c1 Merge pull request #4054 from ollieh/issues/3771
Sorting of networks within a protocol based on name
2017-10-14 23:21:51 +01:00
Travis Ralston
3e066d3aef Merge branch 'develop' into travis/pinned_messages 2017-10-14 16:11:17 -06:00
Matthew Hodgson
2667ed2561 Merge pull request #4988 from vector-im/t3chguy/hide_notification_body
allow hiding of notification body for privacy reasons
2017-10-14 23:07:31 +01:00
Matthew Hodgson
5bb2992f93 Merge pull request #5281 from turt2live/travis/display-name-lightbox
Don't use MXIDs on the lightbox if possible
2017-10-14 22:46:13 +01:00
Matthew Hodgson
b70bd1987a Merge pull request #5267 from turt2live/travis/alone_warning_css
CSS for lonely room message
2017-10-14 22:44:58 +01:00
Matthew Hodgson
5c1e2a8a82 Merge pull request #5037 from turt2live/travis/code_block_border
Bring back dark theme code block border
2017-10-14 22:32:45 +01:00
Matthew Hodgson
6f81142bde Merge pull request #5282 from turt2live/travis/unset_avatar
CSS for remove avatar buttons
2017-10-14 22:11:02 +01:00
Travis Ralston
9d17ed7407 CSS for presence member avatar
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-14 14:33:55 -06:00
Travis Ralston
56e775c56a Remove user avatar button CSS 2017-10-13 21:14:08 -06:00
Travis Ralston
c7723ba0b0 Remove room avatar button CSS
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-13 20:56:39 -06:00
Travis Ralston
1adb63ac74 Don't use MXIDs on the lightbox if possible
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-13 20:18:55 -06:00
David Baker
f5397acfa1 v0.12.7-rc.3 2017-10-13 16:36:57 +01:00
David Baker
bdd96c6a9a Prepare changelog for v0.12.7-rc.3 2017-10-13 16:36:56 +01:00
David Baker
e0de9cbdfe v0.12.7-rc.3 2017-10-13 16:36:07 +01:00
David Baker
f555f2036e react-sdk rc.3 2017-10-13 16:35:41 +01:00
David Baker
3b2650e5ea Merge remote-tracking branch 'origin/develop' into release-v0.12.7 2017-10-13 16:33:55 +01:00
David Baker
d1476e0cc7 Merge pull request #5275 from vector-im/dbkr/hide_join_group
Hide the join group button
2017-10-13 16:27:50 +01:00
David Baker
b727944b11 Bump electron version 2017-10-13 16:27:01 +01:00
David Baker
398e0839f1 Hide the join group button
Until it actually does something
2017-10-13 16:15:17 +01:00
David Baker
adceda7588 v0.12.7-rc.2 2017-10-13 15:06:18 +01:00
David Baker
577db02140 Prepare changelog for v0.12.7-rc.2 2017-10-13 15:06:18 +01:00
David Baker
4bd53eb821 v0.12.7-rc.2 2017-10-13 15:05:34 +01:00
David Baker
b3da206a92 react-sdk rc.2 2017-10-13 15:03:43 +01:00
David Baker
f8554ca2f2 v0.12.7-rc.1 2017-10-13 11:15:41 +01:00
David Baker
470ea8d6a7 Prepare changelog for v0.12.7-rc.1 2017-10-13 11:15:40 +01:00
David Baker
79154e26fc v0.12.7-rc.1 2017-10-13 11:14:31 +01:00
David Baker
64cfc9b717 js & react sdk rc.1 2017-10-13 11:13:54 +01:00
Luke Barnard
bbcf46bb69 Merge branch 'develop' of github.com:vector-im/riot-web into develop 2017-10-12 18:12:14 +01:00
David Baker
832465655b Merge pull request #5203 from vector-im/t3chguy/riot.im-logos
switch to new logos, and use import rather than VAR
2017-10-12 17:49:29 +01:00
David Baker
392fea1207 Merge pull request #5266 from turt2live/travis/doc_integs
Clarify what an integrations server is
2017-10-12 17:48:30 +01:00
David Baker
0c093b5ca2 Merge pull request #5269 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-10-12 17:47:39 +01:00
Weblate
8216d8999c Merge branch 'develop' of https://github.com/vector-im/riot-web into develop
Conflicts:
	src/i18n/strings/cs.json
	src/i18n/strings/fr.json
	src/i18n/strings/nb_NO.json
	src/i18n/strings/nl.json
	src/i18n/strings/pt_BR.json
2017-10-12 16:24:36 +00:00
Carlos Marques
7d12e2f64b Translated using Weblate (Portuguese)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt/
2017-10-12 16:22:01 +00:00
Kevin Brubeck Unhammer
bbf859aad7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 54.7% (122 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nb_NO/
2017-10-12 16:22:01 +00:00
Travis Ralston
783aebe5eb CSS for lonely room message
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-11 21:13:55 -06:00
Travis Ralston
eb6ce753aa Clarify what an integrations server is
Possibly helps resolve #1698

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-11 19:52:10 -06:00
Michael Telatynski
6df69138a2 switch to new logos, and use import rather than VAR
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-11 16:46:05 +01:00
Luke Barnard
ca0d8e425e Merge branch 'develop' of github.com:vector-im/riot-web into develop 2017-10-11 16:00:34 +01:00
Luke Barnard
ae1a5a50b0 Move inline CSS for flair
Also, move vertical align from mx_Flair to img otherwise the SenderProfile has increased height when Flair is present, causing bug with scroll position
2017-10-11 16:00:26 +01:00
Luke Barnard
e405d6cbd6 Merge pull request #5167 from vector-im/t3chguy/quickfix
Remove trailing comma in JSON
2017-10-11 16:40:29 +02:00
Luke Barnard
508ff4f917 Merge pull request #3849 from psaavedra/set_default_federate_by_settings
Added default_federate property
2017-10-11 16:28:25 +02:00
David Baker
83f7af5d7e Merge pull request #5197 from vector-im/dbkr/say_which_homeserver
CSS for greying out login form
2017-10-11 14:12:20 +01:00
David Baker
27a81c25d2 CSS for greying out login form 2017-10-11 14:06:12 +01:00
David Baker
e39730d52e Say which translation file failed (#5196)
So we can see which i18n file is invalid when it fails
2017-10-11 09:56:38 +01:00
Andrey
415ffac978 Translated using Weblate (Russian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-10-10 17:29:36 +00:00
Morgan Bazalgette
16764382a5 Translated using Weblate (Italian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-10-10 17:29:36 +00:00
Xose M
fd7ddd9ec8 Translated using Weblate (Galician)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2017-10-10 17:29:36 +00:00
David Baker
20d2a6685f Remove spurious comma 2017-10-10 18:28:15 +01:00
Morgan Bazalgette
25413b2b35 Translated using Weblate (Italian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-10-08 20:27:21 +00:00
Xose M
e1f17e2cdc Translated using Weblate (Galician)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2017-10-06 13:35:38 +00:00
Michael Telatynski
a5e41102bc Remove trailing comma in JSON 2017-10-04 23:42:27 +01:00
Michael Telatynski
85a590ad5a Remove trailing comma in JSON 2017-10-04 23:41:54 +01:00
Michael Telatynski
bf6a3470b4 Merge branch 'develop' of github.com:vector-im/riot-web into set_default_federate_by_settings 2017-10-04 22:35:58 +01:00
Luke Barnard
3d7b1cb382 Merge pull request #5164 from vector-im/luke/fix-no-roomlist-placeholders
Fix bug that made sub list placeholders not show for ILAG etc.
2017-10-04 16:13:45 +01:00
Luke Barnard
70bbf2df7a Fix bug that made sub list placeholders not show for ILAG etc. 2017-10-04 15:58:40 +01:00
Luke Barnard
56c366ebd3 Merge pull request #5161 from vector-im/luke/refactor-editable-list-from-alias-settings
Factor out EditableItemList component from AliasSettings
2017-10-04 10:56:21 +01:00
Luke Barnard
a9d308004e Factor out EditableItemList component from AliasSettings 2017-10-04 10:30:09 +01:00
Walter
a75fa7fd3e Translated using Weblate (Russian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-10-04 09:24:42 +00:00
Danilo Resende
44162d5c8a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2017-10-04 09:24:42 +00:00
Luke Barnard
ec414147d1 Merge pull request #5110 from pafcu/mark-and-remove-translations
Mark and remove some translations
2017-10-04 10:24:36 +01:00
Danilo Resende
23c1a3233b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2017-10-03 22:19:54 +00:00
pafcu
9680bcb117 Implement reviewer suggestions 2017-10-03 18:22:58 +02:00
Bamstam
f040a248d6 Translated using Weblate (German)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-10-03 14:34:35 +00:00
Walter
171353a87d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-10-03 12:38:04 +00:00
Weblate
65e73c71cd Merge remote-tracking branch 'origin/develop' into develop 2017-10-03 10:45:12 +00:00
syamkumar
3b8ad0e12e Translated using Weblate (Malayalam)
Currently translated at 93.2% (208 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-10-03 10:45:12 +00:00
Xose M
834801e9d7 Translated using Weblate (Galician)
Currently translated at 44.8% (100 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/
2017-10-03 10:45:11 +00:00
Nathan van Beelen
233a611c22 Translated using Weblate (Dutch)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-10-03 10:45:11 +00:00
Luke Barnard
d082e44d94 Merge pull request #5141 from vector-im/luke/groups-remove-room
CSS for "remove" button on GroupRoomTile
2017-10-03 11:45:07 +01:00
Luke Barnard
195395e7ee Adjust CSS for groupRoomTile and add QuestionDialog right padding
(The confirmation dialog for removing a room needed padding)
2017-10-03 11:14:43 +01:00
Xose M
a8767e823a Added translation using Weblate (Galician) 2017-10-02 10:24:25 +00:00
Silke
fa4a22cd2e Translated using Weblate (Dutch)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-09-30 09:36:16 +00:00
Travis Ralston
2d153a72c1 Split up CSS; use .catch instead of .then
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 13:33:14 -06:00
Travis Ralston
078ee54edf Move the PinnedEventsPanel to the react-sdk
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 13:15:21 -06:00
Travis Ralston
2d5acfc0bc Filter pinned events before rendering
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 11:30:52 -06:00
Travis Ralston
b0190f6a65 i18n for remaining strings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 11:22:06 -06:00
Travis Ralston
0a3bc1c667 Don't try to show redacted messages
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 11:21:44 -06:00
Travis Ralston
aff02885de Don't fail if an event doesn't belong to a room.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 11:21:21 -06:00
Travis Ralston
965a25ba84 Fix bug where rooms missing m.room.pinned_events could not pin messages
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 11:08:22 -06:00
Travis Ralston
f7389b70aa Hide the pin option in the context menu if the user can't pin messages
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 11:01:17 -06:00
Luke Barnard
014464d82b CSS for "remove" button on GroupRoomTile 2017-09-29 17:58:42 +01:00
Travis Ralston
efdb4b02c6 i18n for 'Jump to message' button
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 10:55:52 -06:00
Travis Ralston
59a253af37 Don't show the unpin button if the user can't unpin the message.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 10:53:44 -06:00
Travis Ralston
9b11f576fe Add action bar to pinned event tiles; support unpinning from the panel
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 10:42:58 -06:00
Travis Ralston
fa5a23e0df Permalink pins to their original events
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 10:42:58 -06:00
Travis Ralston
5daa16ab53 Add panel for pinned messages.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 10:42:58 -06:00
Travis Ralston
774c3dbd38 Pin/unpin message option in a message's context menu
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-29 10:42:58 -06:00
Weblate
9f7823f2df Merge remote-tracking branch 'origin/develop' into develop 2017-09-29 16:23:06 +00:00
Luke Barnard
f35289a664 Merge pull request #5140 from vector-im/luke/groups-room-icons
Create basic icon for the GroupRoomList tab and adding rooms to groups
2017-09-29 17:23:02 +01:00
Luke Barnard
d3b8d8bf9d Create basic icon for the GroupRoomList tab and adding rooms to groups 2017-09-29 17:03:58 +01:00
Weblate
7194f30dc0 Merge remote-tracking branch 'origin/develop' into develop 2017-09-29 10:00:34 +00:00
Kevin Németh
f6c28dce4a Translated using Weblate (Hungarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-09-29 10:00:33 +00:00
Luke Barnard
5544270bc4 Merge pull request #5131 from vector-im/luke/groups-button
Add button to get to MyGroups
2017-09-29 11:00:29 +01:00
Luke Barnard
47919bc291 Honour the Groups feature flag 2017-09-29 10:39:49 +01:00
Szimszon
412affefb9 Translated using Weblate (Hungarian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-09-29 05:11:34 +00:00
Weblate
e2b7ff3675 Merge remote-tracking branch 'origin/develop' into develop 2017-09-28 10:26:58 +00:00
Luke Barnard
bb64e9a18b Merge pull request #5137 from vector-im/luke/fix-header-button-key-prop-warning
Remove `key` prop pass-thru on HeaderButton
2017-09-28 11:26:54 +01:00
Luke Barnard
f9a92ad15a Lint 2017-09-28 10:02:16 +01:00
Luke Barnard
ce13837216 Remove key prop pass-thru on HeaderButton
This is redundant and throws a warning
2017-09-28 09:46:10 +01:00
Carlos
26ce62250b Translated using Weblate (Portuguese)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt/
2017-09-28 00:31:27 +00:00
Stefan Parviainen
25cf115533 Update docs with _td() and some other recommendations
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-27 22:01:56 +02:00
Luke Barnard
9c86a655ca Add button to get to MyGroups 2017-09-27 17:46:53 +01:00
Weblate
1d5f2bec65 Merge remote-tracking branch 'origin/develop' into develop 2017-09-27 13:15:32 +00:00
Luke Barnard
1740319b7a Add margin to flair avatars to separate them 2017-09-27 14:15:21 +01:00
Weblate
fb344bc606 Merge remote-tracking branch 'origin/develop' into develop 2017-09-27 09:32:13 +00:00
Luke Barnard
2adf08dee0 CSS for GroupView: align "save"/"cancel" buttons in settings 2017-09-27 10:31:35 +01:00
Jeff Huang
fcd4a1c7c6 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-09-27 06:30:53 +00:00
Roger Pueyo Centelles
42840c1e3c Translated using Weblate (Catalan)
Currently translated at 52.9% (118 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/
2017-09-27 00:09:20 +00:00
Andrey
c99299ab6f Translated using Weblate (Russian)
Currently translated at 100.0% (223 of 223 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-09-26 17:22:52 +00:00
Weblate
e446f50618 Merge remote-tracking branch 'origin/develop' into develop 2017-09-26 17:16:02 +00:00
David Baker
f64f293cdb Merge pull request #5125 from vector-im/luke/groups-add-rooms
Implement "Add room to group" feature
2017-09-26 18:15:54 +01:00
Luke Barnard
888e3abc75 Implement "Add room to group" feature
This step needs to be taken before adding a room to a group summary
2017-09-26 14:35:38 +01:00
Iru Cai (vimacs)
bc659032e6 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.0% (220 of 222 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-09-26 07:47:39 +00:00
Weblate
cfc830b294 Merge remote-tracking branch 'origin/develop' into develop 2017-09-25 16:00:06 +00:00
David Baker
94855c0f48 Merge pull request #4967 from vector-im/rob/electron-screensharing
Add Jitsi screensharing support in electron app
2017-09-25 17:00:00 +01:00
Weblate
110993cc67 Merge remote-tracking branch 'origin/develop' into develop 2017-09-25 15:37:50 +00:00
David Baker
798558e5cc Merge pull request #5117 from vector-im/luke/refactor-right-panel-header-buttons
Refactor right panel header buttons
2017-09-25 16:37:44 +01:00
Robert Swain
f79b8e0c71 ElectronPlatform: Import desktopCapturer explicitly 2017-09-25 17:19:04 +02:00
Robert Swain
44c0fb77da Merge branch 'develop' into rob/electron-screensharing 2017-09-25 17:16:21 +02:00
Luke Barnard
bfdb92ff6b Nit: Re-order property 2017-09-25 16:13:54 +01:00
Luke Barnard
77f30aacf9 Re-add clickPhase for FilePanel header button 2017-09-25 16:13:13 +01:00
Luke Barnard
fd7e81193e Less coupling between HeaderButton and RightPanel
Use isHighlighted as a prop instead of computing based on phases and currentPhase
2017-09-25 16:06:46 +01:00
Weblate
7149510c4e Merge remote-tracking branch 'origin/develop' into develop 2017-09-25 13:53:29 +00:00
Kévin C
f5e7059c1b 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/
2017-09-25 13:53:28 +00:00
Jan Kudrik
377740901f Translated using Weblate (Czech)
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/cs/
2017-09-25 13:53:28 +00:00
Luke Barnard
75fef3f21a Merge pull request #5104 from vector-im/dbkr/publicity_toggle
CSS for publicity status & toggle button
2017-09-25 14:53:23 +01:00
Luke Barnard
28e9fdc873 rebase in progress; onto 7137ba71 2017-09-25 14:42:44 +01:00
Luke Barnard
7137ba7188 Refactor right panel header buttons
To reduce repetition of code, simplify the process of adding header buttons and remove the need for many handler functions.
2017-09-25 14:13:02 +01:00
Kévin C
6795ee84e1 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/
2017-09-24 10:20:35 +00:00
Bruno Bigras
9413b1537c Translated using Weblate (French)
Currently translated at 97.7% (217 of 222 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-09-24 09:20:07 +00:00
Stefan Parviainen
b424eea573 Remove unnecessary strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-23 17:02:26 +02:00
Stefan Parviainen
3cff8c1230 Mark some strings as translatable
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-23 13:46:51 +02:00
David Baker
813615610f CSS for publicity status & toggle button 2017-09-22 19:27:36 +01:00
Weblate
d2334fcd96 Merge remote-tracking branch 'origin/develop' into develop 2017-09-22 15:32:50 +00:00
Luke Barnard
ae6b705d7b Merge pull request #5103 from vector-im/luke/groups-remove-featured-rooms-and-users
CSS for "X" in top right of features users/rooms
2017-09-22 16:32:46 +01:00
Luke Barnard
1b67e7d606 CSS for "X" in top right of features users/rooms 2017-09-22 15:58:36 +01:00
Walter
87470a690f Translated using Weblate (Ukrainian)
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/uk/
2017-09-22 13:31:51 +00:00
Weblate
8434a71cf8 Merge remote-tracking branch 'origin/develop' into develop 2017-09-22 09:19:56 +00:00
Walter
90f7cecec6 Translated using Weblate (Ukrainian)
Currently translated at 95.9% (213 of 222 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-09-22 09:19:56 +00:00
Paul Tötterman
7d472a3bdb Translated using Weblate (Swedish)
Currently translated at 95.9% (213 of 222 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2017-09-22 09:19:56 +00:00
David Baker
39c7bf633d Merge pull request #5051 from vector-im/dbkr/add_finnish
Include Finnish translation
2017-09-22 10:19:50 +01:00
David Baker
133e17c1db Merge remote-tracking branch 'origin/develop' into dbkr/add_finnish 2017-09-22 09:50:56 +01:00
Paul Tötterman
e1f008e0b3 Translated using Weblate (Finnish)
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/fi/
2017-09-22 07:15:28 +00:00
Weblate
b7b9330086 Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 20:57:11 +00:00
David Baker
ef503cca11 Merge branch 'master' into develop 2017-09-21 21:56:58 +01:00
David Baker
2b7ee756f8 v0.12.6 2017-09-21 21:53:09 +01:00
David Baker
b25075974c Prepare changelog for v0.12.6 2017-09-21 21:53:09 +01:00
David Baker
af3feccc2d v0.12.6 2017-09-21 21:50:48 +01:00
David Baker
aaff9133c7 Newer js-sdk & react-sdk for js-sdk build fix 2017-09-21 21:49:43 +01:00
Weblate
6e7ee7ef34 Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 17:12:15 +00:00
David Baker
50e6536195 Merge branch 'master' into develop 2017-09-21 18:11:46 +01:00
David Baker
fbccf22e00 v0.12.5 2017-09-21 18:08:17 +01:00
David Baker
e8c347a755 Prepare changelog for v0.12.5 2017-09-21 18:08:17 +01:00
Weblate
4f8660870a Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 17:06:45 +00:00
David Baker
dbd4cf8756 Clean on prepublish (#5097)
Otherwise you can make broken releases on case insensitive file
systems
2017-09-21 18:06:41 +01:00
David Baker
f450ce422e v0.12.5 2017-09-21 18:06:03 +01:00
David Baker
874e88c4a8 react-sdk v0.10.5 2017-09-21 18:05:22 +01:00
Weblate
7e87964e82 Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 16:49:59 +00:00
Luke Barnard
0eefae031f Merge pull request #5096 from vector-im/luke/groups-membership-section-redesign
Redesign membership section of GroupView
2017-09-21 17:49:55 +01:00
Weblate
406f36a2d1 Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 16:31:14 +00:00
Luke Barnard
96b9570465 Update comment 2017-09-21 17:31:06 +01:00
Carlos
22580b5fd3 Translated using Weblate (Portuguese)
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/pt/
2017-09-21 16:12:50 +00:00
Luke Barnard
96bb804eb8 Redesign membership section of GroupView 2017-09-21 15:11:57 +01:00
Weblate
e968de12dd Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 09:26:37 +00:00
David Baker
1cca4c2133 Fix debug message to be clearer 2017-09-21 10:26:07 +01:00
Weblate
fcb705d79b Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 09:01:09 +00:00
David Baker
26ec25b2f7 Merge pull request #5090 from vector-im/dbkr/deploy_config_glob
Make --config accept globs
2017-09-21 10:01:05 +01:00
Weblate
88551afef3 Merge remote-tracking branch 'origin/develop' into develop 2017-09-21 08:55:19 +00:00
David Baker
9b9073f0ed Merge pull request #5093 from vector-im/luke/groups-add-featured-rooms-and-users
CSS for GroupView: Add a User
2017-09-21 09:55:14 +01:00
David Baker
b4ea938be3 This is the default 2017-09-20 18:17:06 +01:00
David Baker
6ec26932af This is the default anyway 2017-09-20 17:54:52 +01:00
David Baker
21d233b5af oops, leftover debug 2017-09-20 17:48:47 +01:00
Krombel
a8a9f5ec6b 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/
2017-09-20 16:24:04 +00:00
David Baker
b9b4ac3166 Rename symlink to 'include' & add to redeploy
Because redeploy.py already has a 'symlink' option that does
something else.
2017-09-20 17:22:47 +01:00
Luke Barnard
0d4b3b41f9 CSS for GroupView: Add a User
codep matrix-org/matrix-react-sdk#1402
2017-09-20 17:07:32 +01:00
David Baker
6ff91789b2 Rename 'config' option to 'symlink'
because that's really all it's doing and we can use it for other
things
2017-09-20 17:04:31 +01:00
Weblate
9b988f1a19 Merge remote-tracking branch 'origin/develop' into develop 2017-09-20 14:24:22 +00:00
David Baker
8d9f06cc47 Merge branch 'master' into develop 2017-09-20 15:24:11 +01:00
David Baker
2ea9fc3f9a v0.12.4 2017-09-20 15:19:10 +01:00
David Baker
d96759b8ad Prepare changelog for v0.12.4 2017-09-20 15:19:10 +01:00
David Baker
e814eb4555 v0.12.4 2017-09-20 15:18:17 +01:00
David Baker
d957f0cdd7 released js-sdk & react-sdk 2017-09-20 15:16:42 +01:00
David Baker
be938ac0f4 Accept globs for the config location
and make the default config*.sjon so we'll automatically symlink
any config files in the current dir.
2017-09-20 14:38:41 +01:00
David Baker
e4082d4f45 Support multiple configs on the command line 2017-09-20 14:25:33 +01:00
Akcja Demokracja Open-Source
7f4695bba2 Translated using Weblate (Polish)
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/pl/
2017-09-20 10:30:04 +00:00
Szimszon
72bb08b99f 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/
2017-09-20 06:40:44 +00:00
Andrey
e8c3c2bc20 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/
2017-09-20 05:40:09 +00:00
Jeff Huang
8561e43cb5 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/
2017-09-20 00:01:38 +00:00
Weblate
16123ff5db Merge remote-tracking branch 'origin/develop' into develop 2017-09-19 21:14:56 +00:00
Silke
546397e676 Translated using Weblate (Dutch)
Currently translated at 97.2% (214 of 220 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-09-19 21:14:55 +00:00
Matthew Hodgson
fbe1c82dfa Merge pull request #5074 from vector-im/t3chguy/devtools-1
T3chguy/devtools 1
2017-09-19 22:14:52 +01:00
Szimszon
37ccf3b93f Translated using Weblate (Hungarian)
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/hu/
2017-09-19 18:53:28 +00:00
Andrey
86d8a95e32 Translated using Weblate (Russian)
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/ru/
2017-09-19 16:45:19 +00:00
Weblate
0b7ebf8764 Merge remote-tracking branch 'origin/develop' into develop 2017-09-19 16:22:01 +00:00
David Baker
8fc69198b1 Merge pull request #5085 from vector-im/luke/fix-separate-sender-profile
Alter opacity for flair
2017-09-19 17:21:57 +01:00
Weblate
ecbd42c71c Merge remote-tracking branch 'origin/develop' into develop 2017-09-19 16:21:52 +00:00
Kevin Németh
0b0e74cd63 Translated using Weblate (Hungarian)
Currently translated at 96.8% (213 of 220 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-09-19 16:21:51 +00:00
David Baker
283829cb0c Merge pull request #5082 from vector-im/luke/fix-ugly-integ-button
Fix ugly integ button
2017-09-19 17:21:47 +01:00
Luke Barnard
0d6b09a5f6 Merge branch 'develop' into luke/fix-ugly-integ-button 2017-09-19 17:03:06 +01:00
Luke Barnard
7469ab5ed9 Alter opacity for flair
Apply 0.7 opacity to flair, but keep name and aux at 0.5
2017-09-19 16:56:46 +01:00
carlos-am
b6a183aa5b Translated using Weblate (Portuguese)
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/pt/
2017-09-19 15:31:19 +00:00
Krombel
49f85703da 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/
2017-09-19 12:52:05 +00:00
Jeff Huang
3cf641d281 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/
2017-09-19 12:32:45 +00:00
Weblate
d409e96e2a Merge remote-tracking branch 'origin/develop' into develop 2017-09-19 12:26:08 +00:00
Luke Barnard
fbcccd8be0 Merge pull request #4830 from vector-im/dbkr/group_userlist
Group Membership UI
2017-09-19 13:26:02 +01:00
Luke Barnard
d25c3be627 CSS to fix ugly integrations button
See matrix-org/matrix-react-sdk#1399
2017-09-19 11:59:51 +01:00
David Baker
ca50d1f04a v0.12.4-rc.1 2017-09-19 10:57:02 +01:00
David Baker
ab66833c45 Prepare changelog for v0.12.4-rc.1 2017-09-19 10:57:01 +01:00
David Baker
8a4710b270 v0.12.4-rc.1 2017-09-19 10:55:28 +01:00
David Baker
57851cd508 js-sdk & react-sdk rc.1 2017-09-19 10:54:35 +01:00
Luke Barnard
38c0d62478 Fix typo for integs error button error 2017-09-19 10:46:00 +01:00
Weblate
e8ff3ca7ed Merge remote-tracking branch 'origin/develop' into develop 2017-09-19 09:34:35 +00:00
David Baker
ff8bc1ca68 Merge pull request #5053 from vector-im/dbkr/3pid_invite_update_when_joined
Fix test for new behaviour of 'joining' flag
2017-09-19 10:34:31 +01:00
David Baker
c32e736754 Comment why we don't expect joining flag to reset 2017-09-19 10:23:12 +01:00
Weblate
ca13e35413 Merge remote-tracking branch 'origin/develop' into develop 2017-09-19 07:13:31 +00:00
Jan Kudrik
8ab0caaf0c Translated using Weblate (Czech)
Currently translated at 96.8% (212 of 219 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-09-19 07:13:30 +00:00
Matthew Hodgson
26c8d23c21 Merge pull request #5080 from vector-im/t3chguy/fix-powersave-typo
fix really dumb blunder/typo preventing system from going to sleep.
2017-09-19 08:13:26 +01:00
Michael Telatynski
d97224e69e fix really dumb blunder/typo preventing system from going to sleep.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-19 00:53:44 +01:00
Krombel
51069a370e 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/
2017-09-18 11:45:55 +00:00
Michael Telatynski
00976d9338 i18n new DevTools strings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-18 12:04:11 +01:00
Michael Telatynski
dccee6d419 add ability to filter room state types/results
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-18 12:03:11 +01:00
Michael Telatynski
af450df513 add ability to jump from RSE to Send Custom State Event prefilled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-18 11:27:31 +01:00
Michael Telatynski
821ab6c13e switch to controlled inputs and require eventType !== ''
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-18 11:06:46 +01:00
Jeff Huang
cca7b239ee 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/
2017-09-18 01:12:54 +00:00
Weblate
5ad860f186 Merge remote-tracking branch 'origin/develop' into develop 2017-09-17 22:15:32 +00:00
Matthew Hodgson
828e9d5eb4 Merge pull request #4735 from vector-im/t3chguy/devtools
T3chguy/devtools
2017-09-17 23:15:28 +01:00
Weblate
aa6e68776c Merge remote-tracking branch 'origin/develop' into develop 2017-09-17 21:38:35 +00:00
ErCiccione
c8ced6e360 Translated using Weblate (Italian)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-09-17 21:38:35 +00:00
Jan Kudrik
193b69246a Translated using Weblate (Czech)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-09-17 21:38:35 +00:00
Matthew Hodgson
662431043e Merge pull request #5042 from turt2live/travis/ignored_users
CSS for unignore button in UserSettings
2017-09-17 22:38:31 +01:00
Michael Telatynski
b9d7789d71 Translated using Weblate (Italian)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-09-17 15:40:22 +00:00
Matthew Hodgson
7f746ce2c6 Merge pull request #5044 from turt2live/travis/home_page_identity_room
Fix alias on home page for identity room
2017-09-15 16:37:38 +01:00
David Baker
30efd02d22 Fix test for new behaviour of 'joining' flag
It's no longer reset when the join request completes, so don't
assert it. (The important test is later, asserting that the room
object is non-null).
2017-09-15 15:57:37 +01:00
David Baker
b2e1a2956f Include Finnish translation
Which is 100% on riot-web and 40% on react-sdk which is probably
at a point where it can be useful.
2017-09-15 12:26:45 +01:00
turt2live
a4e33bf46a Fix alias on home page for identity room
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 21:09:57 -06:00
Travis Ralston
ac0f593c7c CSS for unignore button in UserSettings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 15:34:45 -06:00
Travis Ralston
7d033e1c0e Bring back dark theme code block border
This fixes https://github.com/vector-im/riot-web/issues/5013 and https://github.com/vector-im/riot-web/issues/4416 by only showing the border when the code block is hovered, and that the border is actually visible. The !important is needed to override the default border behaviour.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 10:03:53 -06:00
David Baker
06fe240be2 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-09-13 16:35:37 +01:00
David Baker
f148844573 Merge pull request #4989 from vector-im/t3chguy/on_copy_tooltip
generic contextual menu for tooltip/responses
2017-09-13 14:27:28 +01:00
Michael Telatynski
2316f4230e install and use prop-types over React.PropTypes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-13 14:23:35 +01:00
David Baker
c140088f82 Merge pull request #5018 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-09-12 12:57:36 +01:00
Michael Telatynski
9691173032 Translated using Weblate (Tamil)
Currently translated at 69.8% (146 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-09-12 10:56:54 +00:00
Michael Telatynski
8513ea2a31 Translated using Weblate (Malayalam)
Currently translated at 98.5% (206 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-09-12 10:56:54 +00:00
Michael Telatynski
a5a1b5fcd8 Translated using Weblate (Italian)
Currently translated at 99.5% (208 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-09-12 10:56:53 +00:00
Michael Telatynski
30f81e2143 Translated using Weblate (Dutch)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-09-12 10:56:53 +00:00
Michael Telatynski
f48cfdcfe0 Translated using Weblate (Catalan)
Currently translated at 54.5% (114 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/
2017-09-12 10:56:53 +00:00
Michael Telatynski
728ffd37b8 Translated using Weblate (Arabic)
Currently translated at 14.8% (31 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ar/
2017-09-12 10:56:53 +00:00
Robert Swain
5ffc9c56ee Merge branch 'develop' into rob/electron-screensharing 2017-09-12 10:55:01 +02:00
Weblate
2357e7fe41 Merge remote-tracking branch 'origin/develop' into develop 2017-09-11 17:52:19 +00:00
David Baker
f18f13643f Merge pull request #5015 from vector-im/dbkr/active_room_observer
Avoid re-rendering RoomList on room switch
2017-09-11 18:52:15 +01:00
David Baker
3ac154b7da Add comment to update shouldComponentUpdate
if adding new props
2017-09-11 18:30:43 +01:00
David Baker
47ddc6dedf Comment typo 2017-09-11 18:29:20 +01:00
David Baker
82f2e47667 Avoid re-rendering RoomList on room switch
See https://github.com/matrix-org/matrix-react-sdk/pull/1375
2017-09-11 17:06:40 +01:00
Weblate
55c656ead9 Merge remote-tracking branch 'origin/develop' into develop 2017-09-11 16:04:59 +00:00
Balaji Ravichandran
dc6a7e7425 Translated using Weblate (Tamil)
Currently translated at 69.8% (146 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-09-11 16:04:59 +00:00
Akcja Demokracja Open-Source
3a77d8aa21 Translated using Weblate (Polish)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-09-11 16:04:59 +00:00
av3n
b7f31d0a64 Translated using Weblate (Italian)
Currently translated at 99.5% (208 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-09-11 16:04:59 +00:00
Jan Kudrik
95af34ca99 Translated using Weblate (Czech)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-09-11 16:04:58 +00:00
David Baker
079f39efed Add New Vector windows build signing cert
As the signing process needs it.
2017-09-11 17:04:10 +01:00
Weblate
83acdee013 Merge remote-tracking branch 'origin/develop' into develop 2017-09-07 15:01:08 +00:00
David Baker
941f92530d Merge pull request #4623 from MurzNN/patch-1
Fix menu on change keyboard language issue #4345
2017-09-07 16:01:04 +01:00
Weblate
942021e4bb Merge remote-tracking branch 'origin/develop' into develop 2017-09-07 13:35:39 +00:00
Ramon Vilar
7a62b058c9 Translated using Weblate (Catalan)
Currently translated at 54.5% (114 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ca/
2017-09-07 13:35:38 +00:00
David Baker
ff8527c819 Merge pull request #4999 from vector-im/dbkr/fix_missing_isinvite_warning
Make isInvite default to false
2017-09-07 14:35:35 +01:00
David Baker
76be54b2be Make isInvite default to false
as things are assuming it's optional but it isn't which is causing
a ton of warnings.
2017-09-07 13:35:13 +01:00
Ramon Vilar
5511fdd0c3 Added translation using Weblate (Catalan) 2017-09-07 09:12:30 +00:00
Weblate
3c82e61567 Merge remote-tracking branch 'origin/develop' into develop 2017-09-06 17:07:01 +00:00
David Baker
d374425a20 Merge pull request #4991 from vector-im/revert-4939-luke/feature-sticky-date-separators
Revert "Implement sticky date separators"
2017-09-06 18:06:57 +01:00
Kevin Németh
95947323a2 Translated using Weblate (Hungarian)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-09-06 16:43:33 +00:00
David Baker
38575a653d Revert "Implement sticky date separators" 2017-09-06 17:36:43 +01:00
Weblate
dba05488bf Merge remote-tracking branch 'origin/develop' into develop 2017-09-06 13:38:24 +00:00
David Baker
7202556f45 Don't delete dist dir after putting stuff in it 2017-09-06 14:37:57 +01:00
Michael Telatynski
32ea675c92 fix (C) header
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 14:20:12 +01:00
Weblate
6a5da1011c Merge remote-tracking branch 'origin/develop' into develop 2017-09-06 12:38:46 +00:00
David Baker
8b250bda64 Merge branch 'master' into develop 2017-09-06 13:36:11 +01:00
David Baker
92d31a8890 v0.12.3 2017-09-06 13:32:33 +01:00
David Baker
1b3ffb150b Prepare changelog for v0.12.3 2017-09-06 13:32:32 +01:00
David Baker
2ab9dc4270 v0.12.3 2017-09-06 13:31:31 +01:00
David Baker
e8dd7be8a3 matrix-react-sdk v0.10.3 2017-09-06 13:31:00 +01:00
Weblate
ba6b35ad84 Merge remote-tracking branch 'origin/develop' into develop 2017-09-06 12:29:15 +00:00
Iru Cai (vimacs)
b6a20f6441 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-09-06 12:29:14 +00:00
David Baker
e6d43f9d77 Edit electron build script fior signed win builds
Don't copy them to pub: let the signing process do that
2017-09-06 13:28:21 +01:00
Silke
2e5a79e76c Translated using Weblate (Dutch)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-09-06 10:51:17 +00:00
Michael Telatynski
60c2338543 generic contextual menu for tooltip/responses
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 11:27:04 +01:00
Michael Telatynski
fca86be077 allow hiding of notification body for privacy reasons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 10:56:32 +01:00
Weblate
8a8aea0927 Merge remote-tracking branch 'origin/develop' into develop 2017-09-05 13:16:25 +00:00
David Baker
b8d9276f29 Merge pull request #4939 from vector-im/luke/feature-sticky-date-separators
Implement sticky date separators
2017-09-05 14:16:21 +01:00
Weblate
89e9a6f583 Merge remote-tracking branch 'origin/develop' into develop 2017-09-05 12:54:55 +00:00
uppps
4327b264bc Translated using Weblate (Spanish)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-09-05 12:54:55 +00:00
David Baker
4ff9131e61 Redeploy script: don't bail if bundle exists (#4977)
Just don't bother replacing that bundle. Continue redeploying the
rest as other assets (eg translation files) may have changed.
2017-09-05 13:54:51 +01:00
David Baker
c1e2ee8123 v0.12.3-rc.3 2017-09-05 13:43:40 +01:00
David Baker
308bcc4ab9 Prepare changelog for v0.12.3-rc.3 2017-09-05 13:43:39 +01:00
David Baker
0ced816505 v0.12.3-rc.3 2017-09-05 13:42:47 +01:00
David Baker
ac3c664385 Merge remote-tracking branch 'origin/develop' into release-v0.12.3 2017-09-05 13:42:07 +01:00
David Baker
17bf8cb4ab v0.12.3-rc.2 2017-09-05 13:15:56 +01:00
David Baker
6f5054f645 Prepare changelog for v0.12.3-rc.2 2017-09-05 13:15:55 +01:00
David Baker
0c04df88cd v0.12.3-rc.2 2017-09-05 13:14:33 +01:00
David Baker
32423654b4 new react-sdk rc 2017-09-05 13:13:58 +01:00
Weblate
f3a9f95477 Merge remote-tracking branch 'origin/develop' into develop 2017-09-05 10:14:05 +00:00
uppps
3615ba2bdb Translated using Weblate (Spanish)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-09-05 10:14:05 +00:00
David Baker
a94710a9a5 Merge pull request #4971 from vector-im/dbkr/fix_weblate_plurals
Fix plurals in translations
2017-09-05 11:13:58 +01:00
uppps
ae287dfc00 Translated using Weblate (Spanish)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-09-05 10:09:21 +00:00
Jerzy Kołosowski
c39df96b1d Translated using Weblate (Polish)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-09-04 20:23:21 +00:00
Stefan Parviainen
b15b4735bb Translated using Weblate (Swedish)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2017-09-04 16:41:05 +00:00
David Baker
b55174e5e9 Fix plurals in translations
See https://github.com/matrix-org/matrix-react-sdk/pull/1358
Requires https://github.com/matrix-org/matrix-react-sdk/pull/1358
2017-09-04 17:18:27 +01:00
Weblate
cde03565be Merge remote-tracking branch 'origin/develop' into develop 2017-09-04 16:16:53 +00:00
David Baker
1f3f7af1e1 Revert accidental merge 2017-09-04 17:16:13 +01:00
Weblate
d13c712103 Merge remote-tracking branch 'origin/develop' into develop 2017-09-04 16:15:17 +00:00
David Baker
1e203cade7 Fix plurals in translations
See https://github.com/matrix-org/matrix-react-sdk/pull/1358
Requires https://github.com/matrix-org/matrix-react-sdk/pull/1358
2017-09-04 17:14:41 +01:00
Stefan Parviainen
4511805e3d Translated using Weblate (Finnish)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2017-09-04 16:13:23 +00:00
David Baker
ba2f7b78e8 Merge pull request #4968 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-09-04 15:19:50 +01:00
Bamstam
c222457c86 Translated using Weblate (German)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-09-04 07:58:09 +00:00
Robert Swain
e8424d71db ElectronPlatform.js: Add Jitsi screensharing support 2017-09-04 09:33:08 +02:00
lazz0
a09b59392e Translated using Weblate (German)
Currently translated at 99.0% (207 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-09-04 07:00:46 +00:00
钟进
5857476e1b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-09-02 04:04:23 +00:00
David Baker
3f8564f641 v0.12.3-rc.1 2017-09-01 16:22:24 +01:00
David Baker
cb42ae0719 Prepare changelog for v0.12.3-rc.1 2017-09-01 16:22:23 +01:00
David Baker
8b59c8c167 v0.12.3-rc.1 2017-09-01 16:21:38 +01:00
David Baker
c1fe3dff22 react-sdk v0.10.3 2017-09-01 16:19:08 +01:00
Osoitz
4b35df6c51 Translated using Weblate (Basque)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2017-08-31 17:55:46 +00:00
Michael Telatynski
3aa12246ea Merge branch 'develop' into t3chguy/devtools 2017-08-31 17:11:53 +01:00
Jan Kudrik
8a3fe14df7 Translated using Weblate (Czech)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-31 14:39:45 +00:00
Michael Telatynski
b84f258f87 add bottom margin to navigation buttons of room state explorer
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-31 13:49:52 +01:00
Weblate
4702697e9e Merge remote-tracking branch 'origin/develop' into develop 2017-08-31 08:51:11 +00:00
Luke Barnard
da9dcc8f50 Merge pull request #4858 from Nostradamos/fix-4804
Fix overflowing login/register buttons on some languages issue #4804
2017-08-31 09:51:06 +01:00
Michael Telatynski
68fc202086 remove pointless self vars and DRY render method of send custom events
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-31 09:45:46 +01:00
Michael Telatynski
ce0861d5bd undo `` as its hard to read
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-31 09:25:06 +01:00
Weblate
a3e830127d Merge remote-tracking branch 'origin/develop' into develop 2017-08-31 07:33:25 +00:00
Alexey Murz Korepov
fb3ac0cad0 Translated using Weblate (Russian)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-08-31 07:33:25 +00:00
Ange des ténèbres
0339afa10c Translated using Weblate (French)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-08-31 07:33:25 +00:00
David Baker
a70e7751e9 Merge pull request #4943 from anoadragon453/develop
Update vector-im to riot-im on Login
2017-08-31 08:33:21 +01:00
Jeff Huang
a29cb58f1f Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-08-31 05:21:58 +00:00
Nostradamos
861b6a2c6c Changed padding to 0px 11px and added word-break: break-word 2017-08-30 22:25:09 +02:00
Andrew (anoa)
8e5427d626 Update vector-im to riot-im on Login
Signed-off-by: Andrew (anoa) <anoa@openmailbox.org>
2017-08-30 12:06:19 -07:00
Andrey
4beb54e096 Translated using Weblate (Russian)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-08-30 18:34:25 +00:00
Clément
d6a662dcd8 Translated using Weblate (French)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-08-30 15:42:58 +00:00
Ange des ténèbres
b23838804e Translated using Weblate (French)
Currently translated at 100.0% (209 of 209 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-08-30 15:40:44 +00:00
Weblate
676ce6aec1 Merge remote-tracking branch 'origin/develop' into develop 2017-08-30 15:16:28 +00:00
Luke Barnard
8874c4dd43 Merge pull request #4910 from vector-im/t3chguy/success_bug_report
lets let people know that the bug report actually sent properly :)
2017-08-30 16:16:24 +01:00
Weblate
9471ff87c4 Merge remote-tracking branch 'origin/develop' into develop 2017-08-30 15:11:29 +00:00
Herodotus
2c954d42ce Translated using Weblate (Tamil)
Currently translated at 70.0% (145 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-30 15:11:29 +00:00
Luke Barnard
679836aa08 Merge pull request #4934 from vector-im/docfix
another s/vector/riot/ in README
2017-08-30 16:11:24 +01:00
Luke Barnard
88228a5a3f Implement sticky date separators
Codep https://github.com/matrix-org/matrix-react-sdk/pull/1353
2017-08-30 14:06:50 +01:00
David Baker
e5912b996d copyright 2017-08-30 09:23:20 +01:00
Hubert Chathi
dd73aeec70 another s/vector/riot/
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca>
2017-08-29 23:06:50 -04:00
Weblate
6f6ac46156 Merge remote-tracking branch 'origin/develop' into develop 2017-08-29 15:33:41 +00:00
Herodotus
0e16f095a0 Translated using Weblate (Tamil)
Currently translated at 59.9% (124 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-29 15:33:41 +00:00
Rupus Reinefjord
8cb76be414 Translated using Weblate (Swedish)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2017-08-29 15:33:41 +00:00
Andrey
c8a22d31cd Translated using Weblate (Russian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-08-29 15:33:40 +00:00
anmcp
0b84873b92 Translated using Weblate (Portuguese)
Currently translated at 81.6% (169 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt/
2017-08-29 15:33:40 +00:00
Stefan Parviainen
106adfe9ed Translated using Weblate (Finnish)
Currently translated at 95.1% (197 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2017-08-29 15:33:40 +00:00
Jan Kudrik
7fd3e4133b Translated using Weblate (Czech)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-29 15:33:40 +00:00
Luke Barnard
2ad24a0c0f Merge pull request #4907 from vector-im/t3chguy/fix_two_roomlist_regressions
fix two room list regressions
2017-08-29 16:33:35 +01:00
Michael Telatynski
f560dc4c11 add useful comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-29 14:58:30 +01:00
Mohamed Aamir
a499efc8cf Translated using Weblate (Tamil)
Currently translated at 44.4% (92 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-29 10:59:59 +00:00
Michael Telatynski
a2b57f502c lets let people know that the bug report actually sent properly :)
RFC on the wording of it.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-28 00:07:48 +01:00
Michael Telatynski
1c387c1fd1 fix two room list regressions:
+ missing roomsublist badge for invites
+ missing room badge for invites if i18n!=English

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-27 23:37:13 +01:00
Michael Telatynski
d14f16f0e9 look at event property of the mxEv, this way we won't have all
the additional internal keys :)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-27 17:25:51 +01:00
Michael Telatynski
a437f23e9d add i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-26 18:48:24 +01:00
Michael Telatynski
78aa0a59de Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/devtools 2017-08-26 18:29:19 +01:00
Jan Kudrik
6616d14e9e Translated using Weblate (Czech)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-26 16:10:12 +00:00
Miloslav Nenadál
5cf7a0f180 Translated using Weblate (Czech)
Currently translated at 80.6% (167 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-26 09:54:26 +00:00
Magorak
c2f01d8d1e Translated using Weblate (Czech)
Currently translated at 53.6% (111 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-25 19:29:39 +00:00
Nostradamos
3726926776 added padding-left/padding-right: 12px to login/register buttons 2017-08-25 18:23:56 +02:00
Eero
bf19d20ec3 Translated using Weblate (Finnish)
Currently translated at 50.2% (104 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2017-08-25 14:30:08 +00:00
David Baker
a673cbcf1e s/member/groupMember/ 2017-08-25 13:00:43 +01:00
Richard Lewis
a30d8cfa2f Add whitespace 2017-08-25 10:02:32 +01:00
Richard Lewis
52717ae486 Update parallelshell version. 2017-08-25 09:51:07 +01:00
Richard Lewis
0f09cca0e3 Ignore package-lock.json 2017-08-25 09:49:40 +01:00
Rupus Reinefjord
0beaa76f87 Translated using Weblate (Swedish)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2017-08-24 16:20:04 +00:00
Weblate
a3d0072e45 Merge remote-tracking branch 'origin/develop' into develop 2017-08-24 13:56:44 +00:00
Eero
1a56f0f162 Translated using Weblate (Finnish)
Currently translated at 47.8% (99 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2017-08-24 13:56:43 +00:00
David Baker
65f0bd04f2 v0.12.2 2017-08-24 14:53:02 +01:00
David Baker
0e87deb9ff Prepare changelog for v0.12.2 2017-08-24 14:53:02 +01:00
David Baker
843b608939 v0.12.2 2017-08-24 14:51:11 +01:00
David Baker
f69d5d7e3f Released js-sdk & react-sdk 2017-08-24 14:50:44 +01:00
Weblate
2270f801ad Merge remote-tracking branch 'origin/develop' into develop 2017-08-24 13:01:02 +00:00
sahajkoka
2aedfde9fe Translated using Weblate (Telugu)
Currently translated at 61.8% (128 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-08-24 13:01:02 +00:00
sarankumar
635ac35d55 Translated using Weblate (Tamil)
Currently translated at 44.4% (92 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-24 13:01:02 +00:00
Paul Tötterman
50d6c5f90f Translated using Weblate (Swedish)
Currently translated at 77.7% (161 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2017-08-24 13:01:01 +00:00
Paul Tötterman
a45e42a056 Translated using Weblate (Finnish)
Currently translated at 42.5% (88 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fi/
2017-08-24 13:01:01 +00:00
Michael Telatynski
61d9c1a57a Merge remote-tracking branch 'remotes/origin/develop' into patch-1 2017-08-24 10:07:04 +01:00
David Baker
a65196ee8c Update electron version 2017-08-23 21:17:07 +01:00
Nostradamos
1dfa8361c5 Fixed https://github.com/vector-im/riot-web/issues/4804 2017-08-23 22:12:02 +02:00
liwXO
436c9b3488 Translated using Weblate (Polish)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-08-23 17:58:42 +00:00
David Baker
9e57c9d78f v0.12.1 2017-08-23 15:58:50 +01:00
David Baker
16bc5359e4 Prepare changelog for v0.12.1 2017-08-23 15:58:49 +01:00
David Baker
2cec34021a v0.12.1 2017-08-23 15:58:05 +01:00
David Baker
c900b58120 Released js-sdk & react-sdk 2017-08-23 15:57:45 +01:00
David Baker
f523d93720 v0.12.1-rc.1 2017-08-22 18:57:20 +01:00
David Baker
6c7fa77684 Prepare changelog for v0.12.1-rc.1 2017-08-22 18:57:19 +01:00
David Baker
c7ddf6a80d v0.12.1-rc.1 2017-08-22 18:56:13 +01:00
David Baker
ab2a72a193 Bump version temporarily
so we get the diff from v0.12.0-rc.2
2017-08-22 18:55:33 +01:00
David Baker
6bdad8b5f6 Released js-sdk & react-sdk 2017-08-22 18:55:09 +01:00
David Baker
0b29b7f9fd Merge pull request #4832 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-08-22 18:17:45 +01:00
Sohom Bhattacharjee
1b84fc1d2e Translated using Weblate (Bengali (India))
Currently translated at 0.0% (0 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bn_IN/
2017-08-22 16:57:08 +00:00
Sohom Bhattacharjee
60d9ef5c67 Translated using Weblate (Bengali (India))
Currently translated at 0.0% (0 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bn_IN/
2017-08-22 16:56:34 +00:00
Balaji Ravichandran
0df68cb8e6 Translated using Weblate (Tamil)
Currently translated at 28.5% (59 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-22 16:49:40 +00:00
David Baker
bbe00b2f54 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-22 11:08:58 +01:00
David Baker
f551cfef81 Retest please 2017-08-22 10:53:24 +01:00
David Baker
013f2ce66a More CSS for group membership lifecycle 2017-08-21 19:34:31 +01:00
Weblate
f38df8b61b Merge remote-tracking branch 'origin/develop' into develop 2017-08-21 13:03:47 +00:00
Balaji Ravichandran
77dbac81ed Translated using Weblate (Tamil)
Currently translated at 17.3% (36 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-21 13:03:47 +00:00
lazz0
0d1d30ab32 Translated using Weblate (Spanish)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-08-21 13:03:47 +00:00
kaiyou
c28ad8e8ef Translated using Weblate (French)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-08-21 13:03:46 +00:00
Sohom Bhattacharjee
2306d6ffd6 Translated using Weblate (Bengali (India))
Currently translated at 0.0% (0 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/bn_IN/
2017-08-21 13:03:46 +00:00
Richard Lewis
b54dabddd5 Merge pull request #4826 from vector-im/rxl881/drawerStyling
Misc styling fixes.
2017-08-21 14:03:40 +01:00
Richard Lewis
e0bc1133d7 Position add app widget. 2017-08-21 11:30:05 +01:00
Richard Lewis
94877b0ac4 App drawer bottom margin.
Minimised app drawer margin.
Make app body content full width.
2017-08-21 11:10:21 +01:00
David Baker
07b6e215a1 CSS for group invite tiles 2017-08-18 11:24:52 +01:00
David Baker
ee6e36cd90 Allow extra tiles to be put into room sub lists
So we can put in tiles for group invites & other stuff
2017-08-18 11:23:55 +01:00
Weblate
fe6857c6c2 Merge remote-tracking branch 'origin/develop' into develop 2017-08-17 22:55:31 +00:00
Jan Kudrik
fd7966b25e Translated using Weblate (Czech)
Currently translated at 24.6% (51 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-17 22:55:30 +00:00
Matthew Hodgson
3664a86722 center apps 2017-08-17 23:55:24 +01:00
Weblate
93848fab53 Merge remote-tracking branch 'origin/develop' into develop 2017-08-17 18:06:12 +00:00
Jan Kudrik
59d2b4d819 Translated using Weblate (Czech)
Currently translated at 7.2% (15 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-17 18:06:12 +00:00
Matthew Hodgson
4981723cea expand auxPanel when showing apps 2017-08-17 19:06:05 +01:00
Weblate
cc3d772f69 Merge remote-tracking branch 'origin/develop' into develop 2017-08-17 17:45:17 +00:00
Balaji Ravichandran
7114216394 Translated using Weblate (Tamil)
Currently translated at 14.4% (30 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-17 17:45:17 +00:00
joe moe
7023e7e096 Translated using Weblate (German)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-08-17 17:45:16 +00:00
Jan Kudrik
e0d292ace5 Translated using Weblate (Czech)
Currently translated at 2.8% (6 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-17 17:45:16 +00:00
Richard Lewis
24e463116b Merge pull request #4774 from vector-im/rxl881/appFixes
Show / Hide apps icons
2017-08-17 18:45:12 +01:00
Richard Lewis
1bd9590c53 Kick travis 2017-08-17 18:26:38 +01:00
František Šindelář
849097a7a0 Translated using Weblate (Czech)
Currently translated at 0.9% (2 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-17 17:01:38 +00:00
Jan Kudrik
b738fc4319 Translated using Weblate (Czech)
Currently translated at 0.4% (1 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/
2017-08-17 16:59:38 +00:00
Richard Lewis
48b3075e44 Merge branch 'develop' of https://github.com/vector-im/riot-web into rxl881/appFixes 2017-08-17 17:20:21 +01:00
Richard Lewis
3dc347fbb8 Kick travis 2017-08-17 15:25:48 +01:00
Michael Telatynski
befc9b7a66 Merge branch 'develop' of github.com:vector-im/riot-web into set_default_federate_by_settings 2017-08-17 13:31:31 +01:00
Michael Telatynski
f0967d4f18 split css out as the modal is no longer generic
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-17 13:31:09 +01:00
David Baker
1a7a670c96 Show the group invite dialog
What to TODO said!
2017-08-16 14:59:00 +01:00
Luke Barnard
5db01373bb Add i18n for Basque (eu), Latvian (lv), Telugu (te) 2017-08-16 11:15:48 +01:00
Luke Barnard
6cf671ad42 order languages in copy-res by iso code 2017-08-16 11:14:24 +01:00
Luke Barnard
064181731c v0.12.0-rc.1 2017-08-16 10:40:28 +01:00
Luke Barnard
35cd9ca12e Prepare changelog for v0.12.0-rc.1 2017-08-16 10:40:27 +01:00
Luke Barnard
e5dd37d2d6 v0.12.0-rc.1 2017-08-16 10:39:57 +01:00
Luke Barnard
c07c060b7d Fix jq command to use [] instead of ."matrix-js-sdk"
Because otherwise there might be a syntax error looking like
```
error: syntax error, unexpected QQSTRING_START, expecting IDENT
.dependencies."matrix-js-sdk"
```
2017-08-16 10:22:09 +01:00
Luke Barnard
cc8518101b js-sdk 0.8.0 react-sdk 0.10.0-rc.1 2017-08-16 10:10:03 +01:00
Luke Barnard
d684a33ae9 Fix translations 2017-08-15 18:23:11 +01:00
Luke Barnard
6068647840 Merge pull request #4797 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-08-15 18:16:10 +01:00
David Baker
57eb2feeb6 Make right panel collpasing work in GroupView 2017-08-15 13:18:16 +01:00
Weblate
61b4fdb53a Merge remote-tracking branch 'origin/develop' into develop 2017-08-15 10:16:38 +00:00
liwXO
e65ae80fce Translated using Weblate (Polish)
Currently translated at 99.5% (206 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-08-15 10:16:37 +00:00
Brendan Abolivier
90cb9b04f4 Translated using Weblate (French)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-08-15 10:16:37 +00:00
Luke Barnard
6cc62a183f CSS: Pills in messages cursor:pointer 2017-08-15 11:16:30 +01:00
David Baker
be611f53e1 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-15 10:49:20 +01:00
IMIN
7857eea58f Translated using Weblate (Korean)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2017-08-13 03:58:30 +00:00
Weblate
d5038b35f6 Merge remote-tracking branch 'origin/develop' into develop 2017-08-11 16:48:32 +00:00
Balaji Ravichandran
2ff23f3b62 Translated using Weblate (Tamil)
Currently translated at 8.2% (17 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/
2017-08-11 16:48:32 +00:00
random
eb0c0e63ea Translated using Weblate (Italian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-08-11 16:48:32 +00:00
Luke Barnard
07ca70fd44 Fix scrollbar for pills with initial avatar 2017-08-11 17:48:25 +01:00
Balaji Ravichandran
ce1e9c3050 Added translation using Weblate (Tamil) 2017-08-11 14:03:21 +00:00
random
504209b5a6 Translated using Weblate (Italian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-08-11 12:36:47 +00:00
Weblate
7911df46a0 Merge remote-tracking branch 'origin/develop' into develop 2017-08-11 09:52:41 +00:00
David Baker
d610788866 Merge pull request #4777 from vector-im/luke/fix-quick-search-nav
move focus-via-up/down cursors to LeftPanel
2017-08-11 10:52:36 +01:00
Weblate
711a8cee8a Merge remote-tracking branch 'origin/develop' into develop 2017-08-11 09:49:29 +00:00
Oon Arfiandwi
7a3c52af7e Translated using Weblate (Indonesian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/id/
2017-08-11 09:49:28 +00:00
Kevin Németh
e633d43c38 Translated using Weblate (Hungarian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-08-11 09:49:28 +00:00
David Baker
3eeabe8d91 Merge pull request #4775 from vector-im/luke/fix-user-url-no-middle-panel
Remove userId property on RightPanel
2017-08-11 10:49:25 +01:00
Michael Telatynski
84f4fbe142 DRY up code and change flow to be less destructive
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 23:56:57 +01:00
Michael Telatynski
3fd1a366bf add back button to all pages and widen textarea 2017-08-10 23:13:40 +01:00
Oon Arfiandwi
eb036bd8f1 Translated using Weblate (Indonesian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/id/
2017-08-10 21:15:51 +00:00
Michael Telatynski
4bb8aecc25 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/devtools 2017-08-10 21:29:58 +01:00
Weblate
72cbdb2e39 Merge remote-tracking branch 'origin/develop' into develop 2017-08-10 17:20:25 +00:00
Luke Barnard
752934350f Merge pull request #4776 from shvchk/patch-2
Make member device info buttons fluid and stackable with flexbox
2017-08-10 18:20:22 +01:00
Matthew Hodgson
5bfb5d4c3c move focus-via-up/down cursors to LeftPanel
Conflicts:
	src/components/structures/LeftPanel.js
2017-08-10 18:18:15 +01:00
Andrei Shevchuk
a72fc80ef6 Remove width 100% from device info buttons wrapper 2017-08-10 20:08:46 +03:00
Luke Barnard
44c6f3fafc Add todo to make RP listen to RVS 2017-08-10 16:59:12 +01:00
Michael Telatynski
2d4484e0f2 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/devtools 2017-08-10 16:06:14 +01:00
Andrei Shevchuk
68dd47aa7b Make member device info buttons fluid and stackable with flexbox
Buttons with short text stay as they are, buttons with long text don't get overflowed, but just grow and wrap on a new line if needed, still remaining aligned with others (see screenshot in PR comments)

Signed-off-by: Andrei Shevchuk <andrei@shevchuk.co>
2017-08-10 17:50:09 +03:00
Weblate
a13c0b12cb Merge remote-tracking branch 'origin/develop' into develop 2017-08-10 14:36:08 +00:00
Luke Barnard
535e33509b Merge pull request #4688 from vector-im/t3chguy/i18n_analytics
un-i18n Modal Analytics
2017-08-10 15:36:04 +01:00
Michael Telatynski
4c6836bc3f don't track error messages .2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 15:13:30 +01:00
Michael Telatynski
9c5ceb6775 don't track error messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:56:01 +01:00
Weblate
d20c1fe029 Merge remote-tracking branch 'origin/develop' into develop 2017-08-10 12:29:44 +00:00
Marcel
aae7515339 Add Login Page LanguageDropdown CSS (#4767) 2017-08-10 13:29:41 +01:00
Luke Barnard
7269e7b84a Remove userId property on RightPanel
because we shouldn't have a dispatch AND have a property that do vaguely similar things. Ideally, the dispatch would send a userId and RP would do async work to get the member/avatar/displayname.
2017-08-10 13:16:31 +01:00
Weblate
81d123f652 Merge remote-tracking branch 'origin/develop' into develop 2017-08-10 09:35:49 +00:00
Sri Lakshmi
b8c0e844ea Translated using Weblate (Telugu)
Currently translated at 60.8% (126 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-08-10 09:35:49 +00:00
Alexandre Franke
6cab2ed6b9 Translated using Weblate (French)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-08-10 09:35:49 +00:00
Luke Barnard
72d250d8c4 Merge pull request #4773 from vector-im/luke/fix-quote-innerText
Quote using innerText
2017-08-10 10:35:45 +01:00
Luke Barnard
57f82c3c9e Quote using innerText
codep matrix-org/matrix-react-sdk#1289
2017-08-10 10:18:37 +01:00
Nathan van Beelen
918d0eb4fd Translated using Weblate (Dutch)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-08-09 19:40:13 +00:00
Richard Lewis
435ec448d6 Add improved icons from Matthew 2017-08-09 16:21:15 +01:00
Bhuvan Krishna
1e4d621ee7 Translated using Weblate (Telugu)
Currently translated at 60.8% (126 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-08-09 15:11:30 +00:00
Sri Lakshmi
370268bba8 Translated using Weblate (Telugu)
Currently translated at 60.3% (125 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-08-09 15:11:14 +00:00
Sri Lakshmi
8906aeb766 Translated using Weblate (Telugu)
Currently translated at 60.3% (125 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-08-09 14:45:33 +00:00
David Baker
7c4b6739fc Add group member right panel 2017-08-09 15:36:51 +01:00
Richard Lewis
d9ebb11ba9 Merge branch 'develop' of https://github.com/vector-im/riot-web into rxl881/appFixes 2017-08-09 14:08:13 +01:00
David Baker
12628b67ea Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-09 13:46:40 +01:00
Weblate
906ed3c78f Merge remote-tracking branch 'origin/develop' into develop 2017-08-09 08:30:53 +00:00
Luke Barnard
ee2fb17945 Merge pull request #4765 from vector-im/rav/karma-bits
Karma tweaks for riot-web
2017-08-09 09:30:49 +01:00
Richard van der Hoff
06ef674597 Enable fancy karma reporters
cargo-cult luke's stuff from react-sdk
2017-08-08 19:05:58 +01:00
Richard van der Hoff
df33d40285 Enable karma-sourcemap-loader
This turns (some) stacktraces back into something useful, so that unpicking
test failures is vaguely tractable
2017-08-08 19:05:49 +01:00
Weblate
b3108e4dff Merge remote-tracking branch 'origin/develop' into develop 2017-08-08 17:23:49 +00:00
Richard van der Hoff
0b2120e423 Merge pull request #4764 from MTRNord/patch-5
Fix typo with scripts/fetch-develop-deps.sh in Building From Source
2017-08-08 18:23:44 +01:00
Marcel
a3525f411d Fix typo with scripts/fetch-develop-deps.sh in Building From Source
scripts/fetch-develop-deps.sh vs scripts/fetch-develop.deps.sh
2017-08-08 19:22:07 +02:00
Weblate
f7c38992cc Merge remote-tracking branch 'origin/develop' into develop 2017-08-08 13:01:34 +00:00
David Baker
3e96892a91 Merge pull request #4757 from vector-im/luke/css-feature-pills-hide-avatar-setting
Adjust CSS for optional avatars in pills
2017-08-08 14:01:29 +01:00
Luke Barnard
274fc34868 Adjust CSS for optional avatars in pills
codep matrix-org/matrix-react-sdk#1277
2017-08-08 11:14:52 +01:00
Weblate
6cb979fc6f Merge remote-tracking branch 'origin/develop' into develop 2017-08-08 09:13:10 +00:00
Richard van der Hoff
10ee9f4de4 Merge pull request #4754 from vector-im/rav/fix_crypto_build
Fix crypto on develop
2017-08-08 10:13:06 +01:00
Richard van der Hoff
c31f66aed5 Jenkins.sh: only fetch head of dependency branches 2017-08-08 09:50:49 +01:00
Richard van der Hoff
7b024751d1 fetch-develop-deps: avoid breaking js-sdk
do `npm i` in react-sdk *before* symlinking js-sdk, to avoid moving a load of
deps from js-sdk to react-sdk and hence breaking the build.
2017-08-08 09:50:49 +01:00
Richard van der Hoff
9c3c1b7608 Make webpack exit non-zero on error
Pass `--bail` to webpack, so that if we can't find a module, we bail out rather
than deploy a broken version to /develop.

https://github.com/webpack/webpack/issues/708 is somewhat relevant.
2017-08-08 09:50:49 +01:00
Weblate
a8ddf528a8 Merge remote-tracking branch 'origin/develop' into develop 2017-08-06 19:11:38 +00:00
Matthew Hodgson
9f3c33758c Merge pull request #4464 from vsund/patch-1
Fix signing key url in readme
2017-08-06 20:11:32 +01:00
Weblate
ed9a4a3933 Merge remote-tracking branch 'origin/develop' into develop 2017-08-06 19:11:06 +00:00
Matthew Hodgson
bf38fead18 Merge pull request #4749 from jfmherokiller/gitignore-update
update gitignore to allow .idea directory to exist in subdirs
2017-08-06 20:11:00 +01:00
Weblate
b75402e772 Merge remote-tracking branch 'origin/develop' into develop 2017-08-06 19:10:34 +00:00
Matthew Hodgson
a98c734eb5 Merge pull request #4665 from uhoreg/compact
tweak compact theme
2017-08-06 20:10:27 +01:00
Jordan Moran Meyers
fb69ac33a0 update gitignore to allow .idea directory to exist in subdirs 2017-08-05 15:50:47 -05:00
Richard Lewis
25d1d785ba Updated icons 2017-08-05 00:23:55 +01:00
Richard Lewis
41afbb117d Add show and hide icons 2017-08-04 23:44:52 +01:00
Weblate
8b1650c382 Merge remote-tracking branch 'origin/develop' into develop 2017-08-03 14:56:03 +00:00
David Baker
4b5febadb7 Merge pull request #4740 from vector-im/luke/upgrade-dep-draft-js-0.11.0-alpha
Update draft-js from 0.10.1 to 0.11.0-alpha
2017-08-03 15:55:57 +01:00
Luke Barnard
8ca2af0fe7 Update draft-js from 0.10.1 to 0.11.0-alpha (see https://github.com/matrix-org/matrix-react-sdk/pull/1269) 2017-08-03 15:22:52 +01:00
Weblate
03228d945d Merge remote-tracking branch 'origin/develop' into develop 2017-08-03 14:21:40 +00:00
yuurii
3e845bc37c Translated using Weblate (Japanese)
Currently translated at 28.5% (59 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ja/
2017-08-03 14:21:39 +00:00
Osoitz
531f1e52eb Translated using Weblate (Basque)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2017-08-03 14:21:38 +00:00
David Baker
f5e5bb8720 Merge pull request #4739 from vector-im/t3chguy/mouse_forward_back-windows
electron support for mouse forward/back buttons in Windows
2017-08-03 15:21:33 +01:00
Michael Telatynski
a6d5158830 electron support for mouse forward/back buttons in Windows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-03 15:03:50 +01:00
daniel tygel
dfa1ce8d77 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2017-08-03 13:46:44 +00:00
Jeff Huang
3ba4823fd7 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-08-03 00:43:45 +00:00
Michael Telatynski
1b004f170d make eslint happy 2017-08-03 01:10:32 +01:00
Michael Telatynski
9ab30b7b17 fix line-length and copyright header 2017-08-03 01:05:43 +01:00
Michael Telatynski
131d1c74c9 add room state explorer to devtools 2017-08-03 00:59:40 +01:00
yuurii
b9ff6c873c Added translation using Weblate (Japanese) 2017-08-02 13:32:57 +00:00
Michael Telatynski
29f43f8fe8 add styling for TextInputWithCheckboxDialog
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 14:01:32 +01:00
Weblate
6653ccf9a1 Merge remote-tracking branch 'origin/develop' into develop 2017-08-02 12:06:35 +00:00
Luke Barnard
4b8764c070 Merge pull request #4730 from vector-im/luke/update-dep-draft-js
Update draft-js from 0.8.1 to 0.10.1
2017-08-02 13:06:31 +01:00
Michael Telatynski
bf09c14e44 Merge branch 'develop' of github.com:vector-im/riot-web into set_default_federate_by_settings 2017-08-02 12:24:15 +01:00
Luke Barnard
2f99a4883f Update draft-js from 0.8.1 to 0.10.1
Hopefully to fix #4675 and friends
2017-08-02 11:52:47 +01:00
Michael Telatynski
27a1038e8d Merge branch 'master' of github.com:vector-im/riot-web into set_default_federate_by_settings 2017-08-02 11:48:20 +01:00
Weblate
73e5cc9721 Merge remote-tracking branch 'origin/develop' into develop 2017-08-01 16:30:35 +00:00
Walter
b12741464e Translated using Weblate (Russian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-08-01 16:30:34 +00:00
Richard Lewis
af85f18eae Styling tweaks 2017-08-01 17:30:22 +01:00
Osoitz
2551a945b8 Translated using Weblate (Basque)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eu/
2017-08-01 15:29:26 +00:00
Osoitz
6bab8295d7 Added translation using Weblate (Basque) 2017-08-01 14:02:02 +00:00
Michael Telatynski
6bfdd69279 add devtools dialog 2017-07-31 12:08:41 +01:00
Michael Telatynski
5b6dbfb701 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/i18n_analytics 2017-07-28 21:02:48 +01:00
Weblate
8b26d5b7fb Merge remote-tracking branch 'origin/develop' into develop 2017-07-28 14:34:13 +00:00
David Baker
384727a553 Merge pull request #4693 from vector-im/luke/css-sending-event-tile
Make pills, emoji translucent when sending
2017-07-28 15:34:09 +01:00
Luke Barnard
397523f4ac Make pills, emoji translucent when sending
also fix header colours, which now inherit the font colour of the event tile (so all headers have the correct colour when sending or when the event tile is highlighted for a mention)
2017-07-28 15:13:36 +01:00
Weblate
ca388b8c7c Merge remote-tracking branch 'origin/develop' into develop 2017-07-28 13:15:45 +00:00
Richard Lewis
ca5fdff72f Merge pull request #4690 from vector-im/rxl881/widgetPermissions
Widget permissions styling and icon
2017-07-28 14:15:41 +01:00
Richard Lewis
317ff8c6af Beta tag styling 2017-07-27 23:02:19 +01:00
Richard Lewis
50f5abf535 Permissions button cursor. 2017-07-27 20:19:08 +01:00
Richard Lewis
c1fe3533c4 Add red cancel icon and styling. 2017-07-27 18:10:56 +01:00
Michael Telatynski
93a3c896a4 un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:45:02 +01:00
Richard Lewis
0bee03e86f Fix App body height.
App warning colours.
App loading styling.
2017-07-27 16:40:33 +01:00
LuPa
de5db26214 Translated using Weblate (Spanish)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-07-26 18:20:02 +00:00
Weblate
a5771c48ba Merge remote-tracking branch 'origin/develop' into develop 2017-07-26 15:58:35 +00:00
Sri Lakshmi
5b3fb36ac7 Translated using Weblate (Telugu)
Currently translated at 6.2% (13 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-07-26 15:58:35 +00:00
Bamstam
c8a39e361d Translated using Weblate (German)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-07-26 15:58:35 +00:00
David Baker
068a2b869e Merge pull request #4682 from vector-im/luke/css-fix-rte-auto-scroll
CSS required for composer autoscroll
2017-07-26 16:58:32 +01:00
Travis Ralston
e7c3563358 Translated using Weblate (English (United States))
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
2017-07-26 15:51:27 +00:00
Richard Lewis
ff2554c8a6 App permission component styling. 2017-07-26 16:48:24 +01:00
Luke Barnard
35c239aae8 CSS required for composer autoscroll
for https://github.com/matrix-org/matrix-react-sdk/pull/1248
2017-07-26 16:45:00 +01:00
David Baker
4fa85723ab Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-07-25 17:16:05 +01:00
David Baker
3ff628254d CSS for group userlist 2017-07-25 15:56:40 +01:00
Weblate
c2e1b6c613 Merge remote-tracking branch 'origin/develop' into develop 2017-07-25 09:21:55 +00:00
David Baker
ec6efd2488 Merge pull request #4608 from vector-im/dbkr/groupview_edit
CSS for group edit UI
2017-07-25 10:21:51 +01:00
Weblate
1a09fc60f0 Merge remote-tracking branch 'origin/develop' into develop 2017-07-25 08:55:42 +00:00
Matthew Hodgson
bcedc206e1 seems folk prefer darker pills 2017-07-25 09:55:34 +01:00
Weblate
77582e0a17 Merge remote-tracking branch 'origin/develop' into develop 2017-07-24 21:13:38 +00:00
Kevin Németh
be0cb667c8 Translated using Weblate (Hungarian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-07-24 21:13:37 +00:00
Matthew Hodgson
dbeeacf11c tweak pill colours some more 2017-07-24 22:13:29 +01:00
Weblate
d0344fef8b Merge remote-tracking branch 'origin/develop' into develop 2017-07-24 20:22:49 +00:00
Richard van der Hoff
7dbb4bba09 Merge pull request #4671 from vector-im/rav/promise_fail_fails
Fix a couple of minor errors in the room list
2017-07-24 21:22:45 +01:00
Richard van der Hoff
bc2f639aae Fix a couple of minor errors in the room list
bluebird promises don't support .fail, so some operations didn't work quite
right. We should use .catch instead.
2017-07-24 17:19:46 +01:00
Weblate
8445eb0959 Merge remote-tracking branch 'origin/develop' into develop 2017-07-24 13:49:52 +00:00
Lauris Mierkalns
de04cba41f Translated using Weblate (Latvian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/lv/
2017-07-24 13:49:52 +00:00
Luke Barnard
e923847dac Make user mentions more pill-like
By adding subtle background-colors
2017-07-24 14:49:43 +01:00
Hubert Chathi
efa156b53a tweak compact theme
- add some comments
- decrease size of info events and MELS (#4363.2)
- reduce spacing between paragraphs, lists, etc (#4363.3 & 4)

Signed-off-by: Hubert Chathi <hubert@uhoreg.ca>
2017-07-23 23:02:29 -04:00
David Baker
d2f02e8e99 Swap classes instead of using 0 height elements 2017-07-21 14:14:27 +01:00
David Baker
5ba3453dcc cursor: pointer on avatar picker 2017-07-21 11:12:46 +01:00
Lauris Mierkalns
9d8215e49f Added translation using Weblate (Latvian) 2017-07-20 23:24:17 +00:00
Weblate
2cc153c796 Merge remote-tracking branch 'origin/develop' into develop 2017-07-20 13:05:10 +00:00
Richard Lewis
55084d3aca Merge pull request #4584 from vector-im/rxl881/beta
Styling for beta testing icon.
2017-07-20 14:05:06 +01:00
Weblate
878ff9826a Merge remote-tracking branch 'origin/develop' into develop 2017-07-20 10:50:26 +00:00
Richard van der Hoff
7e00a86048 Merge pull request #4650 from vector-im/rav/bump_indexeddb_timeot
Increase the timeout for clearing indexeddbs
2017-07-20 11:50:23 +01:00
Weblate
e133160a68 Merge remote-tracking branch 'origin/develop' into develop 2017-07-20 10:25:25 +00:00
Kegan Dougal
62579ed6b0 Add tracebacks to deploy exceptions 2017-07-20 11:25:19 +01:00
Weblate
98e3746a1e Merge remote-tracking branch 'origin/develop' into develop 2017-07-20 10:16:40 +00:00
Luke Barnard
01eef7eb41 Merge branch 'develop' of github.com:vector-im/riot-web into develop 2017-07-20 11:16:26 +01:00
Luke Barnard
ccf5d6fc90 Adjust pill CSS
-Remove space after mentions without pill background colour
-Increase space between pill avatar and first letter of the pill by 1px
2017-07-20 11:14:54 +01:00
Weblate
055224693a Merge remote-tracking branch 'origin/develop' into develop 2017-07-20 10:02:15 +00:00
Kegsay
9864ce5bb2 Support multiple config.json symlinks in redeploy.py (#4644)
* Support multiple config.json symlinks in redeploy.py

* Review comments
2017-07-20 11:02:10 +01:00
Richard van der Hoff
238afde00a Increase the timeout for clearing indexeddbs
Chrome seems to take ages (like, 1500ms regularly) to clear out the indexeddbs,
and that's causing test timeouts. Bump the timeout to hack around it.

Also: clear both dbs in parallel (can't hurt, right?) and improve diagnostics
on the process.
2017-07-20 11:01:27 +01:00
Bamstam
4b67900225 Translated using Weblate (German)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-07-19 20:52:22 +00:00
Weblate
fb10357dd5 Merge remote-tracking branch 'origin/develop' into develop 2017-07-19 16:26:16 +00:00
Luke Barnard
f7d282fc8e Merge pull request #4597 from vector-im/luke/css-matrixto-timeline-pills
Make some adjustments to mx_UserPill and mx_RoomPill
2017-07-19 17:26:13 +01:00
Weblate
11ae3dd46c Merge remote-tracking branch 'origin/develop' into develop 2017-07-19 16:16:06 +00:00
Luke Barnard
3544c2b0c8 Merge pull request #4639 from vector-im/luke/css-rte-pre
Apply CSS to <pre> tags to distinguish them from each other
2017-07-19 17:16:02 +01:00
Weblate
edfa3c1980 Merge remote-tracking branch 'origin/develop' into develop 2017-07-19 13:27:40 +00:00
Bhuvan Krishna
620f39c6a2 Translated using Weblate (Telugu)
Currently translated at 1.4% (3 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-07-19 13:27:40 +00:00
Luke Barnard
0c253e2437 Merge pull request #4643 from vector-im/luke/fix-room-tile-dnd
Use `catch` instead of `fail` to handle room tag error
2017-07-19 14:27:37 +01:00
Luke Barnard
53ae42ed68 Use catch instead of fail to handle room tag error
Because bluebird doesn't support fail
2017-07-19 14:11:22 +01:00
Luke Barnard
871c9e6d3e Add bing mention pill CSS
Useful with https://github.com/matrix-org/matrix-react-sdk/pull/1234
2017-07-19 11:02:51 +01:00
Luke Barnard
ccc30fb52e Apply CSS to <pre> tags to distinguish them from each other 2017-07-19 09:25:53 +01:00
Weblate
745b803d28 Merge remote-tracking branch 'origin/develop' into develop 2017-07-18 16:45:25 +00:00
Matthew Hodgson
bd693768cc deliberately de-theme pre tags 2017-07-18 17:45:17 +01:00
Weblate
6e1c40ea0f Merge remote-tracking branch 'origin/develop' into develop 2017-07-18 14:50:34 +00:00
Matthew Hodgson
b45108d80d ooooops, fix dark theme code blocks correctly 2017-07-18 15:50:28 +01:00
Weblate
ec68c54644 Merge remote-tracking branch 'origin/develop' into develop 2017-07-18 14:33:48 +00:00
erciccione
4e5e5dd6b3 Translated using Weblate (Italian)
Currently translated at 96.1% (199 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-07-18 14:33:48 +00:00
Matthew Hodgson
e7ba618bbe fix text in code blocks on dark theme 2017-07-18 15:33:41 +01:00
David Baker
fc470cd20d Merge remote-tracking branch 'origin/develop' into dbkr/groupview_edit 2017-07-18 11:14:27 +01:00
Alexey Murz Korepov
c6bc20cd2a Fix menu on change keyboard language issue #4345
Fix activating menu when changing keyboard language / layout  via Alt-Shift, Alt-Ctrl, Alt-CapsLock, and Alt-Space
2017-07-18 09:23:32 +03:00
David Baker
cd418a5525 Retest 2017-07-17 18:16:50 +01:00
David Baker
65b9086f18 Add group header button css 2017-07-17 17:20:11 +01:00
Luke Barnard
0e71ea7a5a Make some adjustments to mx_UserPill and mx_RoomPill
So that they can appear correctly in the body of a text message.
2017-07-17 14:52:08 +01:00
František Šindelář
faa9fa8db9 Added translation using Weblate (Czech) 2017-07-15 13:26:27 +00:00
Richard Lewis
f272961fbd Styling for beta testing icon. 2017-07-14 23:30:47 +01:00
Weblate
ac0d29dc06 Merge remote-tracking branch 'origin/develop' into develop 2017-07-14 17:04:10 +00:00
Luke Barnard
cb4f57eb4a Merge pull request #4583 from vector-im/luke/feature-rte-pills
CSS for decorated matrix.to links in the composer
2017-07-14 18:04:05 +01:00
Luke Barnard
a1b4b9992e Use $accent-fg-color instead of #fff 2017-07-14 17:59:53 +01:00
Luke Barnard
18a6ee5a52 white -> #fff 2017-07-14 17:52:11 +01:00
Luke Barnard
de0fd588b6 Add $rte-room-pill-color: #aaa 2017-07-14 17:51:25 +01:00
David Baker
54f44af494 Make editing prettier 2017-07-14 17:23:44 +01:00
Luke Barnard
38899c6011 CSS for decorated matrix.to links in the composer 2017-07-14 17:23:16 +01:00
Weblate
dd77147313 Merge remote-tracking branch 'origin/develop' into develop 2017-07-14 15:43:17 +00:00
David Baker
1690f875ca Merge pull request #4579 from vector-im/rav/wait_longer_for_client
Deflake the joining test
2017-07-14 16:43:13 +01:00
Richard van der Hoff
66ddf25977 Deflake the joining test
Just give the client longer to get started (it seems to be taking a long time
to get started talking to indexeddb)
2017-07-14 16:14:42 +01:00
Weblate
c24b04d19b Merge remote-tracking branch 'origin/develop' into develop 2017-07-14 14:43:00 +00:00
Richard van der Hoff
0c31c62a62 build fix: bump to mock-request 1.1
This should have happened with 32ef273f: now that we are using
flushAllExpected, we nee matrix-mock-request 1.1.0
2017-07-14 15:41:13 +01:00
David Baker
8c9afc2dfd Make GroupView more consistent with RoomView 2017-07-14 15:39:46 +01:00
Weblate
bd06a1c393 Merge remote-tracking branch 'origin/develop' into develop 2017-07-14 14:05:12 +00:00
Kegsay
40a47f8c7a Allow Riot to load up different configs depending on the domain (#4575)
Initially try to load `config.$domain.json` and only if that fails, load
`config.json`. Configs are not muxxed in any way, it either entirely uses
the domain config, or entirely uses `config.json`.
2017-07-14 15:05:07 +01:00
Weblate
8516c9d5b5 Merge remote-tracking branch 'origin/develop' into develop 2017-07-14 13:55:25 +00:00
David Baker
caa5751d50 Merge pull request #4577 from vector-im/rav/bump_react_versions
Bump react to 15.6 to fix build problems
2017-07-14 14:55:21 +01:00
Richard van der Hoff
01d954e4ab Bump react to 15.6 to fix build problems
matrix-react-test-tools requires react 15.6 or later, so make sure we require
it in riot-web too.
2017-07-14 14:45:44 +01:00
Tong Hui
f6f461c571 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-07-14 12:22:30 +00:00
Brendan Abolivier
e1e7492f17 Translated using Weblate (French)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-07-14 12:15:20 +00:00
Weblate
ea85a3c3d9 Merge remote-tracking branch 'origin/develop' into develop 2017-07-13 17:46:57 +00:00
Richard Lewis
c0830b48d0 Merge pull request #4567 from vector-im/rxl881/widgetButtons
Improve AppTile menu bar button styling.
2017-07-13 18:46:53 +01:00
David Baker
e60bf48134 CSS for start of group edit support 2017-07-13 18:42:14 +01:00
Weblate
ea7d923d76 Merge remote-tracking branch 'origin/develop' into develop 2017-07-13 16:46:16 +00:00
Luke Barnard
5e259ec176 Merge pull request #4572 from vector-im/rav/async_to_bluebird
Transform `async` functions to bluebird promises
2017-07-13 17:46:12 +01:00
Richard van der Hoff
3ec4b25793 Transform async functions to bluebird promises
It turns out that the assertion made in
https://github.com/vector-im/riot-web/pull/4565 about `async` functions
returning bluebird promises was only correct when babel used an inline version
of the `asyncToGenerator` helper; in react-sdk we are using
`babel-transform-runtime` which means that we use a separate
`babel-runtime/helpers/asyncToGenerator`, which returns a native (or core-js)
Promise.

This meant that we were still in the situation where some methods returned
native Promises, and some bluebird ones, which is exactly the situation I
wanted to resolve by switching to bluebird in the first place: in short,
unless/until we get rid of all code which assumes Promises have a `done` method
etc, we need to make sure that everything returns a bluebird promise.

(Aside: there was debate over whether in the long term we should be trying to
wean ourselves off bluebird promises by assuming all promises are native. The
conclusion was that the complexity hit involved in doing so outweighed any
benefit of a potential future migration away from bluebird).
2017-07-13 17:34:47 +01:00
Weblate
c5b72f0192 Merge remote-tracking branch 'origin/develop' into develop 2017-07-13 12:33:54 +00:00
David Baker
b9b0e98ccf Merge pull request #4570 from vector-im/rav/joining_test
use flushAllExpected in joining test
2017-07-13 13:33:50 +01:00
Richard van der Hoff
32ef273f9d use flushAllExpected in joining test
It won't do much to help with the vm stopping for 300ms, but it should make the
code and logs clearer.
2017-07-13 13:23:10 +01:00
Weblate
76f6a19733 Merge remote-tracking branch 'origin/develop' into develop 2017-07-13 11:20:13 +00:00
Richard van der Hoff
348ec52b14 Merge pull request #4565 from vector-im/rav/bluebird
Switch riot-web to bluebird
2017-07-13 12:20:08 +01:00
Richard van der Hoff
76181f4771 Merge remote-tracking branch 'origin/develop' into rav/bluebird 2017-07-13 12:04:54 +01:00
Weblate
9072ff93b9 Merge remote-tracking branch 'origin/develop' into develop 2017-07-13 10:58:24 +00:00
Luke Barnard
a303e1e1b8 Merge pull request #4564 from vector-im/rav/await_login_component
loading tests: wait for login component
2017-07-13 11:58:21 +01:00
Weblate
acbcde85ce Merge remote-tracking branch 'origin/develop' into develop 2017-07-13 10:33:32 +00:00
Luke Barnard
ba1166d0d0 Merge pull request #4568 from vector-im/luke/remove-old-composer
Remove CSS for the MessageComposerInputOld
2017-07-13 11:33:28 +01:00
Richard van der Hoff
7238c4dfac Fix overlooked q 2017-07-13 11:33:25 +01:00
Luke Barnard
d901515059 rethemedex 2017-07-13 10:16:23 +01:00
Luke Barnard
f5c4d903e6 Remove CSS for TabComplete 2017-07-13 10:11:58 +01:00
Richard Lewis
e15c8e473f AppTile menu bar button styling. 2017-07-13 09:44:19 +01:00
Richard van der Hoff
69eb1a49d4 Fix a broken test
turns out that you could call defer.resolve on q defers as an unbound function,
whereas that doesn't work with bluebird promises.
2017-07-13 00:56:13 +01:00
Richard van der Hoff
1d2d086a58 Replace q.allSettled()
Bluebird doesn't have an `allSettled` method, so instead catch the exceptions and
use `all`.
2017-07-13 00:50:01 +01:00
Richard van der Hoff
4c5b5ca0ba replace q.Promise with new Promise 2017-07-13 00:50:01 +01:00
Richard van der Hoff
d5b550f89a replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-13 00:50:01 +01:00
Richard van der Hoff
b29b4a959b q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-13 00:50:01 +01:00
Richard van der Hoff
10decf95f6 replace imports of q with bluebird
update `package.json`

```
find src test -name '*.js' |
    xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
    xargs perl -i -pe 'if (/import [qQ] /) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-13 00:48:31 +01:00
Richard van der Hoff
b2403d59b7 loading tests: wait for login component
Rather than a fixed delay, use matrix-react-test-utils to wait for the login
component to appear. Hopefully this will deflakify some tests.
2017-07-13 00:18:49 +01:00
Richard van der Hoff
0f8a2554dc Enable colours for karma test output
I don't really know why we disable colours here.
2017-07-13 00:18:10 +01:00
Weblate
668199e219 Merge remote-tracking branch 'origin/develop' into develop 2017-07-12 17:29:15 +00:00
Andrey
498feeed21 Translated using Weblate (Russian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-07-12 17:29:15 +00:00
erciccione
4040c1d931 Translated using Weblate (Italian)
Currently translated at 58.9% (122 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-07-12 17:29:14 +00:00
Bamstam
e774e807c6 Translated using Weblate (German)
Currently translated at 99.5% (206 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-07-12 17:29:14 +00:00
Rami Taibah
f80629db44 Translated using Weblate (Arabic)
Currently translated at 14.9% (31 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ar/
2017-07-12 17:29:14 +00:00
Luke Barnard
248944a300 Merge pull request #4560 from vector-im/luke/fix-ctrl-k
Implement the focus_room_filter action
2017-07-12 18:29:10 +01:00
Luke Barnard
188a58e5c7 RateLimitedFunc -> rate_limited_func 2017-07-12 18:18:13 +01:00
Luke Barnard
3e1a909b1d Just use the onKeyDown of the <input> 2017-07-12 17:46:27 +01:00
Luke Barnard
41cd238e02 Update to reflect previous implementation
Which was a74bbb424c
2017-07-12 17:10:43 +01:00
Luke Barnard
4fe4e10abb Implement the focus_room_filter action
This is for ctrl+k room filtering and switching
2017-07-12 13:49:57 +01:00
Andrey
659ac2e8c7 Translated using Weblate (Russian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-07-12 11:02:09 +00:00
strix aluco
71396e062d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-07-12 02:38:52 +00:00
Szimszon
2ba1a84b0c Translated using Weblate (Hungarian)
Currently translated at 100.0% (207 of 207 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-07-11 16:40:51 +00:00
Weblate
b5ef34b0a0 Merge remote-tracking branch 'origin/develop' into develop 2017-07-11 16:36:15 +00:00
Richard van der Hoff
898725082a Remove spurious comma
I am messing this up - fix to 0bbce1c
2017-07-11 17:35:25 +01:00
Weblate
a00781b733 Merge remote-tracking branch 'origin/develop' into develop 2017-07-11 16:04:20 +00:00
Luke Barnard
a619001533 Merge pull request #4530 from vector-im/dbkr/groups_better_groupview
CSS for Rooms in Group View
2017-07-11 17:04:16 +01:00
Weblate
2c65bd097b Merge remote-tracking branch 'origin/develop' into develop 2017-07-11 16:01:08 +00:00
Richard van der Hoff
0bbce1c140 Add missing i18n string
This should have been part of
https://github.com/vector-im/riot-web/pull/4557/files
2017-07-11 17:00:04 +01:00
Weblate
b3abf7c592 Merge remote-tracking branch 'origin/develop' into develop 2017-07-11 15:46:47 +00:00
Richard van der Hoff
a201f74115 Merge pull request #4557 from vector-im/rav/homepage_again
more HomePage tweaks
2017-07-11 16:46:43 +01:00
Richard van der Hoff
bc60fa81af more HomePage tweaks
* Don't log errors with no context
* i18nify the "Couldn't load home page" message
2017-07-11 14:29:47 +01:00
Weblate
c465f40179 Merge remote-tracking branch 'origin/develop' into develop 2017-07-11 13:27:41 +00:00
Richard van der Hoff
d25b441add Merge pull request #4556 from vector-im/rav/homepage_unmounted_guard
Give HomePage an unmounted guard
2017-07-11 14:27:38 +01:00
Richard van der Hoff
d755903fdb typo 2017-07-11 14:10:18 +01:00
Richard van der Hoff
8ac26dd19f Give HomePage an unmounted guard
Also add missing return in error-handling path
2017-07-11 14:08:16 +01:00
Weblate
4d34809279 Merge remote-tracking branch 'origin/develop' into develop 2017-07-11 12:23:32 +00:00
Richard van der Hoff
b375c71a28 fix comments on node versions 2017-07-11 13:23:15 +01:00
David Baker
cefc3e6da9 Make CSS more generic 2017-07-10 19:32:25 +01:00
Travis Ralston
bc88585026 Translated using Weblate (English (United States))
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
2017-07-10 15:03:57 +00:00
David Baker
7a1494fc46 Merge remote-tracking branch 'origin/develop' into dbkr/groups_better_groupview 2017-07-10 14:35:51 +01:00
Weblate
ab95905472 Merge remote-tracking branch 'origin/develop' into develop 2017-07-10 12:56:07 +00:00
Sri Lakshmi
61e5fd759a Translated using Weblate (Telugu)
Currently translated at 0.9% (2 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/te/
2017-07-10 12:56:07 +00:00
Luke Barnard
c1b8879b6b Merge pull request #4500 from vector-im/luke/feature-enable-RTE
Take RTE out of labs
2017-07-10 13:56:02 +01:00
Weblate
f033234abe Merge remote-tracking branch 'origin/develop' into develop 2017-07-10 08:37:37 +00:00
LuPa
f133409207 Translated using Weblate (Spanish)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-07-10 08:37:37 +00:00
നിദര്‍ശ്
a1681f8576 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-10 08:37:36 +00:00
Bamstam
d7d61ab01d Translated using Weblate (German)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-07-10 08:37:36 +00:00
Ross Schulman
3175387c73 Translated using Weblate (Esperanto)
Currently translated at 98.0% (202 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-07-10 08:37:36 +00:00
Luke Barnard
d98d493420 Merge pull request #4468 from vector-im/dbkr/my_groups
CSS for Groups page
2017-07-10 09:37:32 +01:00
Kelvin
c2c6c14ec5 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-07 19:25:22 +00:00
നിദര്‍ശ്
e77b1ea87b Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-07 19:11:43 +00:00
Pirate Praveen Arimbrathodiyil
3930720127 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-07 19:11:30 +00:00
നിദര്‍ശ്
ae2f1ff382 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-07 19:11:09 +00:00
Pirate Praveen Arimbrathodiyil
5ce3d5dc36 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-07 19:09:49 +00:00
David Baker
5f5a802b44 Add CSS from react-sdk PR feedback 2017-07-07 18:34:57 +01:00
David Baker
052f9effc1 Merge remote-tracking branch 'origin/develop' into dbkr/groups_better_groupview 2017-07-07 12:02:38 +01:00
David Baker
b4602fd2b1 Comment 2017-07-07 10:49:19 +01:00
David Baker
43bdc04637 Merge remote-tracking branch 'origin/develop' into dbkr/my_groups 2017-07-07 10:47:41 +01:00
Weblate
700672b6ec Merge remote-tracking branch 'origin/develop' into develop 2017-07-06 21:04:36 +00:00
Luke Barnard
e36899c30f Merge pull request #4442 from vector-im/erikj/group_server
CSS for GroupView
2017-07-06 22:04:30 +01:00
David Baker
e04f34a202 More CSS for group view 2017-07-06 19:14:12 +01:00
Weblate
d34164ec49 Merge remote-tracking branch 'origin/develop' into develop 2017-07-06 13:08:42 +00:00
Luke Barnard
fc5ce7fb61 Merge pull request #4525 from vector-im/t3chguy/markdown_allow_u
remove unused class
2017-07-06 14:08:37 +01:00
Michael Telatynski
a8d5f7d5eb remove unused class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-06 13:53:17 +01:00
Weblate
efa0184034 Merge remote-tracking branch 'origin/develop' into develop 2017-07-06 09:27:31 +00:00
Luke Barnard
0796b304cc Merge pull request #4466 from vector-im/luke/css-rte-improvements
Fix long words causing MessageComposer to widen
2017-07-06 10:27:25 +01:00
Weblate
3d167d8a27 Merge remote-tracking branch 'origin/develop' into develop 2017-07-05 17:22:13 +00:00
Luke Barnard
d4435daf31 Merge pull request #4516 from vector-im/luke/css-visual-bell
Add visual bell animation for RTE
2017-07-05 18:22:09 +01:00
Luke Barnard
07e8d4ef69 Add visual bell animation for RTE 2017-07-05 18:13:23 +01:00
Weblate
e8c8a0a2c8 Merge remote-tracking branch 'origin/develop' into develop 2017-07-05 13:00:08 +00:00
Luke Barnard
8daa0fced8 Merge pull request #4502 from vector-im/luke/fix-rte-autocomplete-truncate
Truncate auto-complete pills properly
2017-07-05 14:00:02 +01:00
Luke Barnard
65a160f24a Merge branch 'develop' into luke/fix-rte-autocomplete-truncate 2017-07-05 13:45:06 +01:00
Weblate
04fd29c8b7 Merge remote-tracking branch 'origin/develop' into develop 2017-07-05 12:42:58 +00:00
Richard van der Hoff
43a70c2bfb Merge pull request #4512 from vector-im/rav/chrome_headless
Use chrome headless instead of phantomjs
2017-07-05 13:42:52 +01:00
Richard van der Hoff
a14bc9a9b1 README: minor fixes 2017-07-05 11:47:38 +01:00
Richard van der Hoff
ba0073ca71 README: Add notes on running tests 2017-07-05 11:45:33 +01:00
Weblate
e128434acd Merge remote-tracking branch 'origin/develop' into develop 2017-07-05 09:55:03 +00:00
Tong Hui
9f05236503 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-07-05 09:55:01 +00:00
Richard van der Hoff
60703bdcfc Log errors thrown by getThirdpartyProtocols
- so that it appears in rageshakes and test logs.
2017-07-05 10:54:10 +01:00
David Baker
2ccd36d09e Merge remote-tracking branch 'origin/develop' into erikj/group_server 2017-07-05 10:13:53 +01:00
Richard van der Hoff
cfe9e762ad Use trusty dist 2017-07-05 10:01:13 +01:00
Richard van der Hoff
9969d6095d Remove phantomjs; add chrome 2017-07-05 09:43:40 +01:00
Richard van der Hoff
38b1ca9b90 Use headless chrome instead of phantomjs for tests 2017-07-05 09:35:51 +01:00
Luke Barnard
b4b33ae06f Add CSS class to truncate certain autocompletions 2017-07-04 16:49:11 +01:00
Luke Barnard
1e569e67b1 Do not truncate autocomplete provider names 2017-07-04 16:40:15 +01:00
Weblate
8b6ed9f993 Merge remote-tracking branch 'origin/develop' into develop 2017-07-04 15:38:45 +00:00
Richard van der Hoff
48889b51b0 Bump to matrix-mock-request 1.0.0
- for consistency with js-sdk updates
2017-07-04 16:38:19 +01:00
Weblate
c6492b3d8a Merge remote-tracking branch 'origin/develop' into develop 2017-07-04 15:30:17 +00:00
Kelvin
92ff1f2671 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-04 15:30:16 +00:00
Richard van der Hoff
5312c9ad4c Merge pull request #4489 from vector-im/rav/use_external_mock_request
Use external mock-request
2017-07-04 16:30:11 +01:00
Luke Barnard
77a52b02cb Take RTE out of labs
Goes with https://github.com/matrix-org/matrix-react-sdk/pull/1176
2017-07-04 16:26:19 +01:00
Richard van der Hoff
bd1196716a Use external mock-request
mock-request is now factored out to matrix-mock-request; use it
2017-07-04 15:59:21 +01:00
Nathan van Beelen
185a5b51ff Translated using Weblate (Dutch)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-07-03 20:28:27 +00:00
Pirate Praveen Arimbrathodiyil
d5e1bfab48 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 18:24:09 +00:00
Kelvin
8178f12ae8 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 18:21:50 +00:00
Kelvin
97c4cd49b0 Translated using Weblate (Malayalam)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 18:19:39 +00:00
Weblate
b7cc469f7b Merge remote-tracking branch 'origin/develop' into develop 2017-07-03 18:04:36 +00:00
Kelvin
c565d31e53 Translated using Weblate (Malayalam)
Currently translated at 99.0% (204 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 18:04:35 +00:00
Luke Barnard
cb17cb0535 Merge pull request #4443 from vector-im/t3chguy/patch-3
fix Quote not closing contextual menu
2017-07-03 19:04:31 +01:00
Pirate Praveen Arimbrathodiyil
e0b9b4320a Translated using Weblate (Malayalam)
Currently translated at 98.0% (202 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 17:47:09 +00:00
Kelvin
5e5096c69d Translated using Weblate (Malayalam)
Currently translated at 98.0% (202 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 17:38:35 +00:00
Pirate Praveen Arimbrathodiyil
c45f976d34 Translated using Weblate (Malayalam)
Currently translated at 97.0% (200 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 17:19:08 +00:00
Michael Telatynski
39ff11fe82 preinstall phantomjs to try get rid of boom error 2017-07-03 18:13:56 +01:00
Kelvin
3a055634f2 Translated using Weblate (Malayalam)
Currently translated at 97.0% (200 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 17:10:11 +00:00
Pirate Praveen Arimbrathodiyil
802e2e6bba Translated using Weblate (Malayalam)
Currently translated at 96.1% (198 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 17:06:05 +00:00
നിദര്‍ശ്
ca1b5ed611 Translated using Weblate (Malayalam)
Currently translated at 96.1% (198 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ml/
2017-07-03 16:22:14 +00:00
Weblate
5475f8ffbd Merge remote-tracking branch 'origin/develop' into develop 2017-07-03 08:57:59 +00:00
Dreamwhite
657e195455 Translated using Weblate (Italian)
Currently translated at 54.8% (113 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/

Is the same text
2017-07-03 08:57:59 +00:00
Bamstam
7894ac6651 Translated using Weblate (German)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-07-03 08:57:59 +00:00
Luke Barnard
5d4b98d4f6 Merge pull request #4470 from vector-im/luke/css-emotes-pre-wrap
Apply white-space: pre-wrap to mx_MEmoteBody
2017-07-03 09:57:56 +01:00
Luke Barnard
6fcf504a4b Apply white-space: pre-wrap to mx_MEmoteBody
as we do with MTextBody.

So that people can do multi-line emotes...
2017-06-30 17:41:55 +01:00
Luke Barnard
042e7acca5 Fix long words causing MessageComposer to widen
Use `word-break: break-word` to split long words.

Fixes https://github.com/vector-im/riot-web/issues/4414
2017-06-30 16:03:56 +01:00
David Baker
17bd323376 Make Groups page look more like design 2017-06-30 14:00:17 +01:00
David Baker
796b51113f CSS for Create Group dialog 2017-06-29 16:59:26 +01:00
Dreamwhite
7a1a0e613c Translated using Weblate (Italian)
Currently translated at 44.1% (91 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/

Is the same
2017-06-29 10:49:35 +00:00
Dreamwhite
233a7dbf68 Translated using Weblate (Italian)
Currently translated at 41.7% (86 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-06-29 10:47:33 +00:00
Weblate
af3374e210 Merge remote-tracking branch 'origin/develop' into develop 2017-06-28 16:38:56 +00:00
Luke Barnard
515f8de2c5 Merge pull request #4456 from vector-im/luke/css-rte-improvements
Add some style improvements to autocompletions
2017-06-28 17:38:53 +01:00
Luke Barnard
2ea69624af Add some style improvements to autocompletions
- Fix https://github.com/vector-im/riot-web/issues/2230 by adding text-overflow: ellipsis to pill spans
 - Add padding to pills
 - Make sure to only apply horizontal margin of pill children at one level of the DOM tree
2017-06-28 16:36:32 +01:00
Weblate
ed6ea13773 Merge remote-tracking branch 'origin/develop' into develop 2017-06-28 15:07:03 +00:00
strix aluco
7aff42ca9d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-06-28 15:07:03 +00:00
Carlos A. Carnero Delgado
c320c64f27 Translated using Weblate (Spanish)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-06-28 15:07:03 +00:00
Andrey
b55fa94db9 Translated using Weblate (Russian)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-28 15:07:03 +00:00
bldrzzy
a5bc9a953c Translated using Weblate (Polish)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-06-28 15:07:03 +00:00
Rayeshman
34f52e8315 Translated using Weblate (Persian)
Currently translated at 98.0% (202 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fa/
2017-06-28 15:07:03 +00:00
IMIN
15dcc507d8 Translated using Weblate (Korean)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2017-06-28 15:07:03 +00:00
Bamstam
962f081fcd Translated using Weblate (German)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-06-28 15:07:03 +00:00
Rayeshman
991789da72 Translated using Weblate (Esperanto)
Currently translated at 97.5% (201 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-28 15:07:03 +00:00
Jeff Huang
d5c37ad8bc Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-06-28 15:07:02 +00:00
Tong Hui
4ee5431e07 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-06-28 15:07:02 +00:00
Richard Lewis
176f7f1515 Merge pull request #4447 from vector-im/rxl881/apps
Styling for apps / widgets
2017-06-28 16:06:57 +01:00
David Baker
105c54a1f1 CSS for Groups page 2017-06-28 13:57:20 +01:00
Michael Telatynski
f36c1ca207 fix Quote not closing contextual menu
also use `this.closeMenu();` over the explicit direct call as the wrapper exists and is a little clearer
2017-06-27 14:51:18 +01:00
Richard Lewis
83353e9419 Merge branch 'develop' of https://github.com/vector-im/riot-web into rxl881/apps 2017-06-27 12:40:32 +01:00
David Baker
f6627937fa CSS for GroupView 2017-06-27 11:52:46 +01:00
Tom Tryfonidis
a122e72a2b Translated using Weblate (Greek)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/el/
2017-06-27 07:53:29 +00:00
Tong Hui
fcde56f614 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-06-26 15:29:11 +00:00
Brendan Abolivier
59692d0190 Translated using Weblate (French)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/
2017-06-26 15:22:45 +00:00
Carlos A. Carnero Delgado
15634a8435 Translated using Weblate (Spanish)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-06-26 03:22:58 +00:00
IMIN
d05d7a09c4 Translated using Weblate (Korean)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2017-06-25 22:02:04 +00:00
bldrzzy
b4b4b8d350 Translated using Weblate (Polish)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-06-25 20:47:40 +00:00
Sylvia van Os
9541fc1033 Mirror local video feed 2017-06-25 22:13:00 +02:00
Rayeshman
ffcc495f98 Added translation using Weblate (Persian) 2017-06-25 09:38:31 +00:00
Szimszon
63a5f22e58 Translated using Weblate (Hungarian)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-06-25 07:33:29 +00:00
strixaluco
6e8246206a Translated using Weblate (Ukrainian)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-06-24 14:34:28 +00:00
Andrey
c4e8b5586f Translated using Weblate (Russian)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-24 12:37:49 +00:00
Jeff Huang
7bb2e83ff4 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-06-24 03:40:16 +00:00
Krombel
7b7e240af6 Translated using Weblate (German)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-06-23 10:23:36 +00:00
Weblate
2a72c2e19b Merge remote-tracking branch 'origin/develop' into develop 2017-06-23 08:47:57 +00:00
Max Sandholm
9ca37c6cb8 Translated using Weblate (Swedish)
Currently translated at 78.1% (161 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sv/
2017-06-23 08:47:57 +00:00
Jeff Huang
a9b8626ad3 Translated using Weblate (Chinese (Traditional))
Currently translated at 78.1% (161 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/
2017-06-23 08:47:56 +00:00
David Baker
c614bc2356 Merge pull request #4400 from vector-im/rav/flush_logs_on_close
Attempt to flush the rageshake logs on close
2017-06-23 09:47:53 +01:00
Matthew Hodgson
f7f5255378 fix vars 2017-06-22 21:53:06 +01:00
Matthew Hodgson
23a0e9a96c Merge pull request #4401 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-06-22 21:42:58 +01:00
Elia
8b89a1770d Translated using Weblate (Turkish)
Currently translated at 96.6% (199 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2017-06-22 20:21:51 +00:00
Pitchaya Boonsarngsuk
bfe43d841f Translated using Weblate (Thai)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/th/
2017-06-22 20:21:51 +00:00
Carlos A. Carnero Delgado
423a047687 Translated using Weblate (Spanish)
Currently translated at 99.5% (205 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-06-22 20:21:51 +00:00
Richard van der Hoff
cc56ef3abd Attempt to flush the rageshake logs on close
... so that we get to see what happened in the last 30s.
2017-06-22 18:25:19 +01:00
Pitchaya Boonsarngsuk
fbcdc5adad Translated using Weblate (Thai)
Currently translated at 100.0% (206 of 206 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/th/
2017-06-22 17:08:08 +00:00
Weblate
b75180d959 Merge remote-tracking branch 'origin/develop' into develop 2017-06-22 16:37:03 +00:00
David Baker
fab50bc1f1 Merge pull request #4176 from vector-im/t3chguy/updating_stuff
improve update polling electron and provide a manual check for updates button
2017-06-22 17:36:58 +01:00
Weblate
cfe7fbb23e Merge remote-tracking branch 'origin/develop' into develop 2017-06-22 14:30:14 +00:00
Elia
8477ed2967 Translated using Weblate (Turkish)
Currently translated at 99.0% (199 of 201 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2017-06-22 14:30:14 +00:00
David Baker
a1132ca7aa Merge pull request #4395 from vector-im/rav/fix_braindead_firefox
Fix load failure in firefox when indexedDB is disabled
2017-06-22 15:30:01 +01:00
Richard van der Hoff
6e52ab6182 Fix load failure in firefox when indexedDB is disabled 2017-06-22 15:11:11 +01:00
Michael Telatynski
e33e0effa3 use _t on string literals and i18n 'warning'
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-22 15:05:13 +01:00
Michael Telatynski
0788826a71 Merge branches 'develop' and 't3chguy/updating_stuff' of github.com:vector-im/riot-web into t3chguy/updating_stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	electron_app/src/tray.js
2017-06-22 15:04:33 +01:00
Weblate
c79c0bd333 Merge remote-tracking branch 'origin/develop' into develop 2017-06-22 13:37:35 +00:00
Elia
e4c3a63375 Translated using Weblate (Turkish)
Currently translated at 99.0% (200 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2017-06-22 13:37:35 +00:00
Richard van der Hoff
a9c8429d2e Merge pull request #4362 from turt2live/travis/missed-redact
Change missed 'Redact' to 'Remove' in ImageView.
2017-06-22 14:37:31 +01:00
Weblate
9af8cfd1dc Merge remote-tracking branch 'origin/develop' into develop 2017-06-22 11:40:18 +00:00
Matthew Hodgson
93502b3c2a better englishing 2017-06-22 12:40:09 +01:00
Weblate
46ff43e9ba Merge remote-tracking branch 'origin/develop' into develop 2017-06-22 11:08:22 +00:00
Elia
954d56e151 Translated using Weblate (Turkish)
Currently translated at 99.0% (200 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2017-06-22 11:08:22 +00:00
IMIN
f040a72765 Translated using Weblate (Korean)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2017-06-22 11:08:22 +00:00
David Baker
8b65b96adf Merge branch 'master' into develop 2017-06-22 12:08:14 +01:00
David Baker
cf5cf02529 v0.11.4 2017-06-22 12:04:49 +01:00
David Baker
26ea8a7494 Prepare changelog for v0.11.4 2017-06-22 12:04:49 +01:00
David Baker
27d83ba440 v0.11.4 2017-06-22 12:01:05 +01:00
David Baker
c380e7566a Released js-sdk & react-sdk 2017-06-22 11:58:57 +01:00
daniel tygel
81518069ed Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2017-06-22 09:58:03 +00:00
Weblate
a06eb5dfe1 Merge remote-tracking branch 'origin/develop' into develop 2017-06-21 14:04:40 +00:00
David Baker
7d3f75ef87 Merge pull request #4355 from vector-im/t3chguy/electron/windows_icon_instability
explicit convert to nativeImage to stabilise trayIcon on Windows [Electron]
2017-06-21 15:04:36 +01:00
Weblate
54ef2dd39b Merge remote-tracking branch 'origin/develop' into develop 2017-06-21 13:14:18 +00:00
Szimszon
b51101038f Translated using Weblate (Hungarian)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-06-21 13:14:18 +00:00
David Baker
79ad89c673 Merge pull request #4373 from vector-im/luke/fix-pwd-nagbar-_t
Use _tJsx for PasswordNagBar (because it has <u>)
2017-06-21 14:14:15 +01:00
IMIN
e7dd6fa714 Translated using Weblate (Korean)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2017-06-21 11:50:00 +00:00
strixaluco
a46a0c0949 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-06-21 01:28:06 +00:00
Walter
a13b766bad Translated using Weblate (Ukrainian)
Currently translated at 99.0% (200 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-06-21 01:26:17 +00:00
Tom Tryfonidis
969c7c93d6 Translated using Weblate (Greek)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/el/
2017-06-20 20:22:23 +00:00
Valentin Sundermann
aade0d557d Fix key url in readme
The URL for the signing key changed and hence pointed to a wrong direction.
2017-06-20 20:50:18 +02:00
Szimszon
d1c97d8f9a Translated using Weblate (Hungarian)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-06-20 17:13:23 +00:00
Weblate
ae8ad6969a Merge remote-tracking branch 'origin/develop' into develop 2017-06-20 16:55:46 +00:00
Walter
6d62bf0e25 Translated using Weblate (Ukrainian)
Currently translated at 98.0% (198 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-06-20 16:55:45 +00:00
Richard van der Hoff
26a27a6de4 Merge pull request #4376 from vector-im/rav/test_log_cleanups
Clean up some log outputs from the integ tests
2017-06-20 17:55:42 +01:00
Walter
51cfad5b9f Translated using Weblate (Russian)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-20 16:48:26 +00:00
Richard van der Hoff
ca3399df77 Clean up some log outputs from the integ tests 2017-06-20 17:41:21 +01:00
Luke Barnard
c4a3211cfc Use _tJsx for PasswordNagBar (because it has <u>) 2017-06-20 16:28:40 +01:00
Weblate
d9f662c06e Merge remote-tracking branch 'origin/develop' into develop 2017-06-20 15:24:12 +00:00
Richard van der Hoff
abf21675d5 Add some more logging to the tests
... to help diagnose when they fail
2017-06-20 16:24:04 +01:00
marekjedrzejewski
8a17e3543a Translated using Weblate (Polish)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-06-20 15:17:51 +00:00
Krombel
c70ad2fa65 Translated using Weblate (German)
Currently translated at 100.0% (202 of 202 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-06-20 15:15:40 +00:00
David Baker
8f8b28425d Fix json fail 2017-06-20 15:55:35 +01:00
Luke Barnard
6b5bfe24e6 Merge pull request #4367 from vector-im/luke/redesign-user-settings-pwd-warn
CSS for redeisng of password warning
2017-06-20 15:24:07 +01:00
Luke Barnard
ae23664a41 Merge branch 'develop' into luke/redesign-user-settings-pwd-warn 2017-06-20 15:03:10 +01:00
Luke Barnard
bbbb82351f CSS for redeisng of password warning
Now looks like red text
2017-06-20 15:01:39 +01:00
Michael Telatynski
67a9b6502b Merge branch 't3chguy/updating_stuff' of github.com:vector-im/riot-web into t3chguy/updating_stuff 2017-06-20 14:33:09 +01:00
Michael Telatynski
fe1b0b5cd8 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/updating_stuff 2017-06-20 14:32:19 +01:00
David Baker
8dade0d84e Merge pull request #4366 from vector-im/luke/feature-user-settings-password-warning
Give _t to PasswordNagBar, add CSS for UserSettings password warning
2017-06-20 14:31:12 +01:00
Michael Telatynski
499b1c2e70 add missing semicolon 2017-06-20 14:05:17 +01:00
Luke Barnard
047b255e14 Add en_EN translations 2017-06-20 13:33:38 +01:00
David Baker
3926e4dd98 Merge branch 'master' into develop 2017-06-20 13:18:58 +01:00
David Baker
639b17c663 v0.11.3 2017-06-20 13:15:36 +01:00
David Baker
ea8a49f1b7 Prepare changelog for v0.11.3 2017-06-20 13:15:35 +01:00
David Baker
eda3f20b26 v0.11.3 2017-06-20 13:13:28 +01:00
David Baker
6ef32f182a react-sdk 0.9.6 2017-06-20 13:13:03 +01:00
David Baker
6bae293bdf Merge pull request #4361 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-06-20 13:12:14 +01:00
Luke Barnard
d5d29c1c92 Give _t to PasswordNagBar, add CSS for UserSettings password warning
Codep https://github.com/matrix-org/matrix-react-sdk/pull/1123
2017-06-20 11:23:34 +01:00
David Baker
556ff24c5f Merge pull request #4361 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-06-20 10:19:34 +01:00
strixaluco
f5d9af9b0b Translated using Weblate (Ukrainian)
Currently translated at 98.0% (196 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/
2017-06-20 09:00:47 +00:00
GrigRUSS
3ff0ed52b2 Translated using Weblate (Russian)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-20 09:00:47 +00:00
turt2live
4ae6e9fdfd Remove 'Redact' from en_US and en_EN as it is no longer needed
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-06-19 16:31:59 -06:00
turt2live
b9fc46fa41 Change missed 'Redact' to 'Remove' in ImageView.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-06-19 16:24:03 -06:00
GrigRUSS
133f3d24f5 Translated using Weblate (Russian)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-19 17:18:38 +00:00
Bamstam
241ebe50d2 Translated using Weblate (German)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/
2017-06-19 17:18:38 +00:00
Matthew Hodgson
7fda26f268 Merge pull request #4360 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-06-19 15:43:34 +01:00
Weblate
0729d50e47 Merge remote-tracking branch 'origin/develop' into develop 2017-06-19 13:38:56 +00:00
Richard van der Hoff
f6cbb708b0 Merge pull request #4352 from vector-im/rav/test_return_to_app
Test 'return-to-app' functionality
2017-06-19 14:38:52 +01:00
russian
8b7692cf3b Translated using Weblate (Russian)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-19 13:24:27 +00:00
daniel tygel
7523251098 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pt_BR/
2017-06-19 13:23:34 +00:00
David Baker
5b5e6d83d9 Merge branch 'master' into develop 2017-06-19 13:24:58 +01:00
Richard Lewis
db70272902 Fix custom widget form styling 2017-06-19 12:05:57 +01:00
Michael Telatynski
78068bfaa0 explicit convert to nativeImage to stabilise on Windows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-19 11:58:44 +01:00
David Baker
9f7cf463b9 Merge pull request #4354 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-06-19 11:38:55 +01:00
Weblate
9eca0d2fde Merge remote-tracking branch 'origin/develop' into develop 2017-06-19 10:38:05 +00:00
Nathan van Beelen
45bb74d8f6 Translated using Weblate (Dutch)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/nl/
2017-06-19 10:38:04 +00:00
David Baker
07103431a9 Merge remote-tracking branch 'weblate/develop' into develop 2017-06-19 11:37:55 +01:00
Richard Lewis
3588ce7bc5 Fix app tile styling 2017-06-19 11:35:20 +01:00
Richard van der Hoff
557d4ae4c1 Test 'return-to-app' functionality
Add a test for the 'log in as user' functionality, as well as the 'return to
app' functionality.
2017-06-19 10:47:36 +01:00
Richard van der Hoff
563d1dc3f1 Merge pull request #4335 from vector-im/rav/fix_token_redirect
onLoadCompleted is now onTokenLoginCompleted
2017-06-19 09:06:17 +01:00
Richard van der Hoff
5a8a41ad50 Merge branch 'develop' into rav/fix_token_redirect 2017-06-19 09:05:19 +01:00
Richard van der Hoff
60be24c665 Rename promise 2017-06-19 09:04:24 +01:00
Weblate
4a968cd34f Merge remote-tracking branch 'origin/develop' into develop 2017-06-19 08:02:30 +00:00
Richard van der Hoff
0608c67767 Merge branch 'rav/refactor_matrixclient_states' into develop
(PR https://github.com/vector-im/riot-web/pull/4325)
2017-06-19 09:02:08 +01:00
Weblate
bd1b06c9b4 Merge remote-tracking branch 'origin/develop' into develop 2017-06-19 07:57:09 +00:00
Richard van der Hoff
98f8be45b7 Merge pull request #4325 from vector-im/rav/refactor_matrixclient_states
Tweak tests to match updates to matrixchat
2017-06-19 08:57:06 +01:00
Richard van der Hoff
641f20a4f6 Tweak tests to match updates to matrixchat
Mostly this is just making it look at the `view` state rather than the
individual boolean flags.

One other tweak merits explanation: we now implement the initial
couldn't-register-as-guest login with an explicit switch to the LOGIN view,
which means that the URL gets updated to #/login.

We also now need to give the login panel a bit longer to appear.
2017-06-19 08:55:54 +01:00
Weblate
7cbfa228ee Merge remote-tracking branch 'origin/develop' into develop 2017-06-18 23:54:13 +00:00
Matthew Hodgson
1c82b7b0c3 add register button 2017-06-19 00:54:07 +01:00
Raul
b7368fa933 Translated using Weblate (Esperanto)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-18 23:30:50 +00:00
Weblate
ecf163d4e7 Merge remote-tracking branch 'origin/develop' into develop 2017-06-18 23:01:19 +00:00
Raul
1a72d3134c Translated using Weblate (Esperanto)
Currently translated at 90.0% (180 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-18 23:01:18 +00:00
Matthew Hodgson
612cad5d9e fix broken vars 2017-06-19 00:01:11 +01:00
Weblate
9b1b5b3a4b Merge remote-tracking branch 'origin/develop' into develop 2017-06-18 22:54:37 +00:00
Matthew Hodgson
6b1ffaff7a fix broken http status i18n 2017-06-18 23:54:29 +01:00
Weblate
ffa24eac84 Merge remote-tracking branch 'origin/develop' into develop 2017-06-18 22:50:33 +00:00
Raul
82eb69324d Translated using Weblate (Esperanto)
Currently translated at 88.0% (176 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-18 22:50:33 +00:00
Matthew Hodgson
eaf61526fb add new languages 2017-06-18 23:50:27 +01:00
Weblate
47906d23f0 Merge remote-tracking branch 'origin/develop' into develop 2017-06-18 22:49:23 +00:00
Raul
2fa05f8d61 Translated using Weblate (Esperanto)
Currently translated at 87.0% (174 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-18 22:49:23 +00:00
Matthew Hodgson
6bee3f22da Merge pull request #4346 from RiotTranslateBot/weblate-riot-web-riot-web
Update from Weblate.
2017-06-18 23:49:20 +01:00
Weblate
396ecf6570 Merge remote-tracking branch 'origin/develop' into develop 2017-06-18 22:45:15 +00:00
Raul
f9ef5e8498 Translated using Weblate (Esperanto)
Currently translated at 84.0% (168 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-18 22:45:15 +00:00
Matthew Hodgson
cf9cd503e5 Merge pull request #4337 from vector-im/t3chguy/fix_forwarding
change dispatcher forward_event signature
2017-06-18 23:45:12 +01:00
Szymon Łopaciuk
0e00f708f1 Translated using Weblate (Polish)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-06-18 22:43:15 +00:00
Raul
a4abccdcef Translated using Weblate (Esperanto)
Currently translated at 83.0% (166 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-18 22:43:15 +00:00
Sebastián Magrí
6ace710a65 Translated using Weblate (Spanish)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-06-18 22:42:19 +00:00
Weblate
23b99f83ce Merge remote-tracking branch 'origin/develop' into develop 2017-06-18 20:37:21 +00:00
Carlos A. Carnero Delgado
8bc2b4a122 Translated using Weblate (Spanish)
Currently translated at 74.5% (149 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-06-18 20:37:21 +00:00
GrigRUSS
2b3ec55850 Translated using Weblate (Russian)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-18 20:37:21 +00:00
Szymon Łopaciuk
9a203aab67 Translated using Weblate (Polish)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-06-18 20:37:21 +00:00
IMIN
5cc1f62839 Translated using Weblate (Korean)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2017-06-18 20:37:21 +00:00
alxlg
ad57dd3169 Translated using Weblate (Italian)
Currently translated at 31.5% (63 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/
2017-06-18 20:37:20 +00:00
Aviral Dasgupta
0635a344ae Translated using Weblate (Hindi)
Currently translated at 3.0% (6 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hi/
2017-06-18 20:37:20 +00:00
Raul
12dab61a67 Translated using Weblate (Esperanto)
Currently translated at 49.5% (99 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/eo/
2017-06-18 20:37:20 +00:00
zwindl
7ae1a70a8d Translated using Weblate (Chinese (Simplified))
Currently translated at 16.0% (32 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hans/
2017-06-18 20:37:20 +00:00
Matthew Hodgson
4afec6fb7f Merge pull request #4259 from ollieh/code-block-border
Add border on hover for code blocks
2017-06-18 21:37:17 +01:00
Pitchaya Boonsarngsuk
886475af7e Translated using Weblate (Thai)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/th/
2017-06-18 15:52:43 +00:00
Szymon Łopaciuk
4d89e997b3 Translated using Weblate (Polish)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-06-18 15:04:02 +00:00
Przemek Anuszek
93a6e03f70 Translated using Weblate (Polish)
Currently translated at 84.5% (169 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/
2017-06-18 13:51:58 +00:00
alxlg
851f4d4a87 Added translation using Weblate (Italian) 2017-06-18 08:02:30 +00:00
Elia
f2fa326c0c Translated using Weblate (Turkish)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/tr/
2017-06-18 02:07:10 +00:00
David Pérez-Suárez
d9b63a482c Translated using Weblate (Spanish)
Currently translated at 60.5% (121 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-06-17 23:56:40 +00:00
Elia
c585d80e3e Added translation using Weblate (Turkish) 2017-06-17 23:49:43 +00:00
Christopher Armstrong
9c8be72574 Translated using Weblate (English (United States))
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/en_US/
2017-06-17 23:42:12 +00:00
Enrique
e6551e4590 Translated using Weblate (Spanish)
Currently translated at 58.5% (117 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/es/
2017-06-17 23:31:31 +00:00
Walter
7cdb73d74b Translated using Weblate (Russian)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/
2017-06-16 20:22:12 +00:00
Szimszon
3d0da059dc Translated using Weblate (Hungarian)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/
2017-06-16 17:49:58 +00:00
Michael Telatynski
274536bf13 change dispatcher forward_event signature
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-16 16:11:33 +01:00
Richard van der Hoff
6df1574b8b onLoadCompleted is now onTokenLoginCompleted 2017-06-16 15:05:14 +01:00
Weblate
490a696567 Merge remote-tracking branch 'origin/develop' into develop 2017-06-16 12:06:44 +00:00
Weblate
55fad1910a Merge remote-tracking branch 'origin/develop' into develop 2017-06-16 11:56:45 +00:00
Weblate
aff2a50cdd Merge remote-tracking branch 'origin/develop' into develop 2017-06-16 10:48:34 +00:00
IMIN
5bc676a042 Translated using Weblate (Korean)
Currently translated at 100.0% (200 of 200 strings)

Translation: Riot Web/riot-web
Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ko/
2017-06-16 10:48:34 +00:00
Richard van der Hoff
f5b2a92e84 Give the login panel a bit longer to appear 2017-06-15 18:17:00 +01:00
Richard van der Hoff
1fcd462660 Tweak tests to match updates to matrixchat
Mostly this is just making it look at the `view` state rather than the
individual boolean flags.

One other tweak merits explanation: we now implement the initial
couldn't-register-as-guest login with an explicit switch to the LOGIN view,
which means that the URL gets updated to #/login.
2017-06-15 17:52:18 +01:00
Richard Lewis
152e3c6258 Merge branch 'master' of https://github.com/vector-im/riot-web into rxl881/apps 2017-06-13 11:40:23 +01:00
Michael Telatynski
b6d2ba2019 store window ref globally so when splitting files its easier to access.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-12 13:50:45 +01:00
Michael Telatynski
53e2ce33b8 remove unused i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-12 13:39:35 +01:00
Michael Telatynski
9493f4a872 fallback from undefined for interpolation
because _t called with undefined interpolation name: errorDetail
even though when its undef its not used to sprinf-js would have been fine...

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-12 10:42:44 +01:00
Michael Telatynski
a32ce4fbf6 remove unused string
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 23:57:03 +01:00
Michael Telatynski
89533706a8 pollForUpdate is now internal/private to a Platform.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 23:39:21 +01:00
Michael Telatynski
deb7ed660c Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/updating_stuff 2017-06-11 23:13:49 +01:00
Michael Telatynski
a520f0bfed move all logic, make bar more generic
pass through actual errors
and tidy
needs testing

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 19:19:17 +01:00
Michael Telatynski
c4fd139586 get rid of pointless interval and timeout on linux
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 16:46:47 +01:00
Michael Telatynski
4c8ff0955d move electron update logic into own file, tidy tidy tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 16:44:36 +01:00
Michael Telatynski
6592526109 change /!\ to Warning for accessibility (plus weird escaping?)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 13:45:37 +01:00
Oliver Hunt
3a86e659af Made border transparent when not hovered
Signed-off-by: Oliver Hunt <oliver@hunt.bz>
2017-06-10 01:26:20 +01:00
Oliver Hunt
b032accdfa Add border on hover for code blocks
Signed-off-by: Oliver Hunt <oliver@hunt.bz>
2017-06-09 17:03:29 +01:00
Richard Lewis
272d36995b Fix active styling 2017-06-07 15:28:58 +01:00
Richard Lewis
9302c60b47 App icon styling 2017-06-07 10:55:35 +01:00
Richard Lewis
76880e0de7 App icon tile styling 2017-06-06 23:46:27 +01:00
Richard Lewis
0ef800073b App drawer styling 2017-06-05 18:21:52 +01:00
Michael Telatynski
93f148fca3 fix type electron vs remote
don't break when running a non Squirrel Windows build that has an update url

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 16:34:15 +01:00
Michael Telatynski
5981887705 fix UpdateCheckBar image alt
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 16:04:01 +01:00
Michael Telatynski
a4c1aee5ea correct file header
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 16:00:49 +01:00
Michael Telatynski
f5ba6fa952 i18n things
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit d878c72)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:33 +01:00
Michael Telatynski
3ebd90565c add clearer concept of timeout vs error
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 104c804)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:27 +01:00
Michael Telatynski
b95ad701af match ENUM style to others in project
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit a871815)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:18 +01:00
Michael Telatynski
efc68c078e basic manual update stuff + update check bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:12 +01:00
Michael Telatynski
0e6012ad45 absorb updater.js into the Platforms, gets rid of pointless setInterval in Electron
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 24e8a30)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:58:54 +01:00
Richard Lewis
113533ad61 Add styling for full-width widgets 2017-05-31 10:08:23 +01:00
Richard Lewis
ac9075a82a Increase panel height 2017-05-30 10:47:29 +01:00
Oliver Hunt
16357a9bc7 Sorting of networks within a protocol based on name
Signed-off-by: Oliver Hunt <oliver@hunt.bz>
2017-05-27 19:10:17 +01:00
Richard Lewis
998739a7dc Edit icon and styling 2017-05-22 18:00:40 +01:00
Richard Lewis
8afc9f9a09 Add widget iframes and styling 2017-05-19 17:17:48 +01:00
Richard Lewis
7a63cfd717 Add stylesheet for apps 2017-05-17 23:17:53 +01:00
Richard Lewis
7ea6157b67 App drawer styling 2017-05-17 21:16:15 +01:00
Richard Lewis
553c53e7e8 Add apps menu icons 2017-05-17 12:33:58 +01:00
Pablo Saavedra
53796f55be Added default_federate property 2017-05-08 12:25:45 +02:00
Ruben Barkow
5020307a6c Add a &nbsp; 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
2017-01-24 18:40:02 +01:00
rubo77
85040a2e6d Hide Options button from copy to clipboard 2017-01-05 23:18:56 +01:00
228 changed files with 23475 additions and 3406 deletions

View File

@@ -1,4 +1,4 @@
{
"presets": ["react", "es2015", "es2016"],
"plugins": ["transform-class-properties", "transform-object-rest-spread", "transform-async-to-generator", "transform-runtime", "add-module-exports"]
"plugins": ["transform-class-properties", "transform-object-rest-spread", "transform-async-to-bluebird", "transform-runtime", "add-module-exports"]
}

View File

@@ -1,3 +1,5 @@
<!-- Please report security issues by email to security@matrix.org -->
<!-- This is a bug report template. By following the instructions below and
filling out the sections with your information, you will help the us to get all
the necessary data to fix your issue.

2
.gitignore vendored
View File

@@ -14,6 +14,6 @@
npm-debug.log
electron/dist
electron/pub
/.idea
**/.idea
/config.json
/src/component-index.js

View File

@@ -1,3 +1,13 @@
# we need trusty for the chrome addon
dist: trusty
# we don't need sudo, so can run in a container, which makes startup much
# quicker.
#
# 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:
# make sure we work with a range of node versions.
@@ -5,8 +15,9 @@ node_js:
# - 4.x is still in LTS (until April 2018), but some of our deps (notably
# extract-zip) don't work with it
# - 5.x has been EOLed for nearly a year.
# - 6.x is the current 'LTS' version
# - 7.x is the current 'current' version (until October 2017)
# - 6.x is the active 'LTS' version
# - 7.x is no longer supported
# - 8.x is the current 'current' version (until October 2017)
#
# see: https://github.com/nodejs/LTS/
#
@@ -16,6 +27,8 @@ node_js:
- 6.3
- 6
- 7
addons:
chrome: stable
install:
# clone the deps with depth 1: we know we will only ever need that one
# commit.

View File

@@ -13,3 +13,6 @@ include:
* Michael Telatynski (https://github.com/t3chguy)
Improved consistency of inverted elements in dark theme across browsers
* Alexandr Korsak (https://github.com/oivoodoo)
Improved multiple file uploading

View File

@@ -1,3 +1,732 @@
Changes in [0.14.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.5) (2018-04-09)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.4...v0.14.0-rc.5)
* Add CSS for new control to set group join policy
Changes in [0.14.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.4) (2018-03-22)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.3...v0.14.0-rc.4)
* Fix tagging rooms as direct messages
Changes in [0.14.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.3) (2018-03-20)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.2...v0.14.0-rc.3)
* Fix a bug where the badge on a room tile would not update
when a room was read from a different device.
Changes in [0.14.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.2) (2018-03-19)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.1...v0.14.0-rc.2)
* Take TagPanel out of labs
[\#6347](https://github.com/vector-im/riot-web/pull/6347)
* Add languages (czech, galician and serbian)
[\#6343](https://github.com/vector-im/riot-web/pull/6343)
Changes in [0.14.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.1) (2018-03-19)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.5...v0.14.0-rc.1)
* Force update RoomSubList after reading a room
[\#6342](https://github.com/vector-im/riot-web/pull/6342)
* Ensure entire LeftPanel is faded when settings open
[\#6340](https://github.com/vector-im/riot-web/pull/6340)
* Update from Weblate.
[\#6330](https://github.com/vector-im/riot-web/pull/6330)
* Implement a simple shouldComponentUpdate for DNDRoomTile
[\#6313](https://github.com/vector-im/riot-web/pull/6313)
* Remove og:image with status.im URL
[\#6317](https://github.com/vector-im/riot-web/pull/6317)
* Add change delay warning in GroupView settings
[\#6316](https://github.com/vector-im/riot-web/pull/6316)
* Correctly position mx_TagPanel_clearButton
[\#6289](https://github.com/vector-im/riot-web/pull/6289)
* Fix gap between avatar and border
[\#6290](https://github.com/vector-im/riot-web/pull/6290)
* Fix bug where cannot send group invite on GroupMemberInfo phase
[\#6303](https://github.com/vector-im/riot-web/pull/6303)
* Fix themeing bug with Firefox where "disabled" ignored
[\#6301](https://github.com/vector-im/riot-web/pull/6301)
* Changes for E2E "fudge-button"
[\#6288](https://github.com/vector-im/riot-web/pull/6288)
* Make sure mx_TagPanel_tagTileContainer occupies full height
[\#6286](https://github.com/vector-im/riot-web/pull/6286)
* Add transparent CSS class for RoomTile
[\#6281](https://github.com/vector-im/riot-web/pull/6281)
* Fix crash; fs event received /w langauge file empty
[\#6273](https://github.com/vector-im/riot-web/pull/6273)
* Add setting to disable TagPanel
[\#6269](https://github.com/vector-im/riot-web/pull/6269)
* CSS for my groups microcopy
[\#6257](https://github.com/vector-im/riot-web/pull/6257)
* Add Bulgarian to the list of languages
[\#6246](https://github.com/vector-im/riot-web/pull/6246)
* Make media dropdown wider
[\#6245](https://github.com/vector-im/riot-web/pull/6245)
* Make dropdowns with long options degrade more gracefully
[\#6244](https://github.com/vector-im/riot-web/pull/6244)
* Fix un-tinted "View Community" icon in TagTile context menu
[\#6223](https://github.com/vector-im/riot-web/pull/6223)
* Fix RoomDropTarget and emptySubListTip to have containers
[\#6160](https://github.com/vector-im/riot-web/pull/6160)
* Fix syntax error of wrong use of self-closing HTML tag
[\#6154](https://github.com/vector-im/riot-web/pull/6154)
* Use translucent black for RoomSubList bg to fix tinting
[\#6227](https://github.com/vector-im/riot-web/pull/6227)
* CSS for changing "R" to "X" for clearing group filter
[\#6216](https://github.com/vector-im/riot-web/pull/6216)
* CSS for new global TagPanel filter
[\#6187](https://github.com/vector-im/riot-web/pull/6187)
* Separate the middle panel from the room list
[\#6194](https://github.com/vector-im/riot-web/pull/6194)
* Only use DNDRoomTile for editable sub lists
[\#6176](https://github.com/vector-im/riot-web/pull/6176)
* Adjust CSS to prevent scrollbars on message panel spinner
[\#6131](https://github.com/vector-im/riot-web/pull/6131)
* Implement riot-web side of dragging GroupTile avatars to TagPanel
[\#6143](https://github.com/vector-im/riot-web/pull/6143)
* Fix LeftPanel size being incorrect when TagPanel disabled
[\#6140](https://github.com/vector-im/riot-web/pull/6140)
* Fix TagPanel from collapsing to < 60px when LP collapsed
[\#6134](https://github.com/vector-im/riot-web/pull/6134)
* Temporary hack to constrain LLP container size.
[\#6138](https://github.com/vector-im/riot-web/pull/6138)
* Fix typo
[\#6137](https://github.com/vector-im/riot-web/pull/6137)
* Add context menu to TagPanel
[\#6127](https://github.com/vector-im/riot-web/pull/6127)
* Make room tagging flux-y
[\#6096](https://github.com/vector-im/riot-web/pull/6096)
* Move groups button to TagPanel
[\#6130](https://github.com/vector-im/riot-web/pull/6130)
* Fix long group name pushing settings cog into void
[\#6106](https://github.com/vector-im/riot-web/pull/6106)
* Fix horizontal scrollbar under certain circumstances
[\#6103](https://github.com/vector-im/riot-web/pull/6103)
* Split MImageBody into MFileBody to match JS Classes.
[\#6067](https://github.com/vector-im/riot-web/pull/6067)
* Add Catalan
[\#6040](https://github.com/vector-im/riot-web/pull/6040)
* Update from Weblate.
[\#5777](https://github.com/vector-im/riot-web/pull/5777)
* make FilteredList controlled, such that it can externally persist filter
[\#5718](https://github.com/vector-im/riot-web/pull/5718)
* Linear Rich Quoting
[\#6017](https://github.com/vector-im/riot-web/pull/6017)
* Highlight ViewSource and Devtools ViewSource
[\#5995](https://github.com/vector-im/riot-web/pull/5995)
* default url, not domain
[\#6022](https://github.com/vector-im/riot-web/pull/6022)
* T3chguy/num members tooltip
[\#5929](https://github.com/vector-im/riot-web/pull/5929)
* Swap RoomList to react-beautiful-dnd
[\#6008](https://github.com/vector-im/riot-web/pull/6008)
* CSS required as part of moving TagPanel from react-dnd to react-beautiful-
dnd
[\#5992](https://github.com/vector-im/riot-web/pull/5992)
* fix&refactor DateSeparator and MessageTimestamp
[\#5984](https://github.com/vector-im/riot-web/pull/5984)
* Iterative fixes on Rich Quoting
[\#5978](https://github.com/vector-im/riot-web/pull/5978)
* move piwik whitelists to conf and add piwik config.json info to readme
[\#5653](https://github.com/vector-im/riot-web/pull/5653)
* Implement Rich Quoting/Replies
[\#5804](https://github.com/vector-im/riot-web/pull/5804)
* Change author
[\#5950](https://github.com/vector-im/riot-web/pull/5950)
* Revert "Add a &nbsp; after timestamp"
[\#5944](https://github.com/vector-im/riot-web/pull/5944)
* Add a &nbsp; after timestamp
[\#3046](https://github.com/vector-im/riot-web/pull/3046)
* Corrected language name
[\#5938](https://github.com/vector-im/riot-web/pull/5938)
* Hide Options button from copy to clipboard
[\#2892](https://github.com/vector-im/riot-web/pull/2892)
* Fix for `If riot is narrow enough, such that 'Send a message (unecrypted)'
wraps to a second line, the timeline doesn't fit the window.`
[\#5900](https://github.com/vector-im/riot-web/pull/5900)
* Screenshot UI
[\#5849](https://github.com/vector-im/riot-web/pull/5849)
* add missing config.json entry such that scalar-staging widgets work
[\#5855](https://github.com/vector-im/riot-web/pull/5855)
* add dark theme styling to devtools input box
[\#5610](https://github.com/vector-im/riot-web/pull/5610)
* Fixes #1953 by adding oivoodoo as author
[\#5851](https://github.com/vector-im/riot-web/pull/5851)
* Instructions on security issues
[\#5824](https://github.com/vector-im/riot-web/pull/5824)
* Move DND wrapper to top level component
[\#5790](https://github.com/vector-im/riot-web/pull/5790)
* Widget title bar max / min visual cues.
[\#5786](https://github.com/vector-im/riot-web/pull/5786)
* Implement renumeration of ordered tags upon collision
[\#5759](https://github.com/vector-im/riot-web/pull/5759)
* Update imports for accessing KeyCode
[\#5751](https://github.com/vector-im/riot-web/pull/5751)
* Set html lang attribute from language setting
[\#5685](https://github.com/vector-im/riot-web/pull/5685)
* CSS for new TagPanel
[\#5723](https://github.com/vector-im/riot-web/pull/5723)
* getGroupStore no longer needs a matrix client
[\#5707](https://github.com/vector-im/riot-web/pull/5707)
* CSS required for moving group publication toggles to UserSettings
[\#5702](https://github.com/vector-im/riot-web/pull/5702)
* Make sure the SettingsStore is ready to load the theme before loading it
[\#5630](https://github.com/vector-im/riot-web/pull/5630)
* Add some aria-labels to RightPanel
[\#5661](https://github.com/vector-im/riot-web/pull/5661)
* Use badge count format for member count in RightPanel
[\#5657](https://github.com/vector-im/riot-web/pull/5657)
* Exclude the default language on page load
[\#5640](https://github.com/vector-im/riot-web/pull/5640)
* Use SettingsStore to get the default theme
[\#5615](https://github.com/vector-im/riot-web/pull/5615)
* Refactor translations
[\#5613](https://github.com/vector-im/riot-web/pull/5613)
* TintableSvgButton styling
[\#5605](https://github.com/vector-im/riot-web/pull/5605)
* Granular settings
[\#5468](https://github.com/vector-im/riot-web/pull/5468)
* CSS/components for custom presence controls
[\#5286](https://github.com/vector-im/riot-web/pull/5286)
* Set widget tile background colour
[\#5574](https://github.com/vector-im/riot-web/pull/5574)
* Widget styling tweaks
[\#5573](https://github.com/vector-im/riot-web/pull/5573)
* Center mixed content warnings in panel.
[\#5567](https://github.com/vector-im/riot-web/pull/5567)
* Status.im theme
[\#5578](https://github.com/vector-im/riot-web/pull/5578)
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)
* 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)
* Bump js-sdk, react-sdk version to pull in fix for [setting room publicity in a group](https://github.com/matrix-org/matrix-js-sdk/commit/aa3201ebb0fff5af2fb733080aa65ed1f7213de6).
Changes in [0.13.2](https://github.com/vector-im/riot-web/releases/tag/v0.13.2) (2017-11-28)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.1...v0.13.2)
Changes in [0.13.1](https://github.com/vector-im/riot-web/releases/tag/v0.13.1) (2017-11-17)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0...v0.13.1)
* SECURITY UPDATE: Fix the force TURN option for inbound calls. This option forced the use
of TURN but only worked for outbound calls and not inbound calls. This means that if you
enabled this option expecting it to mask your IP address in calls, your IP would still
have been revealed to the room if you accepted an incoming call.
* Also adds the Slovak translation.
Changes in [0.13.0](https://github.com/vector-im/riot-web/releases/tag/v0.13.0) (2017-11-15)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.3...v0.13.0)
Changes in [0.13.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.3) (2017-11-14)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.2...v0.13.0-rc.3)
Changes in [0.13.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.2) (2017-11-10)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.1...v0.13.0-rc.2)
* Make groups a fully-fleged baked-in feature
[\#5566](https://github.com/vector-im/riot-web/pull/5566)
Changes in [0.13.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.1) (2017-11-10)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7...v0.13.0-rc.1)
* Fix app tile margins.
[\#5561](https://github.com/vector-im/riot-web/pull/5561)
* Fix wrapping of long room topics (and overlap with apps)
[\#5549](https://github.com/vector-im/riot-web/pull/5549)
* Don't display widget iframes whilst loading.
[\#5555](https://github.com/vector-im/riot-web/pull/5555)
* Update from Weblate.
[\#5558](https://github.com/vector-im/riot-web/pull/5558)
* Adjust CSS for GroupView
[\#5543](https://github.com/vector-im/riot-web/pull/5543)
* CSS for adding rooms to a group with visibility
[\#5546](https://github.com/vector-im/riot-web/pull/5546)
* CSS for pinned indicators
[\#5511](https://github.com/vector-im/riot-web/pull/5511)
* Implement general-purpose tooltip "(?)"-style
[\#5540](https://github.com/vector-im/riot-web/pull/5540)
* CSS for improving group creation UX, namely setting long description
[\#5535](https://github.com/vector-im/riot-web/pull/5535)
* CSS for room notif pills in composer
[\#5531](https://github.com/vector-im/riot-web/pull/5531)
* Do not init a group store when no groupId specified
[\#5520](https://github.com/vector-im/riot-web/pull/5520)
* CSS for new pinned events indicator
[\#5293](https://github.com/vector-im/riot-web/pull/5293)
* T3chguy/devtools 1
[\#5471](https://github.com/vector-im/riot-web/pull/5471)
* Use margin to separate "perms" in the room directory
[\#5498](https://github.com/vector-im/riot-web/pull/5498)
* Add CSS for CreateGroupDialog to give group ID input suffix and prefix style
[\#5505](https://github.com/vector-im/riot-web/pull/5505)
* Fix group invites such that they look similar to room invites
[\#5504](https://github.com/vector-im/riot-web/pull/5504)
* CSS for Your Communities scrollbar
[\#5501](https://github.com/vector-im/riot-web/pull/5501)
* Add toggle to alter visibility of room-group association
[\#5497](https://github.com/vector-im/riot-web/pull/5497)
* CSS for room notification pills
[\#5494](https://github.com/vector-im/riot-web/pull/5494)
* Implement simple GroupRoomInfo
[\#5493](https://github.com/vector-im/riot-web/pull/5493)
* Add back bottom border to widget title bar
[\#5458](https://github.com/vector-im/riot-web/pull/5458)
* Prevent group name looking clickable for non-members
[\#5478](https://github.com/vector-im/riot-web/pull/5478)
* Fix instanceof check, was checking against the Package rather than class
[\#5472](https://github.com/vector-im/riot-web/pull/5472)
* Use correct group store state when rendering "Invite to this community"
[\#5455](https://github.com/vector-im/riot-web/pull/5455)
* Leverages ES6 in Notifications
[\#5453](https://github.com/vector-im/riot-web/pull/5453)
* Re-PR #4412
[\#5437](https://github.com/vector-im/riot-web/pull/5437)
* fix comma error of features example
[\#5410](https://github.com/vector-im/riot-web/pull/5410)
* Devtools: make filtering case-insensitive
[\#5387](https://github.com/vector-im/riot-web/pull/5387)
* Highlight group members icon in group member info
[\#5432](https://github.com/vector-im/riot-web/pull/5432)
* Use CSS to stop greyed Right/LeftPanel UI from being interactable
[\#5422](https://github.com/vector-im/riot-web/pull/5422)
* CSS for preventing editing of UI requiring user privilege if user
unprivileged
[\#5417](https://github.com/vector-im/riot-web/pull/5417)
* Only show UI for adding rooms/users to groups to privileged users
[\#5409](https://github.com/vector-im/riot-web/pull/5409)
* Only show "Invite to this community" when viewing group members
[\#5407](https://github.com/vector-im/riot-web/pull/5407)
* Add trash can icon for delete widget
[\#5397](https://github.com/vector-im/riot-web/pull/5397)
* CSS to improve MyGroups in general, and add placeholder
[\#5375](https://github.com/vector-im/riot-web/pull/5375)
* Rxl881/parallelshell
[\#4881](https://github.com/vector-im/riot-web/pull/4881)
* Custom server text was i18ned by key
[\#5371](https://github.com/vector-im/riot-web/pull/5371)
* Run prunei18n
[\#5370](https://github.com/vector-im/riot-web/pull/5370)
* Update from Weblate.
[\#5369](https://github.com/vector-im/riot-web/pull/5369)
* Add script to prune unused translations
[\#5339](https://github.com/vector-im/riot-web/pull/5339)
* CSS for improved MyGroups page
[\#5360](https://github.com/vector-im/riot-web/pull/5360)
* Add padding-right to Dialogs
[\#5346](https://github.com/vector-im/riot-web/pull/5346)
* Add div.warning and use the scss var
[\#5344](https://github.com/vector-im/riot-web/pull/5344)
* Groups->Communities
[\#5343](https://github.com/vector-im/riot-web/pull/5343)
* Make the 'add rooms' button clickable
[\#5342](https://github.com/vector-im/riot-web/pull/5342)
* Switch to gen-i18n script
[\#5338](https://github.com/vector-im/riot-web/pull/5338)
* Use _t as _t
[\#5334](https://github.com/vector-im/riot-web/pull/5334)
* fix groupview header editing visuals (pt 1)
[\#5330](https://github.com/vector-im/riot-web/pull/5330)
* bump version to prevent eslint errors
[\#5316](https://github.com/vector-im/riot-web/pull/5316)
* CSS for invited group members section
[\#5303](https://github.com/vector-im/riot-web/pull/5303)
* Handle long names in EntityTiles by overflowing correctly
[\#5302](https://github.com/vector-im/riot-web/pull/5302)
* Disable labs in electron
[\#5296](https://github.com/vector-im/riot-web/pull/5296)
* CSS for Modifying GroupView UI matrix-org/matrix-react-sdk#1475
[\#5295](https://github.com/vector-im/riot-web/pull/5295)
* Message/event pinning
[\#5142](https://github.com/vector-im/riot-web/pull/5142)
* Sorting of networks within a protocol based on name
[\#4054](https://github.com/vector-im/riot-web/pull/4054)
* allow hiding of notification body for privacy reasons
[\#4988](https://github.com/vector-im/riot-web/pull/4988)
* Don't use MXIDs on the lightbox if possible
[\#5281](https://github.com/vector-im/riot-web/pull/5281)
* CSS for lonely room message
[\#5267](https://github.com/vector-im/riot-web/pull/5267)
* Bring back dark theme code block border
[\#5037](https://github.com/vector-im/riot-web/pull/5037)
* CSS for remove avatar buttons
[\#5282](https://github.com/vector-im/riot-web/pull/5282)
Changes in [0.12.7](https://github.com/vector-im/riot-web/releases/tag/v0.12.7) (2017-10-16)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.3...v0.12.7)
* Released versions of react-sdk & js-sdk
Changes in [0.12.7-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.3) (2017-10-13)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.2...v0.12.7-rc.3)
* Hide the join group button
[\#5275](https://github.com/vector-im/riot-web/pull/5275)
Changes in [0.12.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.2) (2017-10-13)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.1...v0.12.7-rc.2)
Changes in [0.12.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.1) (2017-10-13)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.6...v0.12.7-rc.1)
* switch to new logos, and use import rather than VAR
[\#5203](https://github.com/vector-im/riot-web/pull/5203)
* Clarify what an integrations server is
[\#5266](https://github.com/vector-im/riot-web/pull/5266)
* Update from Weblate.
[\#5269](https://github.com/vector-im/riot-web/pull/5269)
* Remove trailing comma in JSON
[\#5167](https://github.com/vector-im/riot-web/pull/5167)
* Added default_federate property
[\#3849](https://github.com/vector-im/riot-web/pull/3849)
* CSS for greying out login form
[\#5197](https://github.com/vector-im/riot-web/pull/5197)
* Fix bug that made sub list placeholders not show for ILAG etc.
[\#5164](https://github.com/vector-im/riot-web/pull/5164)
* Factor out EditableItemList component from AliasSettings
[\#5161](https://github.com/vector-im/riot-web/pull/5161)
* Mark and remove some translations
[\#5110](https://github.com/vector-im/riot-web/pull/5110)
* CSS for "remove" button on GroupRoomTile
[\#5141](https://github.com/vector-im/riot-web/pull/5141)
* Create basic icon for the GroupRoomList tab and adding rooms to groups
[\#5140](https://github.com/vector-im/riot-web/pull/5140)
* Add button to get to MyGroups
[\#5131](https://github.com/vector-im/riot-web/pull/5131)
* Remove `key` prop pass-thru on HeaderButton
[\#5137](https://github.com/vector-im/riot-web/pull/5137)
* Implement "Add room to group" feature
[\#5125](https://github.com/vector-im/riot-web/pull/5125)
* Add Jitsi screensharing support in electron app
[\#4967](https://github.com/vector-im/riot-web/pull/4967)
* Refactor right panel header buttons
[\#5117](https://github.com/vector-im/riot-web/pull/5117)
* CSS for publicity status & toggle button
[\#5104](https://github.com/vector-im/riot-web/pull/5104)
* CSS for "X" in top right of features users/rooms
[\#5103](https://github.com/vector-im/riot-web/pull/5103)
* Include Finnish translation
[\#5051](https://github.com/vector-im/riot-web/pull/5051)
* Redesign membership section of GroupView
[\#5096](https://github.com/vector-im/riot-web/pull/5096)
* Make --config accept globs
[\#5090](https://github.com/vector-im/riot-web/pull/5090)
* CSS for GroupView: Add a User
[\#5093](https://github.com/vector-im/riot-web/pull/5093)
* T3chguy/devtools 1
[\#5074](https://github.com/vector-im/riot-web/pull/5074)
* Alter opacity for flair
[\#5085](https://github.com/vector-im/riot-web/pull/5085)
* Fix ugly integ button
[\#5082](https://github.com/vector-im/riot-web/pull/5082)
* Group Membership UI
[\#4830](https://github.com/vector-im/riot-web/pull/4830)
Changes in [0.12.6](https://github.com/vector-im/riot-web/releases/tag/v0.12.6) (2017-09-21)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.5...v0.12.6)
* Use matrix-js-sdk v0.8.4 to fix build
Changes in [0.12.5](https://github.com/vector-im/riot-web/releases/tag/v0.12.5) (2017-09-21)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.4...v0.12.5)
* Use react-sdk v0.10.5 to fix build
Changes in [0.12.4](https://github.com/vector-im/riot-web/releases/tag/v0.12.4) (2017-09-20)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.4-rc.1...v0.12.4)
* No changes
Changes in [0.12.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.4-rc.1) (2017-09-19)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3...v0.12.4-rc.1)
* Fix test for new behaviour of 'joining' flag
[\#5053](https://github.com/vector-im/riot-web/pull/5053)
* fix really dumb blunder/typo preventing system from going to sleep.
[\#5080](https://github.com/vector-im/riot-web/pull/5080)
* T3chguy/devtools
[\#4735](https://github.com/vector-im/riot-web/pull/4735)
* CSS for unignore button in UserSettings
[\#5042](https://github.com/vector-im/riot-web/pull/5042)
* Fix alias on home page for identity room
[\#5044](https://github.com/vector-im/riot-web/pull/5044)
* generic contextual menu for tooltip/responses
[\#4989](https://github.com/vector-im/riot-web/pull/4989)
* Update from Weblate.
[\#5018](https://github.com/vector-im/riot-web/pull/5018)
* Avoid re-rendering RoomList on room switch
[\#5015](https://github.com/vector-im/riot-web/pull/5015)
* Fix menu on change keyboard language issue #4345
[\#4623](https://github.com/vector-im/riot-web/pull/4623)
* Make isInvite default to false
[\#4999](https://github.com/vector-im/riot-web/pull/4999)
* Revert "Implement sticky date separators"
[\#4991](https://github.com/vector-im/riot-web/pull/4991)
* Implement sticky date separators
[\#4939](https://github.com/vector-im/riot-web/pull/4939)
Changes in [0.12.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3) (2017-09-06)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.3...v0.12.3)
* No changes
Changes in [0.12.3-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.3) (2017-09-05)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.2...v0.12.3-rc.3)
* Fix plurals in translations
[\#4971](https://github.com/vector-im/riot-web/pull/4971)
* Update from Weblate.
[\#4968](https://github.com/vector-im/riot-web/pull/4968)
Changes in [0.12.3-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.2) (2017-09-05)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.1...v0.12.3-rc.2)
* New react-sdk version to pull in new translations and fix some translation bugs.
Changes in [0.12.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.1) (2017-09-01)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.2...v0.12.3-rc.1)
* Fix overflowing login/register buttons on some languages issue #4804
[\#4858](https://github.com/vector-im/riot-web/pull/4858)
* Update vector-im to riot-im on Login
[\#4943](https://github.com/vector-im/riot-web/pull/4943)
* lets let people know that the bug report actually sent properly :)
[\#4910](https://github.com/vector-im/riot-web/pull/4910)
* another s/vector/riot/ in README
[\#4934](https://github.com/vector-im/riot-web/pull/4934)
* fix two room list regressions
[\#4907](https://github.com/vector-im/riot-web/pull/4907)
Changes in [0.12.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.2) (2017-08-24)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1...v0.12.2)
* Update react-sdk and js-sdk to fix bugs with incoming calls, messages and notifications
in encrypted rooms.
Changes in [0.12.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1) (2017-08-23)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1-rc.1...v0.12.1)
* [No changes]
Changes in [0.12.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1-rc.1) (2017-08-22)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.0-rc.2...v0.12.1-rc.1)
* Update from Weblate.
[\#4832](https://github.com/vector-im/riot-web/pull/4832)
* Misc styling fixes.
[\#4826](https://github.com/vector-im/riot-web/pull/4826)
* Show / Hide apps icons
[\#4774](https://github.com/vector-im/riot-web/pull/4774)
Changes in [0.12.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.0-rc.1) (2017-08-16)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.4...v0.12.0-rc.1)
* Update from Weblate.
[\#4797](https://github.com/vector-im/riot-web/pull/4797)
* move focus-via-up/down cursors to LeftPanel
[\#4777](https://github.com/vector-im/riot-web/pull/4777)
* Remove userId property on RightPanel
[\#4775](https://github.com/vector-im/riot-web/pull/4775)
* Make member device info buttons fluid and stackable with flexbox
[\#4776](https://github.com/vector-im/riot-web/pull/4776)
* un-i18n Modal Analytics
[\#4688](https://github.com/vector-im/riot-web/pull/4688)
* Quote using innerText
[\#4773](https://github.com/vector-im/riot-web/pull/4773)
* Karma tweaks for riot-web
[\#4765](https://github.com/vector-im/riot-web/pull/4765)
* Fix typo with scripts/fetch-develop-deps.sh in Building From Source
[\#4764](https://github.com/vector-im/riot-web/pull/4764)
* Adjust CSS for optional avatars in pills
[\#4757](https://github.com/vector-im/riot-web/pull/4757)
* Fix crypto on develop
[\#4754](https://github.com/vector-im/riot-web/pull/4754)
* Fix signing key url in readme
[\#4464](https://github.com/vector-im/riot-web/pull/4464)
* update gitignore to allow .idea directory to exist in subdirs
[\#4749](https://github.com/vector-im/riot-web/pull/4749)
* tweak compact theme
[\#4665](https://github.com/vector-im/riot-web/pull/4665)
* Update draft-js from 0.10.1 to 0.11.0-alpha
[\#4740](https://github.com/vector-im/riot-web/pull/4740)
* electron support for mouse forward/back buttons in Windows
[\#4739](https://github.com/vector-im/riot-web/pull/4739)
* Update draft-js from 0.8.1 to 0.10.1
[\#4730](https://github.com/vector-im/riot-web/pull/4730)
* Make pills, emoji translucent when sending
[\#4693](https://github.com/vector-im/riot-web/pull/4693)
* Widget permissions styling and icon
[\#4690](https://github.com/vector-im/riot-web/pull/4690)
* CSS required for composer autoscroll
[\#4682](https://github.com/vector-im/riot-web/pull/4682)
* CSS for group edit UI
[\#4608](https://github.com/vector-im/riot-web/pull/4608)
* Fix a couple of minor errors in the room list
[\#4671](https://github.com/vector-im/riot-web/pull/4671)
* Styling for beta testing icon.
[\#4584](https://github.com/vector-im/riot-web/pull/4584)
* Increase the timeout for clearing indexeddbs
[\#4650](https://github.com/vector-im/riot-web/pull/4650)
* Make some adjustments to mx_UserPill and mx_RoomPill
[\#4597](https://github.com/vector-im/riot-web/pull/4597)
* Apply CSS to <pre> tags to distinguish them from each other
[\#4639](https://github.com/vector-im/riot-web/pull/4639)
* Use `catch` instead of `fail` to handle room tag error
[\#4643](https://github.com/vector-im/riot-web/pull/4643)
* CSS for decorated matrix.to links in the composer
[\#4583](https://github.com/vector-im/riot-web/pull/4583)
* Deflake the joining test
[\#4579](https://github.com/vector-im/riot-web/pull/4579)
* Bump react to 15.6 to fix build problems
[\#4577](https://github.com/vector-im/riot-web/pull/4577)
* Improve AppTile menu bar button styling.
[\#4567](https://github.com/vector-im/riot-web/pull/4567)
* Transform `async` functions to bluebird promises
[\#4572](https://github.com/vector-im/riot-web/pull/4572)
* use flushAllExpected in joining test
[\#4570](https://github.com/vector-im/riot-web/pull/4570)
* Switch riot-web to bluebird
[\#4565](https://github.com/vector-im/riot-web/pull/4565)
* loading tests: wait for login component
[\#4564](https://github.com/vector-im/riot-web/pull/4564)
* Remove CSS for the MessageComposerInputOld
[\#4568](https://github.com/vector-im/riot-web/pull/4568)
* Implement the focus_room_filter action
[\#4560](https://github.com/vector-im/riot-web/pull/4560)
* CSS for Rooms in Group View
[\#4530](https://github.com/vector-im/riot-web/pull/4530)
* more HomePage tweaks
[\#4557](https://github.com/vector-im/riot-web/pull/4557)
* Give HomePage an unmounted guard
[\#4556](https://github.com/vector-im/riot-web/pull/4556)
* Take RTE out of labs
[\#4500](https://github.com/vector-im/riot-web/pull/4500)
* CSS for Groups page
[\#4468](https://github.com/vector-im/riot-web/pull/4468)
* CSS for GroupView
[\#4442](https://github.com/vector-im/riot-web/pull/4442)
* remove unused class
[\#4525](https://github.com/vector-im/riot-web/pull/4525)
* Fix long words causing MessageComposer to widen
[\#4466](https://github.com/vector-im/riot-web/pull/4466)
* Add visual bell animation for RTE
[\#4516](https://github.com/vector-im/riot-web/pull/4516)
* Truncate auto-complete pills properly
[\#4502](https://github.com/vector-im/riot-web/pull/4502)
* Use chrome headless instead of phantomjs
[\#4512](https://github.com/vector-im/riot-web/pull/4512)
* Use external mock-request
[\#4489](https://github.com/vector-im/riot-web/pull/4489)
* fix Quote not closing contextual menu
[\#4443](https://github.com/vector-im/riot-web/pull/4443)
* Apply white-space: pre-wrap to mx_MEmoteBody
[\#4470](https://github.com/vector-im/riot-web/pull/4470)
* Add some style improvements to autocompletions
[\#4456](https://github.com/vector-im/riot-web/pull/4456)
* Styling for apps / widgets
[\#4447](https://github.com/vector-im/riot-web/pull/4447)
* Attempt to flush the rageshake logs on close
[\#4400](https://github.com/vector-im/riot-web/pull/4400)
* Update from Weblate.
[\#4401](https://github.com/vector-im/riot-web/pull/4401)
* improve update polling electron and provide a manual check for updates
button
[\#4176](https://github.com/vector-im/riot-web/pull/4176)
* Fix load failure in firefox when indexedDB is disabled
[\#4395](https://github.com/vector-im/riot-web/pull/4395)
* Change missed 'Redact' to 'Remove' in ImageView.
[\#4362](https://github.com/vector-im/riot-web/pull/4362)
* explicit convert to nativeImage to stabilise trayIcon on Windows [Electron]
[\#4355](https://github.com/vector-im/riot-web/pull/4355)
* Use _tJsx for PasswordNagBar (because it has <u>)
[\#4373](https://github.com/vector-im/riot-web/pull/4373)
* Clean up some log outputs from the integ tests
[\#4376](https://github.com/vector-im/riot-web/pull/4376)
* CSS for redeisng of password warning
[\#4367](https://github.com/vector-im/riot-web/pull/4367)
* Give _t to PasswordNagBar, add CSS for UserSettings password warning
[\#4366](https://github.com/vector-im/riot-web/pull/4366)
* Update from Weblate.
[\#4361](https://github.com/vector-im/riot-web/pull/4361)
* Update from Weblate.
[\#4360](https://github.com/vector-im/riot-web/pull/4360)
* Test 'return-to-app' functionality
[\#4352](https://github.com/vector-im/riot-web/pull/4352)
* Update from Weblate.
[\#4354](https://github.com/vector-im/riot-web/pull/4354)
* onLoadCompleted is now onTokenLoginCompleted
[\#4335](https://github.com/vector-im/riot-web/pull/4335)
* Tweak tests to match updates to matrixchat
[\#4325](https://github.com/vector-im/riot-web/pull/4325)
* Update from Weblate.
[\#4346](https://github.com/vector-im/riot-web/pull/4346)
* change dispatcher forward_event signature
[\#4337](https://github.com/vector-im/riot-web/pull/4337)
* Add border on hover for code blocks
[\#4259](https://github.com/vector-im/riot-web/pull/4259)
Changes in [0.11.4](https://github.com/vector-im/riot-web/releases/tag/v0.11.4) (2017-06-22)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.3...v0.11.4)
* Update matrix-js-sdk and react-sdk to fix a regression where the
background indexedb worker was disabled, failures to open indexeddb
causing the app to fail to start, a race when starting that could break
switching to rooms, and the inability to invite users with mixed case
usernames.
Changes in [0.11.3](https://github.com/vector-im/riot-web/releases/tag/v0.11.3) (2017-06-20)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2...v0.11.3)
* Update to matrix-react-sdk 0.9.6 to fix infinite spinner bugs
and some parts of the app that had missed translation.
Changes in [0.11.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.2) (2017-06-19)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2-rc.2...v0.11.2)

122
README.md
View File

@@ -16,13 +16,13 @@ released version of Riot:
1. Download the latest version from https://github.com/vector-im/riot-web/releases
1. Untar the tarball on your web server
1. Move (or symlink) the vector-x.x.x directory to an appropriate name
1. Move (or symlink) the riot-x.x.x directory to an appropriate name
1. If desired, copy `config.sample.json` to `config.json` and edit it
as desired. See below for details.
1. Enter the URL into your browser and log into Riot!
Releases are signed by PGP, and can be checked against the public key
at https://riot.im/packages/keys/riot-master.asc
at https://riot.im/packages/keys/riot.asc
Note that Chrome does not allow microphone or webcam access for sites served
over http (except localhost), so for working VoIP you will need to serve Riot
@@ -62,7 +62,7 @@ to build.
1. If you're using the `develop` branch, install the develop versions of the
dependencies, as the released ones will be too old:
```
scripts/fetch-develop-deps.sh
scripts/fetch-develop.deps.sh
```
Whenever you git pull on riot-web you will also probably need to force an update
to these dependencies - the simplest way is to re-run the script, but you can also
@@ -81,7 +81,7 @@ to build.
npm run build
```
However, we recommend setting up a proper development environment (see "Setting
up a development environment" below) if you want to run your own copy of the
up a dev environment" below) if you want to run your own copy of the
`develop` branch, as it makes it much easier to keep these dependencies
up-to-date. Or just use https://riot.im/develop - the continuous integration
release of the develop branch.
@@ -106,7 +106,9 @@ config.json
You can configure the app by copying `config.sample.json` to
`config.json` and customising it:
1. `default_hs_url` is the default home server url.
For a good example, see https://riot.im/develop/config.json
1. `default_hs_url` is the default homeserver url.
1. `default_is_url` is the default identity server url (this is the server used
for verifying third party identifiers like email addresses). If this is blank,
registering with an email address, adding an email address to your account,
@@ -115,19 +117,49 @@ You can configure the app by copying `config.sample.json` to
addresses) to matrix IDs: see http://matrix.org/docs/spec/identity_service/unstable.html
for more details. Currently the only public matrix identity servers are https://matrix.org
and https://vector.im. In future identity servers will be decentralised.
1. `integrations_ui_url`: URL to the web interface for the integrations server.
1. `features`: Lookup of optional features that may be `enable`d, `disable`d, or exposed to the user
in the `labs` section of settings. The available optional experimental features vary from
release to release.
1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
homeserver know what email template to use when talking to you.
1. `integrations_ui_url`: URL to the web interface for the integrations server. The integrations
server is not Riot and normally not your Home Server either. The integration server settings
may be left blank to disable integrations.
1. `integrations_rest_url`: URL to the REST interface for the integrations server.
1. `integrations_widgets_urls`: list of URLs to the REST interface for the widget integrations server.
1. `bug_report_endpoint_url`: endpoint to send bug reports to (must be running a
https://github.com/matrix-org/rageshake server)
1. `roomDirectory`: config for the public room directory. This section is optional.
1. `roomDirectory.servers`: List of other Home Servers' directories to include in the drop
1. `roomDirectory.servers`: List of other homeservers' directories to include in the drop
down list. Optional.
1. `default_theme`: name of theme to use by default (e.g. 'light')
1. `update_base_url` (electron app only): HTTPS URL to a web server to download
updates from. This should be the path to the directory containing `macos`
and `win32` (for update packages, not installer packages).
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
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
1. `teamServerConfig`, `teamTokenMap`, `referralBaseUrl`: an obsolete precursor to communities
with referral tracking; please ignore it.
1. `welcomeUserId`: the user ID of a bot to invite whenever users register that can give them a tour
Note that `index.html` also has an og:image meta tag that is set to an image
hosted on riot.im. This is the image used if links to your copy of Riot
appear in some websites like Facebook, and indeed Riot itself. This has to be
static in the HTML and an absolute URL (and HTTP rather than HTTPS), so it's
not possible for this to be an option in config.json. If you'd like to change
it, you can build Riot as above, but run
`RIOT_OG_IMAGE_URL="http://example.com/logo.png" npm run build`.
Alternatively, you can edit the `og:image` meta tag in `index.html` directly
each time you download a new version of Riot.
Running as a Desktop app
========================
@@ -253,7 +285,6 @@ Finally, build and start Riot itself:
1. `rm -r node_modules/matrix-react-sdk; ln -s ../../matrix-react-sdk node_modules/`
1. `npm start`
1. Wait a few seconds for the initial build to finish; you should see something like:
```
Hash: b0af76309dd56d7275c8
Version: webpack 1.12.14
@@ -282,47 +313,82 @@ If any of these steps error with, `file table overflow`, you are probably on a m
which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
You'll need to do this in each new terminal you open before building Riot.
How to add a new translation?
=============================
Running the tests
-----------------
There are a number of application-level tests in the `tests` directory; these
are designed to run in a browser instance under the control of
[karma](https://karma-runner.github.io). To run them:
* Make sure you have Chrome installed (a recent version, like 59)
* Make sure you have `matrix-js-sdk` and `matrix-react-sdk` installed and
built, as above
* `npm run test`
The above will run the tests under Chrome in a `headless` mode.
You can also tell karma to run the tests in a loop (every time the source
changes), in an instance of Chrome on your desktop, with `npm run
test-multi`. This also gives you the option of running the tests in 'debug'
mode, which is useful for stepping through the tests in the developer tools.
Translations
============
To add a new translation, head to the [translating doc](docs/translating.md).
For a developer guide, see the [translating dev doc](docs/translating-dev.md).
[<img src="https://translate.riot.im/widgets/riot-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.riot.im/engage/riot-web/?utm_source=widget)
Head to the [translating doc](docs/translating.md)
Adding Strings to the translations (Developer Guide)
====================================================
Head to 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

View File

@@ -1,11 +1,21 @@
{
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
"disable_custom_urls": false,
"disable_guests": false,
"disable_login_language_selector": false,
"disable_3pid_login": false,
"brand": "Riot",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"enableLabs": true,
"features": {
"feature_groups": "labs",
"feature_pinning": "labs"
},
"default_federate": true,
"welcomePageUrl": "home.html",
"default_theme": "light",
"roomDirectory": {
"servers": [
"matrix.org"
@@ -14,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
}
}

68
docs/skinning thoughts.md Normal file
View File

@@ -0,0 +1,68 @@
== Skinning refactor ==
matrix-react-sdk
- base images
- base CSS
- all the components needed to build a workable app (including the top layer)
riot-web: the riot skin
- riot-specific classes (e.g. login header/footer)
- riot-specific themes
- light
- dark
i.e. the only things which should go into riot-web are bits which apply vector-specific skinning
specifically "Stuff that any other brand would not want to use. (e.g. riot logos, links, T&Cs)"
- Questions:
- Electron app? (should probably be a separate repo in its own right? but might as well go here for now)
- index.html & index.js? (should be in matrix-react-sdk, given the SDK is useless without them?)
ideally matrix-react-sdk itself should ship with a default skin which actually works built in.
status skin (can go in the same app for now)
- has status theme
- which inherits from riot light theme
- how do we share graphics between skins?
- shove them into react-sdk, or...
- guess we do ../../vector/img
- this means keeping the skin name in the images (unless /img is a shortcut to the right skin's images)
out of scope:
- making the components more independent, so they can be used in isolation.
- that said, the bits which should probably be used by being embeded into a different app:
- login/reg
- RoomView + RoomSettings
- MessageComposer
- RoomList
- MemberList
- MemberInfo
- Voip UI
- UserSettings
- sharing different js-sdks between the different isolated modules
other changes:
- how do we handle i18n?
- each skin should really be its own i18n project. As long as all the commonality stuff is in matrix-react-sdk this shouldn't be too bad.
- ability to associate components with a given skin
- skins/vector/src <-- components
- skins/vector/css
- skins/vector/img
- skins/vector/fonts
- gather together themes (per skin) into a single place too
- skins/vector/themes/foo/css
- skins/vector/themes/foo/img
- skins/vector/themes/foo/fonts
- ideally riot-web would contain almost nothing but skins/vector directory.
- ability to entirely replace CSS rather than override it for a given theme
- e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`.
random thoughts;
- should we be able to change the entire skin at runtime (more like wordpress) - to the extent of replacing entire components?
- might pose security issues if a theme can be swapped out to replace MatrixChat or other fundamental functionality at runtime
- if so, perhaps skins & themes should converge...
-----------------
Immediate plan for Status:
* Implement it as a theme for the riot skin
* Ideally move skins to a sensible level (possibly even including src?)

View File

@@ -6,21 +6,50 @@
- Be able to understand English
- Be able to understand the language you want to translate riot-web into
## Translating strings vs. marking strings for translation
Translating strings are done with the `_t()` function found in matrix-react-sdk/lib/languageHandler.js. It is recommended to call this function wherever you introduce a string constant which should be translated. However, translating can not be performed until after the translation system has been initialized. Thus, sometimes translation must be performed at a different location in the source code than where the string is introduced. This breaks some tooling and makes it difficult to find translatable strings. Therefore, there is the alternative `_td()` function which is used to mark strings for translation, without actually performing the translation (which must still be performed separately, and after the translation system has been initialized).
Basically, whenever a translatable string is introduced, you should call either `_t()` immediately OR `_td()` and later `_t()`.
Example:
```
// Module-level constant
const COLORS = {
'#f8481c': _td('reddish orange'), // Can't call _t() here yet
'#fc2647': _td('pinky red') // Use _td() instead so the text is picked up for translation anyway
}
// Function that is called some time after i18n has been loaded
function getColorName(hex) {
return _t(COLORS[hex]); // Perform actual translation here
}
```
## Adding new strings
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements.
2. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method)
3. Add the String to the ``en_EN.json`` file in ``src/i18n/strings`` (respect which repository you are on).
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed.
1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json`` (if it fails because it can't find the script, your dev environment predates the script, so reinstall/link react-sdk with `npm link ../matrix-react-sdk`). If it segfaults, you may be on Node 6, so try a newer version of node.
1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
## Adding variables inside a string.
1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``
2. Decide how to name it. Please think about if the person who has to translate it can understand what it does.
3. Add it to the array in ``_t`` for example ``_t(STRING, {variable: this.variable})``
4. Add the variable inside the string. The syntax for variables is ``%(variable)s``. Please note the s at the end. The name of the variable has to match the previous used name.
1. Decide how to name it. Please think about if the person who has to translate it can understand what it does. E.g. using the name 'recipient' is bad, because a translator does not know if it is the name of a person, an email address, a user ID, etc. Rather use e.g. recipientEmailAddress.
1. Add it to the array in ``_t`` for example ``_t(STRING, {variable: this.variable})``
1. Add the variable inside the string. The syntax for variables is ``%(variable)s``. Please note the _s_ at the end. The name of the variable has to match the previous used name.
- You can use the special ``count`` variable to choose between multiple versions of the same string, in order to get the correct pluralization. E.g. ``_t('You have %(count)s new messages', { count: 2 })`` would show 'You have 2 new messages', while ``_t('You have %(count)s new messages', { count: 1 })`` would show 'You have one new message' (assuming a singular version of the string has been added to the translation file. See above). Passing in ``count`` is much prefered over having an if-statement choose the correct string to use, because some languages have much more complicated plural rules than english (e.g. they might need a completely different form if there are three things rather than two).
- If you want to translate text that includes e.g. hyperlinks or other HTML you have to also use tag substitution, e.g. ``_t('<a>Click here!</a>', {}, { 'a': (sub) => <a>{sub}</a> })``. If you don't do the tag substitution you will end up showing literally '<a>' rather than making a hyperlink.
- You can also use React components with normal variable substitution if you want to insert HTML markup, e.g. ``_t('Your email address is %(emailAddress)s', { emailAddress: <i>{userEmailAddress}</i> })``.
## Things to know/Style Guides
- Do not use it inside ``getDefaultProps`` at the point where ``getDefaultProps`` is initialized the translations aren't loaded yet and it causes missing translations.
- If using translated strings as constants, translated strings can't be in constants loaded at class-load time since the translations won't be loaded.
- Do not use `_t()` inside ``getDefaultProps``: the translations aren't loaded when `getDefaultProps` is called, leading to missing translations. Use `_td()` to indicate that `_t()` will be called on the string later.
- If using translated strings as constants, translated strings can't be in constants loaded at class-load time since the translations won't be loaded. Mark the strings using `_td()` instead and perform the actual translation later.
- If a string is presented in the UI with punctuation like a full stop, include this in the translation strings, since punctuation varies between languages too.
- Avoid "translation in parts", i.e. concatenating translated strings or using translated strings in variable substitutions. Context is important for translations, and translating partial strings this way is simply not always possible.
- Concatenating strings often also introduces an implicit assumption about word order (e.g. that the subject of the sentence comes first), which is incorrect for many languages.
- Translation 'smell test': If you have a string that does not begin with a capital letter (is not the start of a sentence) or it ends with e.g. ':' or a preposition (e.g. 'to') you should recheck that you are not trying to translate a partial sentence.
- If you have multiple strings, that are almost identical, except some part (e.g. a word or two) it is still better to translate the full sentence multiple times. It may seem like inefficient repetion, but unlike programming where you try to minimize repetition, translation is much faster if you have many, full, clear, sentences to work with, rather than fewer, but incomplete sentence fragments.

View File

@@ -35,7 +35,7 @@ Head to the explanations under Steb 2b
## Step 2b: Adding a new language
1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
2. Click the ``Start new language`` button at the bottom
2. Click the ``Start new translation`` button at the bottom
3. Select a language
4. Start translating like in 2a.3
5. Repeat these steps for the other projects which are listed at the link of step 2b.1

View File

@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "0.11.2",
"version": "0.14.0-rc.5",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"dependencies": {

View File

@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF0jCCBLqgAwIBAgIRAISYBqZi3VvCUeSfHXF+cbwwDQYJKoZIhvcNAQELBQAw
gZExCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTcwNQYD
VQQDEy5DT01PRE8gUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gQ29kZSBTaWduaW5n
IENBMB4XDTE3MDgyMzAwMDAwMFoXDTIwMDgyMjIzNTk1OVowgdgxETAPBgNVBAUT
CDEwODczNjYxMRMwEQYLKwYBBAGCNzwCAQMTAkdCMR0wGwYDVQQPExRQcml2YXRl
IE9yZ2FuaXphdGlvbjELMAkGA1UEBhMCR0IxETAPBgNVBBEMCFdDMVIgNEFHMQ8w
DQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEbMBkGA1UECQwSMjYgUmVk
IExpb24gU3F1YXJlMRcwFQYDVQQKDA5OZXcgVmVjdG9yIEx0ZDEXMBUGA1UEAwwO
TmV3IFZlY3RvciBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7
X0HP3oM/SVr6PboD03ndtYTONZDcJ/GJ3EyYi6UNrcbKjuDHwPktx9hjAhNjcVkG
lmuTEPluPj9DbvjaTrers0cQsAS1vJ0RHjLfA93Flg1ys9Q6OThUMw77FtFPtiJU
z5cSYzfFAhn/4dv7BcgGptn+Mv/8CaTu+RUZJUgoSlRWcT1TREmxkzWotbblqsHO
zjDmUg20tL5/qpt6BSWsNespf5udKQFXMtqkczBcLvBLmql0vurVcQy8BibB+Q89
QKwRzwLgaIa7O8WEssFcW8uJe9s0SNtUy8ehbuoSxpA/DbHFwsiDbNA78vp7HrqM
qY6t6OIgLtDYBFCfe/btAgMBAAGjggHaMIIB1jAfBgNVHSMEGDAWgBTfj/MgDOnK
pgTYW1g3Kj2rRtyDSTAdBgNVHQ4EFgQUH+mDOdRkF3bYDxCWEaGB4lxiCxcwDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
EQYJYIZIAYb4QgEBBAQDAgQQMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQYBMCsw
KQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMFUGA1Ud
HwROMEwwSqBIoEaGRGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUV4
dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3JsMIGGBggrBgEFBQcBAQR6
MHgwUAYIKwYBBQUHMAKGRGh0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JT
QUV4dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3J0MCQGCCsGAQUFBzAB
hhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wJgYDVR0RBB8wHaAbBggrBgEFBQcI
A6APMA0MC0dCLTEwODczNjYxMA0GCSqGSIb3DQEBCwUAA4IBAQBJ2aH4aixh0aiz
4WKlK+LMVLHpQ2POE3FZYNpAW7o1q2YDGEADXdGrygPE9NCGNBXKo0CAemCYNWfX
Ov/jdoiMfeqW3vrZ66oEy8OqbvJSwK1xmomWuYw3wYPWcPVG+YbWYD2CGdQu8jTz
fzAJCpvAuY3Wji3fQjiecAC7JCSB4fBHa0ALJOmiSqKQUUpkXs5kW7O0lPBnHzNF
2tQGltXMSIrq1QfFtcreMyKlwDOxPIh360dv5aHhaeSRDRKxq7uq5ikQF2gjKx4k
ieg2HRbAW6fVPpFr4zRS5umpeZV3i06i11VQQPS/mA/OBEXyaqzx4mr6B7U6ptrp
jMqiUv2w
-----END CERTIFICATE-----

View File

@@ -5,9 +5,12 @@
"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",
"enableLabs": true,
"roomDirectory": {
"servers": [
"matrix.org"

View File

@@ -29,6 +29,7 @@ const AutoLaunch = require('auto-launch');
const tray = require('./tray');
const vectorMenu = require('./vectormenu');
const webContentsHandler = require('./webcontents-handler');
const updater = require('./updater');
const windowStateKeeper = require('electron-window-state');
@@ -46,69 +47,9 @@ try {
// Continue with the defaults (ie. an empty config)
}
const UPDATE_POLL_INTERVAL_MS = 60 * 60 * 1000;
const INITIAL_UPDATE_DELAY_MS = 30 * 1000;
let mainWindow = null;
let appQuitting = false;
global.appQuitting = false;
function installUpdate() {
// for some reason, quitAndInstall does not fire the
// before-quit event, so we need to set the flag here.
appQuitting = true;
electron.autoUpdater.quitAndInstall();
}
function pollForUpdates() {
try {
electron.autoUpdater.checkForUpdates();
} catch (e) {
console.log('Couldn\'t check for update', e);
}
}
function startAutoUpdate(updateBaseUrl) {
if (updateBaseUrl.slice(-1) !== '/') {
updateBaseUrl = updateBaseUrl + '/';
}
try {
// For reasons best known to Squirrel, the way it checks for updates
// is completely different between macOS and windows. On macOS, it
// hits a URL that either gives it a 200 with some json or
// 204 No Content. On windows it takes a base path and looks for
// files under that path.
if (process.platform === 'darwin') {
// include the current version in the URL we hit. Electron doesn't add
// it anywhere (apart from the User-Agent) so it's up to us. We could
// (and previously did) just use the User-Agent, but this doesn't
// rely on NSURLConnection setting the User-Agent to what we expect,
// and also acts as a convenient cache-buster to ensure that when the
// app updates it always gets a fresh value to avoid update-looping.
electron.autoUpdater.setFeedURL(
`${updateBaseUrl}macos/?localVersion=${encodeURIComponent(electron.app.getVersion())}`);
} else if (process.platform === 'win32') {
electron.autoUpdater.setFeedURL(`${updateBaseUrl}win32/${process.arch}/`);
} else {
// Squirrel / electron only supports auto-update on these two platforms.
// I'm not even going to try to guess which feed style they'd use if they
// implemented it on Linux, or if it would be different again.
console.log('Auto update not supported on this platform');
}
// We check for updates ourselves rather than using 'updater' because we need to
// do it in the main process (and we don't really need to check every 10 minutes:
// every hour should be just fine for a desktop app)
// However, we still let the main window listen for the update events.
// We also wait a short time before checking for updates the first time because
// of squirrel on windows and it taking a small amount of time to release a
// lock file.
setTimeout(pollForUpdates, INITIAL_UPDATE_DELAY_MS);
setInterval(pollForUpdates, UPDATE_POLL_INTERVAL_MS);
} catch (err) {
// will fail if running in debug mode
console.log('Couldn\'t enable update checking', err);
}
}
// handle uncaught errors otherwise it displays
// stack traces in popup dialogs, which is terrible (which
@@ -120,8 +61,6 @@ process.on('uncaughtException', function(error) {
console.log('Unhandled exception', error);
});
electron.ipcMain.on('install_update', installUpdate);
let focusHandlerAttached = false;
electron.ipcMain.on('setBadgeCount', function(ev, count) {
electron.app.setBadgeCount(count);
@@ -145,7 +84,7 @@ let powerSaveBlockerId;
electron.ipcMain.on('app_onAction', function(ev, payload) {
switch (payload.action) {
case 'call_state':
if (powerSaveBlockerId && powerSaveBlockerId.isStarted(powerSaveBlockerId)) {
if (powerSaveBlockerId && electron.powerSaveBlocker.isStarted(powerSaveBlockerId)) {
if (payload.state === 'ended') {
electron.powerSaveBlocker.stop(powerSaveBlockerId);
}
@@ -233,7 +172,7 @@ electron.app.on('ready', () => {
if (vectorConfig.update_base_url) {
console.log(`Starting auto update with base URL: ${vectorConfig.update_base_url}`);
startAutoUpdate(vectorConfig.update_base_url);
updater.start(vectorConfig.update_base_url);
} else {
console.log('No update_base_url is defined: auto update is disabled');
}
@@ -246,7 +185,7 @@ electron.app.on('ready', () => {
defaultHeight: 768,
});
mainWindow = new electron.BrowserWindow({
mainWindow = global.mainWindow = new electron.BrowserWindow({
icon: iconPath,
show: false,
autoHideMenuBar: true,
@@ -264,7 +203,7 @@ electron.app.on('ready', () => {
mainWindow.hide();
// Create trayIcon icon
tray.create(mainWindow, {
tray.create({
icon_path: iconPath,
brand: vectorConfig.brand || 'Riot',
});
@@ -276,10 +215,10 @@ electron.app.on('ready', () => {
}
mainWindow.on('closed', () => {
mainWindow = null;
mainWindow = global.mainWindow = null;
});
mainWindow.on('close', (e) => {
if (!appQuitting && (tray.hasTray() || process.platform === 'darwin')) {
if (!global.appQuitting && (tray.hasTray() || process.platform === 'darwin')) {
// On Mac, closing the window just hides it
// (this is generally how single-window Mac apps
// behave, eg. Mail.app)
@@ -289,6 +228,17 @@ electron.app.on('ready', () => {
}
});
if (process.platform === 'win32') {
// Handle forward/backward mouse buttons in Windows
mainWindow.on('app-command', (e, cmd) => {
if (cmd === 'browser-backward' && mainWindow.webContents.canGoBack()) {
mainWindow.webContents.goBack();
} else if (cmd === 'browser-forward' && mainWindow.webContents.canGoForward()) {
mainWindow.webContents.goForward();
}
});
}
webContentsHandler(mainWindow.webContents);
mainWindowState.manage(mainWindow);
});
@@ -302,7 +252,10 @@ electron.app.on('activate', () => {
});
electron.app.on('before-quit', () => {
appQuitting = true;
global.appQuitting = true;
if (mainWindow) {
mainWindow.webContents.send('before-quit');
}
});
// Set the App User Model ID to match what the squirrel

View File

@@ -26,17 +26,17 @@ exports.hasTray = function hasTray() {
return (trayIcon !== null);
};
exports.create = function(win, config) {
exports.create = function(config) {
// no trays on darwin
if (process.platform === 'darwin' || trayIcon) return;
const toggleWin = function() {
if (win.isVisible() && !win.isMinimized()) {
win.hide();
if (global.mainWindow.isVisible() && !global.mainWindow.isMinimized()) {
global.mainWindow.hide();
} else {
if (win.isMinimized()) win.restore();
if (!win.isVisible()) win.show();
win.focus();
if (global.mainWindow.isMinimized()) global.mainWindow.restore();
if (!global.mainWindow.isVisible()) global.mainWindow.show();
global.mainWindow.focus();
}
};
@@ -54,41 +54,46 @@ exports.create = function(win, config) {
},
]);
trayIcon = new Tray(config.icon_path);
const defaultIcon = nativeImage.createFromPath(config.icon_path);
trayIcon = new Tray(defaultIcon);
trayIcon.setToolTip(config.brand);
trayIcon.setContextMenu(contextMenu);
trayIcon.on('click', toggleWin);
let lastFavicon = null;
win.webContents.on('page-favicon-updated', async function(ev, favicons) {
let newFavicon = config.icon_path;
if (favicons && favicons.length > 0 && favicons[0].startsWith('data:')) {
newFavicon = favicons[0];
global.mainWindow.webContents.on('page-favicon-updated', async function(ev, favicons) {
if (!favicons || favicons.length <= 0 || !favicons[0].startsWith('data:')) {
if (lastFavicon !== null) {
win.setIcon(defaultIcon);
trayIcon.setImage(defaultIcon);
lastFavicon = null;
}
return;
}
// No need to change, shortcut
if (newFavicon === lastFavicon) return;
lastFavicon = newFavicon;
if (favicons[0] === lastFavicon) return;
lastFavicon = favicons[0];
// if its not default we have to construct into nativeImage
if (newFavicon !== config.icon_path) {
newFavicon = nativeImage.createFromDataURL(favicons[0]);
let newFavicon = nativeImage.createFromDataURL(favicons[0]);
if (process.platform === 'win32') {
try {
const icoPath = path.join(app.getPath('temp'), 'win32_riot_icon.ico')
const icoBuf = await pngToIco(newFavicon.toPNG());
fs.writeFileSync(icoPath, icoBuf);
newFavicon = icoPath;
} catch (e) {console.error(e);}
// Windows likes ico's too much.
if (process.platform === 'win32') {
try {
const icoPath = path.join(app.getPath('temp'), 'win32_riot_icon.ico');
fs.writeFileSync(icoPath, await pngToIco(newFavicon.toPNG()));
newFavicon = nativeImage.createFromPath(icoPath);
} catch (e) {
console.error("Failed to make win32 ico", e);
}
}
trayIcon.setImage(newFavicon);
win.setIcon(newFavicon);
global.mainWindow.setIcon(newFavicon);
});
win.webContents.on('page-title-updated', function(ev, title) {
global.mainWindow.webContents.on('page-title-updated', function(ev, title) {
trayIcon.setToolTip(title);
});
};

View File

@@ -0,0 +1,84 @@
const { app, autoUpdater, ipcMain } = require('electron');
const UPDATE_POLL_INTERVAL_MS = 60 * 60 * 1000;
const INITIAL_UPDATE_DELAY_MS = 30 * 1000;
function installUpdate() {
// for some reason, quitAndInstall does not fire the
// before-quit event, so we need to set the flag here.
global.appQuitting = true;
autoUpdater.quitAndInstall();
}
function pollForUpdates() {
try {
autoUpdater.checkForUpdates();
} catch (e) {
console.log('Couldn\'t check for update', e);
}
}
module.exports = {};
module.exports.start = function startAutoUpdate(updateBaseUrl) {
if (updateBaseUrl.slice(-1) !== '/') {
updateBaseUrl = updateBaseUrl + '/';
}
try {
let url;
// For reasons best known to Squirrel, the way it checks for updates
// is completely different between macOS and windows. On macOS, it
// hits a URL that either gives it a 200 with some json or
// 204 No Content. On windows it takes a base path and looks for
// files under that path.
if (process.platform === 'darwin') {
// include the current version in the URL we hit. Electron doesn't add
// it anywhere (apart from the User-Agent) so it's up to us. We could
// (and previously did) just use the User-Agent, but this doesn't
// rely on NSURLConnection setting the User-Agent to what we expect,
// and also acts as a convenient cache-buster to ensure that when the
// app updates it always gets a fresh value to avoid update-looping.
url = `${updateBaseUrl}macos/?localVersion=${encodeURIComponent(app.getVersion())}`;
} else if (process.platform === 'win32') {
url = `${updateBaseUrl}win32/${process.arch}/`;
} else {
// Squirrel / electron only supports auto-update on these two platforms.
// I'm not even going to try to guess which feed style they'd use if they
// implemented it on Linux, or if it would be different again.
console.log('Auto update not supported on this platform');
}
if (url) {
autoUpdater.setFeedURL(url);
// We check for updates ourselves rather than using 'updater' because we need to
// do it in the main process (and we don't really need to check every 10 minutes:
// every hour should be just fine for a desktop app)
// However, we still let the main window listen for the update events.
// We also wait a short time before checking for updates the first time because
// of squirrel on windows and it taking a small amount of time to release a
// lock file.
setTimeout(pollForUpdates, INITIAL_UPDATE_DELAY_MS);
setInterval(pollForUpdates, UPDATE_POLL_INTERVAL_MS);
}
} catch (err) {
// will fail if running in debug mode
console.log('Couldn\'t enable update checking', err);
}
}
ipcMain.on('install_update', installUpdate);
ipcMain.on('check_updates', pollForUpdates);
function ipcChannelSendUpdateStatus(status) {
if (global.mainWindow) {
global.mainWindow.webContents.send('check_updates', status);
}
}
autoUpdater.on('update-available', function() {
ipcChannelSendUpdateStatus(true);
}).on('update-not-available', function() {
ipcChannelSendUpdateStatus(false);
}).on('error', function(error) {
ipcChannelSendUpdateStatus(error.message);
});

View File

@@ -19,7 +19,7 @@ const {app, shell, Menu} = require('electron');
// Menu template from http://electron.atom.io/docs/api/menu/, edited
const template = [
{
label: 'Edit',
label: '&Edit',
submenu: [
{ role: 'undo' },
{ role: 'redo' },
@@ -33,7 +33,7 @@ const template = [
],
},
{
label: 'View',
label: '&View',
submenu: [
{ type: 'separator' },
{ role: 'resetzoom' },
@@ -45,6 +45,7 @@ const template = [
],
},
{
label: '&Window',
role: 'window',
submenu: [
{ role: 'minimize' },
@@ -52,6 +53,7 @@ const template = [
],
},
{
label: '&Help',
role: 'help',
submenu: [
{
@@ -122,7 +124,7 @@ if (process.platform === 'darwin') {
];
} else {
template.unshift({
label: 'File',
label: '&File',
submenu: [
// For some reason, 'about' does not seem to work on windows.
/*{

View File

@@ -84,13 +84,23 @@ module.exports = function (config) {
// available preprocessors:
// https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'{src,test}/**/*.js': ['webpack'],
'{src,test}/**/*.js': ['webpack', 'sourcemap'],
},
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress', 'junit'],
reporters: ['logcapture', 'spec', 'junit', 'summary'],
specReporter: {
suppressErrorSummary: false, // do print error summary
suppressFailed: false, // do print information about failed tests
suppressPassed: false, // do print information about passed tests
showSpecTiming: true, // print the time elapsed for each spec
},
client: {
captureLogs: true,
},
// web server port
port: 9876,
@@ -113,8 +123,23 @@ module.exports = function (config) {
browsers: [
'Chrome',
//'PhantomJS',
//'ChromeHeadless'
],
customLaunchers: {
'ChromeHeadless': {
base: 'Chrome',
flags: [
// '--no-sandbox',
// See https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md
'--headless',
'--disable-gpu',
// Without a remote debugging port, Google Chrome exits immediately.
'--remote-debugging-port=9222',
],
}
},
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
// singleRun: false,

9512
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,9 +2,9 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "0.11.2",
"version": "0.14.0-rc.5",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"author": "New Vector Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/vector-im/riot-web"
@@ -28,11 +28,13 @@
"scripts": {
"reskindex": "reskindex -h src/header",
"reskindex:watch": "reskindex -h src/header -w",
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"build:res": "node scripts/copy-res.js",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:compile": "npm run reskindex && babel --source-maps -d lib src",
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress",
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail",
"build:bundle:dev": "webpack --optimize-occurence-order --progress --bail",
"build:electron": "npm run clean && npm run build && npm run install:electron && build -wml --ia32 --x64",
"build": "npm run reskindex && npm run build:res && npm run build:bundle",
"build:dev": "npm run reskindex && npm run build:res && npm run build:bundle:dev",
@@ -47,16 +49,17 @@
"lint": "eslint src/",
"lintall": "eslint src/ test/",
"clean": "rimraf lib webapp electron_app/dist",
"prepublish": "npm run build:compile",
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
"prepublish": "npm run clean && npm run build:compile",
"test": "karma start --single-run=true --autoWatch=false --browsers ChromeHeadless",
"test-multi": "karma start"
},
"dependencies": {
"babel-polyfill": "^6.5.0",
"babel-runtime": "^6.11.6",
"bluebird": "^3.5.0",
"browser-request": "^0.3.3",
"classnames": "^2.1.2",
"draft-js": "^0.8.1",
"draft-js": "^0.11.0-alpha",
"extract-text-webpack-plugin": "^0.9.1",
"favico.js": "^0.3.10",
"filesize": "3.5.6",
@@ -65,15 +68,14 @@
"gfm.css": "^1.1.1",
"highlight.js": "^9.0.0",
"linkifyjs": "^2.1.3",
"matrix-js-sdk": "0.7.12",
"matrix-react-sdk": "0.9.5",
"matrix-js-sdk": "0.10.0-rc.2",
"matrix-react-sdk": "0.12.0-rc.5",
"modernizr": "^3.1.0",
"pako": "^1.0.5",
"q": "^1.4.1",
"react": "^15.4.0",
"react-dnd": "^2.1.4",
"react-dnd-html5-backend": "^2.1.2",
"react-dom": "^15.4.0",
"prop-types": "^15.5.10",
"react": "^15.6.0",
"react-beautiful-dnd": "^4.0.1",
"react-dom": "^15.6.0",
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
"sanitize-html": "^1.11.1",
"text-encoding-utf-8": "^1.0.1",
@@ -88,7 +90,7 @@
"babel-eslint": "^6.1.0",
"babel-loader": "^6.2.5",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-transform-async-to-generator": "^6.16.0",
"babel-plugin-transform-async-to-bluebird": "^1.1.1",
"babel-plugin-transform-class-properties": "^6.16.0",
"babel-plugin-transform-object-rest-spread": "^6.16.0",
"babel-plugin-transform-runtime": "^6.15.0",
@@ -109,23 +111,27 @@
"eslint-config-google": "^0.7.1",
"eslint-plugin-babel": "^4.1.1",
"eslint-plugin-flowtype": "^2.30.0",
"eslint-plugin-react": "^6.9.0",
"eslint-plugin-react": "^7.4.0",
"expect": "^1.16.0",
"fs-extra": "^0.30.0",
"html-webpack-plugin": "^2.24.0",
"json-loader": "^0.5.3",
"karma": "^0.13.22",
"karma": "^1.7.0",
"karma-chrome-launcher": "^0.2.3",
"karma-cli": "^0.1.2",
"karma-junit-reporter": "^0.4.1",
"karma-logcapture-reporter": "0.0.1",
"karma-mocha": "^0.2.2",
"karma-phantomjs-launcher": "^1.0.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.31",
"karma-summary-reporter": "^1.3.3",
"karma-webpack": "^1.7.0",
"matrix-mock-request": "^1.2.0",
"matrix-react-test-utils": "^0.2.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"mocha": "^2.4.5",
"parallelshell": "^1.2.0",
"phantomjs-prebuilt": "^2.1.7",
"parallelshell": "^3.0.2",
"postcss-extend": "^1.0.5",
"postcss-import": "^9.0.0",
"postcss-loader": "^1.2.2",
@@ -135,7 +141,7 @@
"postcss-simple-vars": "^3.0.0",
"postcss-strip-inline-comments": "^0.1.5",
"react-addons-perf": "^15.4.0",
"react-addons-test-utils": "^15.4.0",
"react-addons-test-utils": "^15.6.0",
"rimraf": "^2.4.3",
"source-map-loader": "^0.1.5",
"webpack": "^1.12.14",
@@ -147,7 +153,7 @@
"build": {
"appId": "im.riot.app",
"category": "Network",
"electronVersion": "1.6.8",
"electronVersion": "1.8.3",
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
"asar": false,
"dereference": true,

View File

@@ -11,7 +11,7 @@ cd `dirname $0`
for i in matrix-js-sdk matrix-react-sdk
do
depver=`cat package.json | jq -r .dependencies.\"$i\"`
depver=`cat package.json | jq -r .dependencies[\"$i\"]`
latestver=`npm show $i version`
if [ "$depver" != "$latestver" ]
then

192
res/home-status.html Normal file
View File

@@ -0,0 +1,192 @@
<style type="text/css">
/* we deliberately inline style here to avoid flash-of-CSS problems, and to avoid
* voodoo where we have to set display: none by default
*/
.mx_HomePage_container {
text-align: center;
display: block ! important;
width: 690px;
margin: 20px;
}
.mx_HomePage_header {
margin-top: 37px;
margin-left: 10px;
width: 670px;
box-sizing: border-box;
font-size: 18px;
background-color: #fff;
box-shadow: 0px 2px 10px 0px rgba(48,55,81,0.05);
border-radius: 5px;
padding: 20px 80px 20px 80px;
align-items: center;
}
.mx_HomePage_header h1 {
font-size: 29px;
margin-bottom: 10px;
}
.mx_HomePage_intro h2 {
margin-top: 32px;
font-size: 25px;
color: #49555F;
}
.mx_HomePage_intro {
margin: auto;
width: 600px;
margin-top: 40px;
margin-bottom: 40px;
font-size: 18px;
}
.mx_HomePage_coc {
font-size: 16px;
}
.mx_HomePage_coc a {
color: #4360DF;
}
.mx_HomePage_room, .mx_HomePage_telegram {
float: left;
background-color: #fff;
box-shadow: 0px 2px 10px 0px rgba(48,55,81,0.05);
border-radius: 5px;
margin: 10px;
width: 210px;
height: 250px;
display: flex;
flex-direction: column;
align-items: center;
}
.mx_HomePage_telegram {
background-color: transparent;
border: 1px solid rgba(113, 129, 142, 0.2);
box-shadow: none;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
font-size: 16px;
line-height: 25px;
box-sizing: border-box;
}
.mx_HomePage_telegram a {
text-transform: uppercase;
color: #4360DF;
font-size: 13px;
font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif;
font-weight: 600;
opacity: 1.0;
transition: opacity .2s ease;
}
.mx_HomePage_telegram a:hover {
opacity: 0.5;
}
.mx_HomePage_room .mx_HomePage_icon {
margin-top: 24px;
margin-bottom: 16px;
width: 50px;
height: 50px;
}
.mx_HomePage_room .mx_HomePage_name {
display: block;
font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif;
font-weight: 600;
font-size: 15px;
color: #49555F;
line-height: 25px;
margin: 0px 12px 0px 12px;
}
.mx_HomePage_room .mx_HomePage_desc {
flex: 1;
display: block;
margin: 0px 12px 0px 12px;
font-size: 14px;
line-height: 20px;
}
.mx_HomePage_button {
align-self: normal;
margin: 12px;
border-radius: 8px;
border: 1px solid rgba(199, 206, 209, 0.12);
background-color: #6CC1F6;
font-size: 13px;
font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
color: #fff ! important;
cursor: pointer;
outline: none;
padding: 14px;
box-sizing: border-box;
padding-left: 1.5em;
padding-right: 1.5em;
}
</style>
<div class="mx_HomePage_container">
<div class="mx_HomePage_header">
<div>
<h1>Welcome to Status Community Chat, powered by Riot.</h1>
<p>For contributors, developers and Ethereum-enthusiasts who care about the movement for decentralization.</p>
</div>
</div>
<div class="mx_HomePage_intro">
<h2>Our rooms</h2>
<p>Please abide by the channels discussion categories and remain on topic to the specific category details listed.</p>
<p class="mx_HomePage_coc">Before posting please refer to our <a href="https://wiki.status.im/Code_of_conduct">Code of Conduct</a></p>
</div>
<div class="mx_HomePage_room">
<img class="mx_HomePage_icon" src="themes/status/img/a.png">
<span class="mx_HomePage_name">#announcements</span>
<span class="mx_HomePage_desc">Company wide announcements.</span>
<a class="mx_HomePage_button" href="#/room/#announcements:status.im">Join</a>
</div>
<div class="mx_HomePage_room">
<img class="mx_HomePage_icon" src="themes/status/img/i.png">
<span class="mx_HomePage_name">#introductions</span>
<span class="mx_HomePage_desc">Newcomer introductions.</span>
<a class="mx_HomePage_button" href="#/room/#introductions:status.im">Join</a>
</div>
<div class="mx_HomePage_room">
<img class="mx_HomePage_icon" src="themes/status/img/g.png">
<span class="mx_HomePage_name">#general</span>
<span class="mx_HomePage_desc">General discussions of Status.</span>
<a class="mx_HomePage_button" href="#/room/#general:status.im">Join</a>
</div>
<div class="mx_HomePage_room">
<img class="mx_HomePage_icon" src="themes/status/img/d.png">
<span class="mx_HomePage_name">#dev-status</span>
<span class="mx_HomePage_desc">Contributing to our codebase? Building a DApp or a chatbot? We're here to help.</span>
<a class="mx_HomePage_button" href="#/room/#dev-status:status.im">Join</a>
</div>
<div class="mx_HomePage_room">
<img class="mx_HomePage_icon" src="themes/status/img/n.png">
<span class="mx_HomePage_name">#news-articles</span>
<span class="mx_HomePage_desc">Share news, articles related to Ethereum or projects you're excited about</span>
<a class="mx_HomePage_button" href="#/room/#news-articles:status.im">Join</a>
</div>
<div class="mx_HomePage_telegram">
<p>
Interested in market and cryptocurrency type discussions?
</p>
<a href="https://t.me/StatusNetworkChat">Join Telegram</a>
</div>
</div>

View File

@@ -249,7 +249,7 @@
<span class="mx_HomePage_desc">_t("Implementing VoIP services with Matrix")</span>
</div>
<div class="mx_HomePage_room">
<a href="#/room/#identity:matrix.org">
<a href="#/room/#matrix-identity:matrix.org">
<img class="mx_HomePage_icon" src="home/rooms/identity.jpg">
<span class="mx_HomePage_name">Matrix Identity</span>
</a>

View File

@@ -7,25 +7,35 @@
// a translation in the app (because having a translation with only
// 3 strings translated is just frustrating)
// This could readily be automated, but it's nice to explicitly
// control when we languages are available.
// control when new languages are available.
const INCLUDE_LANGS = [
{'value': 'bg', 'label': 'Български'},
{'value': 'ca', 'label': 'Català'},
{'value': 'cs', 'label': 'čeština'},
{'value': 'da', 'label': 'Dansk'},
{'value': 'de_DE', 'label': 'Deutsch'},
{'value': 'el', 'label': 'Ελληνικά'},
{'value': 'en_EN', 'label': 'English'},
{'value': 'en_US', 'label': 'English (US)'},
{'value': 'da', 'label': 'Dansk'},
{'value': 'el', 'label': 'Ελληνικά'},
{'value': 'eo', 'label': 'Esperanto'},
{'value': 'nl', 'label': 'Nederlands'},
{'value': 'de_DE', 'label': 'Deutsch'},
{'value': 'es', 'label': 'Español'},
{'value': 'eu', 'label': 'Euskara'},
{'value': 'fi', 'label': 'Suomi'},
{'value': 'fr', 'label': 'Français'},
{'value': 'gl', 'label': 'Galego'},
{'value': 'hu', 'label': 'Magyar'},
{'value': 'ko', 'label': '한국어'},
{'value': 'lv', 'label': 'Latviešu'},
{'value': 'nb_NO', 'label': 'Norwegian Bokmål'},
{'value': 'nl', 'label': 'Nederlands'},
{'value': 'pl', 'label': 'Polski'},
{'value': 'pt', 'label': 'Português'},
{'value': 'pt_BR', 'label': 'Português do Brasil'},
{'value': 'ru', 'label': 'Русский'},
{'value': 'sk', 'label': 'Slovenčina'},
{'value': 'sr', 'label': 'српски'},
{'value': 'sv', 'label': 'Svenska'},
{'value': 'es', 'label': 'Español'},
{'value': 'te', 'label': 'తెలుగు'},
{'value': 'th', 'label': 'ไทย'},
{'value': 'tr', 'label': 'Türk'},
{'value': 'zh_Hans', 'label': '简体中文'}, // simplified chinese
@@ -38,10 +48,11 @@ const INCLUDE_LANGS = [
const COPY_LIST = [
["res/manifest.json", "webapp"],
["res/home.html", "webapp"],
["res/home-status.html", "webapp"],
["res/home/**", "webapp/home"],
["res/{media,vector-icons}/**", "webapp"],
["res/flags/*", "webapp/flags/"],
["src/skins/vector/{fonts,img}/**", "webapp"],
["src/skins/vector/{fonts,img,themes}/**", "webapp"],
["node_modules/emojione/assets/svg/*", "webapp/emojione/svg/"],
["node_modules/emojione/assets/png/*", "webapp/emojione/png/"],
["./config.json", "webapp", { directwatch: 1 }],
@@ -126,8 +137,19 @@ function next(i, err) {
const reactSdkFile = 'node_modules/matrix-react-sdk/src/i18n/strings/' + source + '.json';
const riotWebFile = 'src/i18n/strings/' + source + '.json';
const translations = {};
const makeLang = () => { genLangFile(source, dest) };
// XXX: Use a debounce because for some reason if we read the language
// file immediately after the FS event is received, the file contents
// appears empty. Possibly https://github.com/nodejs/node/issues/6112
let makeLangDebouncer;
const makeLang = () => {
if (makeLangDebouncer) {
clearTimeout(makeLangDebouncer);
}
makeLangDebouncer = setTimeout(() => {
genLangFile(source, dest);
}, 500);
};
[reactSdkFile, riotWebFile].forEach(function(f) {
chokidar.watch(f)
.on('add', makeLang)
@@ -153,15 +175,23 @@ function genLangFile(lang, dest) {
const reactSdkFile = 'node_modules/matrix-react-sdk/src/i18n/strings/' + lang + '.json';
const riotWebFile = 'src/i18n/strings/' + lang + '.json';
const translations = {};
let translations = {};
[reactSdkFile, riotWebFile].forEach(function(f) {
if (fs.existsSync(f)) {
Object.assign(
translations,
JSON.parse(fs.readFileSync(f).toString())
);
try {
Object.assign(
translations,
JSON.parse(fs.readFileSync(f).toString())
);
} catch (e) {
console.error("Failed: " + f, e);
throw e;
}
}
});
translations = weblateToCounterpart(translations);
fs.writeFileSync(dest + lang + '.json', JSON.stringify(translations, null, 4));
if (verbose) {
console.log("Generated language file: " + lang);
@@ -190,5 +220,39 @@ function genLangList() {
}
}
/**
* Convert translation key from weblate format
* (which only supports a single level) to counterpart
* which requires object values for 'count' translations.
*
* eg.
* "there are %(count)s badgers|one": "a badger",
* "there are %(count)s badgers|other": "%(count)s badgers"
* becomes
* "there are %(count)s badgers": {
* "one": "a badger",
* "other": "%(count)s badgers"
* }
*/
function weblateToCounterpart(inTrs) {
const outTrs = {};
for (const key of Object.keys(inTrs)) {
const keyParts = key.split('|', 2);
if (keyParts.length === 2) {
let obj = outTrs[keyParts[0]];
if (obj === undefined) {
obj = {};
outTrs[keyParts[0]] = obj;
}
obj[keyParts[1]] = inTrs[key];
} else {
outTrs[key] = inTrs[key];
}
}
return outTrs;
}
genLangList();
next(0);

View File

@@ -13,6 +13,8 @@ import os.path
import subprocess
import sys
import tarfile
import shutil
import glob
try:
# python3
@@ -48,11 +50,12 @@ def move_bundles(source, dest):
for f in os.listdir(source):
dst = os.path.join(dest, f)
if os.path.exists(dst):
raise DeployException(
"Not deploying. The bundle includes '%s' which we have previously deployed."
print (
"Skipping bundle. The bundle includes '%s' which we have previously deployed."
% f
)
renames[os.path.join(source, f)] = dst
else:
renames[os.path.join(source, f)] = dst
for (src, dst) in renames.iteritems():
print ("Move %s -> %s" % (src, dst))
@@ -63,7 +66,8 @@ class Deployer:
self.packages_path = "."
self.bundles_path = None
self.should_clean = False
self.config_location = None
# filename -> symlink path e.g 'config.localhost.json' => '../localhost/config.json'
self.symlink_paths = {}
self.verify_signature = True
def deploy(self, tarball, extract_path):
@@ -95,19 +99,20 @@ class Deployer:
print ("Extracted into: %s" % extracted_dir)
if self.config_location:
create_relative_symlink(
target=self.config_location,
linkname=os.path.join(extracted_dir, 'config.json')
)
if self.symlink_paths:
for link_path, file_path in self.symlink_paths.iteritems():
create_relative_symlink(
target=file_path,
linkname=os.path.join(extracted_dir, link_path)
)
if self.bundles_path:
extracted_bundles = os.path.join(extracted_dir, 'bundles')
move_bundles(source=extracted_bundles, dest=self.bundles_path)
# replace the (hopefully now empty) extracted_bundles dir with a
# symlink to the common dir.
os.rmdir(extracted_bundles)
# replace the extracted_bundles dir (which may not be empty if some
# bundles were skipped) with a symlink to the common dir.
shutil.rmtree(extracted_bundles)
create_relative_symlink(
target=self.bundles_path,
linkname=extracted_bundles,
@@ -161,9 +166,10 @@ if __name__ == "__main__":
)
)
parser.add_argument(
"--config", nargs='?', default='./config.json', help=(
"Write a symlink at config.json in the extracted tarball to this \
location. (Default: '%(default)s')"
"--include", nargs='*', default='./config*.json', help=(
"Symlink these files into the root of the deployed tarball. \
Useful for config files and home pages. Supports glob syntax. \
(Default: '%(default)s')"
)
)
parser.add_argument(
@@ -178,6 +184,8 @@ if __name__ == "__main__":
deployer.packages_path = args.packages_dir
deployer.bundles_path = args.bundles_dir
deployer.should_clean = args.clean
deployer.config_location = args.config
for include in args.include:
deployer.symlink_paths.update({ os.path.basename(pth): pth for pth in glob.iglob(include) })
deployer.deploy(args.tarball, args.extract_path)

View File

@@ -94,17 +94,20 @@ distdir="$builddir/electron_app/dist"
pubdir="$projdir/electron_app/pub"
rm -r "$pubdir" || true
mkdir -p "$pubdir"
rm -r "$projdir/electron_app/dist" || true
mkdir -p "$projdir/electron_app/dist/unsigned/"
# Install packages: what the user downloads the first time,
# (DMGs for mac, exe installer for windows)
mkdir -p "$pubdir/install/macos"
cp $distdir/mac/*.dmg "$pubdir/install/macos/"
# Windows installers go to the dist dir because they need signing
mkdir -p "$pubdir/install/win32/ia32/"
cp $distdir/win-ia32/*.exe "$pubdir/install/win32/ia32/"
cp $distdir/win-ia32/*.exe "$projdir/electron_app/dist/unsigned/"
mkdir -p "$pubdir/install/win32/x64/"
cp $distdir/win/*.exe "$pubdir/install/win32/x64/"
cp $distdir/win/*.exe "$projdir/electron_app/dist/unsigned/"
# Packages for auto-update
mkdir -p "$pubdir/update/macos"
@@ -120,11 +123,11 @@ cp $distdir/win/*.nupkg "$pubdir/update/win32/x64/"
cp $distdir/win/RELEASES "$pubdir/update/win32/x64/"
# Move the debs to the main project dir's dist folder
rm -r "$projdir/electron_app/dist" || true
mkdir -p "$projdir/electron_app/dist"
cp $distdir/*.deb "$projdir/electron_app/dist/"
rm -rf "$builddir"
echo "Riot Desktop is ready to go in $pubdir: this directory can be hosted on your web server."
echo "Unsigned Windows installers have been placed in electron_app/dist/unsigned/ - sign them,"
echo "or just copy them to "$pubdir/install/win32/\<arch\>/""
echo "Once you've done this, $pubdir can be hosted on your web server."
echo "deb archives are in electron_app/dist/ - these should be added into your debian repository"

View File

@@ -49,42 +49,47 @@ function dodep() {
[ "$curbranch" != 'develop' ] && clone $org $repo develop
} || return $?
(
cd $repo
echo "$repo set to branch "`git rev-parse --abbrev-ref HEAD`
)
echo "$repo set to branch "`git -C "$repo" rev-parse --abbrev-ref HEAD`
mkdir -p node_modules
rm -r "node_modules/$repo" 2>/dev/null || true
ln -sv "../$repo" node_modules/
(
cd $repo
npm install
)
}
##############################
echo -en 'travis_fold:start:matrix-js-sdk\r'
echo 'Setting up matrix-js-sdk'
dodep matrix-org matrix-js-sdk
(
cd node_modules/matrix-js-sdk
npm install
)
echo -en 'travis_fold:end:matrix-js-sdk\r'
##############################
echo -en 'travis_fold:start:matrix-react-sdk\r'
echo 'Setting up matrix-react-sdk'
dodep matrix-org matrix-react-sdk
mkdir -p node_modules/matrix-react-sdk/node_modules
# replace the version of js-sdk that got pulled into react-sdk with a symlink
# to our version. Make sure to do this *after* doing 'npm i' in react-sdk,
# otherwise npm helpfully moves another-json from matrix-js-sdk/node_modules
# into matrix-react-sdk/node_modules.
#
# (note this matches the instructions in the README.)
rm -r node_modules/matrix-react-sdk/node_modules/matrix-js-sdk
ln -s ../../matrix-js-sdk node_modules/matrix-react-sdk/node_modules/
(
cd node_modules/matrix-react-sdk
npm install
)
echo -en 'travis_fold:end:matrix-react-sdk\r'
##############################
# Link the reskindex binary in place: if we used npm link,
# npm would do this for us, but we don't because we'd have
# to define the npm prefix somewhere so it could put the

View File

@@ -8,8 +8,11 @@ nvm use 6
set -x
# check out corresponding branches of dependencies
`dirname $0`/fetch-develop.deps.sh
# check out corresponding branches of dependencies.
#
# clone the deps with depth 1: we know we will only ever need that one
# commit.
`dirname $0`/fetch-develop.deps.sh --depth 1
npm install

View File

@@ -13,7 +13,9 @@
from __future__ import print_function
import json, requests, tarfile, argparse, os, errno
import time
import traceback
from urlparse import urljoin
import glob
from flask import Flask, jsonify, request, abort
@@ -124,6 +126,7 @@ def fetch_jenkins_build(job_name, build_num):
try:
extracted_dir = deploy_tarball(tar_gz_url, build_dir)
except DeployException as e:
traceback.print_exc()
abort(400, e.message)
create_symlink(source=extracted_dir, linkname=arg_symlink)
@@ -185,10 +188,13 @@ if __name__ == "__main__":
to the /vector directory INSIDE the tarball."
)
)
# --include ../../config.json ./localhost.json homepages/*
parser.add_argument(
"--config", dest="config", help=(
"Write a symlink to config.json in the extracted tarball. \
To this location."
"--include", nargs='*', default='./config*.json', help=(
"Symlink these files into the root of the deployed tarball. \
Useful for config files and home pages. Supports glob syntax. \
(Default: '%(default)s')"
)
)
parser.add_argument(
@@ -212,7 +218,10 @@ if __name__ == "__main__":
deployer = Deployer()
deployer.bundles_path = args.bundles_dir
deployer.should_clean = args.clean
deployer.config_location = args.config
for include in args.include:
deployer.symlink_paths.update({ os.path.basename(pth): pth for pth in glob.iglob(include) })
# we don't pgp-sign jenkins artifacts; instead we rely on HTTPS access to
# the jenkins server (and the jenkins server not being compromised and/or
@@ -225,13 +234,13 @@ if __name__ == "__main__":
deploy_tarball(args.tarball_uri, build_dir)
else:
print(
"Listening on port %s. Extracting to %s%s. Symlinking to %s. Jenkins URL: %s. Config location: %s" %
"Listening on port %s. Extracting to %s%s. Symlinking to %s. Jenkins URL: %s. Include files: %s" %
(args.port,
arg_extract_path,
" (clean after)" if deployer.should_clean else "",
arg_symlink,
arg_jenkins_url,
deployer.config_location,
deployer.symlink_paths,
)
)
app.run(host="0.0.0.0", port=args.port, debug=True)

View File

@@ -16,7 +16,7 @@ limitations under the License.
"use strict";
var q = require("q");
import Promise from 'bluebird';
var Matrix = require("matrix-js-sdk");
var Room = Matrix.Room;
var CallHandler = require('matrix-react-sdk/lib/CallHandler');
@@ -53,11 +53,11 @@ ConferenceCall.prototype._joinConferenceUser = function() {
// Make sure the conference user is in the group chat room
var groupRoom = this.client.getRoom(this.groupRoomId);
if (!groupRoom) {
return q.reject("Bad group room ID");
return Promise.reject("Bad group room ID");
}
var member = groupRoom.getMember(this.confUserId);
if (member && member.membership === "join") {
return q();
return Promise.resolve();
}
return this.client.invite(this.groupRoomId, this.confUserId);
};
@@ -75,7 +75,7 @@ ConferenceCall.prototype._getConferenceUserRoom = function() {
}
}
if (confRoom) {
return q(confRoom);
return Promise.resolve(confRoom);
}
return this.client.createRoom({
preset: "private_chat",

View File

@@ -19,9 +19,9 @@ import React from 'react';
import ReactDOM from 'react-dom';
import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
import Velocity from 'velocity-vector';
import 'velocity-vector/velocity.ui';
import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore";
const CALLOUT_ANIM_DURATION = 1000;
@@ -168,6 +168,10 @@ module.exports = React.createClass({
const RoomDirectoryButton = sdk.getComponent('elements.RoomDirectoryButton');
const CreateRoomButton = sdk.getComponent('elements.CreateRoomButton');
const SettingsButton = sdk.getComponent('elements.SettingsButton');
const GroupsButton = sdk.getComponent('elements.GroupsButton');
const groupsButton = SettingsStore.getValue("TagPanel.disableTagPanel") ?
<GroupsButton tooltip={true} /> : null;
return (
<div className="mx_BottomLeftMenu">
@@ -182,11 +186,12 @@ module.exports = React.createClass({
<div ref={this._collectCreateRoomButton}>
<CreateRoomButton tooltip={true} />
</div>
{ groupsButton }
<span className="mx_BottomLeftMenu_settings">
<SettingsButton tooltip={true} />
</span>
</div>
</div>
);
}
},
});

View File

@@ -17,7 +17,7 @@ limitations under the License.
'use strict';
var React = require('react');
import { _t, _tJsx } from 'matrix-react-sdk/lib/languageHandler';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
module.exports = React.createClass({
displayName: 'CompatibilityPage',
@@ -40,30 +40,24 @@ module.exports = React.createClass({
return (
<div className="mx_CompatibilityPage">
<div className="mx_CompatibilityPage_box">
<p>{ _tJsx("Sorry, your browser is <b>not</b> able to run Riot.", /<b>(.*?)<\/b>/, (sub) => <b>{sub}</b>) } </p>
<p>{ _t("Sorry, your browser is <b>not</b> able to run Riot.", {}, { 'b': (sub) => <b>{sub}</b> }) } </p>
<p>
{ _t("Riot uses many advanced browser features, some of which are not available or experimental in your current browser.") }
</p>
<p>
{ _tJsx('Please install <a href="https://www.google.com/chrome">Chrome</a> or <a href="https://getfirefox.com">Firefox</a> for the best experience.',
[
/<a href="https:\/\/www.google.com\/chrome">(.*?)<\/a>/,
/<a href="https:\/\/getfirefox.com">(.*?)<\/a>/,
],
[
(sub) => <a href="https://www.google.com/chrome">{sub}</a>,
(sub) => <a href="https://getfirefox.com">{sub}</a>,
]
{ _t('Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.',
{},
{
'chromeLink': (sub) => <a href="https://www.google.com/chrome">{sub}</a>,
'firefoxLink': (sub) => <a href="https://getfirefox.com">{sub}</a>,
},
)}
{ _tJsx('<a href="http://apple.com/safari">Safari</a> and <a href="http://opera.com">Opera</a> work too.',
[
/<a href="http:\/\/apple\.com\/safari">(.*?)<\/a>/,
/<a href="http:\/\/opera\.com">(.*?)<\/a>/,
],
[
(sub) => <a href="http://apple.com/safari">{sub}</a>,
(sub) => <a href="http://opera.com">{sub}</a>,
]
{ _t('<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.',
{},
{
'safariLink': (sub) => <a href="http://apple.com/safari">{sub}</a>,
'operaLink': (sub) => <a href="http://opera.com">{sub}</a>,
},
)}
</p>
<p>

View File

@@ -52,6 +52,8 @@ module.exports = React.createClass({
},
componentWillMount: function() {
this._unmounted = false;
if (this.props.teamToken && this.props.teamServerUrl) {
this.setState({
iframeSrc: `${this.props.teamServerUrl}/static/${this.props.teamToken}/home.html`
@@ -67,9 +69,14 @@ module.exports = React.createClass({
request(
{ method: "GET", url: src },
(err, response, body) => {
if (this._unmounted) {
return;
}
if (err || response.status < 200 || response.status >= 300) {
console.log(err);
this.setState({ page: "Couldn't load home page" });
console.warn(`Error loading home page: ${err}`);
this.setState({ page: _t("Couldn't load home page") });
return;
}
body = body.replace(/_t\(['"]([\s\S]*?)['"]\)/mg, (match, g1)=>this.translate(g1));
@@ -79,6 +86,10 @@ module.exports = React.createClass({
}
},
componentWillUnmount: function() {
this._unmounted = true;
},
render: function() {
if (this.state.iframeSrc) {
return (

View File

@@ -16,64 +16,145 @@ limitations under the License.
'use strict';
var React = require('react');
var DragDropContext = require('react-dnd').DragDropContext;
var HTML5Backend = require('react-dnd-html5-backend');
var sdk = require('matrix-react-sdk')
var dis = require('matrix-react-sdk/lib/dispatcher');
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
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 VectorConferenceHandler from '../../VectorConferenceHandler';
var VectorConferenceHandler = require('../../VectorConferenceHandler');
var CallHandler = require("matrix-react-sdk/lib/CallHandler");
import SettingsStore from 'matrix-react-sdk/lib/settings/SettingsStore';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
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() {
return {
showCallElement: null,
searchFilter: '',
};
},
componentDidMount: function() {
this.dispatcherRef = dis.register(this.onAction);
componentWillMount: function() {
this.focusedElement = null;
},
componentWillReceiveProps: function(newProps) {
this._recheckCallElement(newProps.selectedRoom);
shouldComponentUpdate: function(nextProps, nextState) {
// MatrixChat will update whenever the user switches
// rooms, but propagating this change all the way down
// the react tree is quite slow, so we cut this off
// here. The RoomTiles listen for the room change
// events themselves to know when to update.
// We just need to update if any of these things change.
if (
this.props.collapsed !== nextProps.collapsed ||
this.props.disabled !== nextProps.disabled
) {
return true;
}
if (this.state.searchFilter !== nextState.searchFilter) {
return true;
}
return false;
},
componentWillUnmount: function() {
dis.unregister(this.dispatcherRef);
_onFocus: function(ev) {
this.focusedElement = ev.target;
},
onAction: function(payload) {
switch (payload.action) {
// listen for call state changes to prod the render method, which
// may hide the global CallView if the call it is tracking is dead
case 'call_state':
this._recheckCallElement(this.props.selectedRoom);
_onBlur: function(ev) {
this.focusedElement = null;
},
_onKeyDown: function(ev) {
if (!this.focusedElement) return;
let handled = false;
switch (ev.keyCode) {
case KeyCode.UP:
this._onMoveFocus(true);
handled = true;
break;
case KeyCode.DOWN:
this._onMoveFocus(false);
handled = true;
break;
}
if (handled) {
ev.stopPropagation();
ev.preventDefault();
}
},
_recheckCallElement: function(selectedRoomId) {
// if we aren't viewing a room with an ongoing call, but there is an
// active call, show the call element - we need to do this to make
// audio/video not crap out
var activeCall = CallHandler.getAnyActiveCall();
var callForRoom = CallHandler.getCallForRoom(selectedRoomId);
var showCall = (activeCall && activeCall.call_state === 'connected' && !callForRoom);
this.setState({
showCallElement: showCall
});
_onMoveFocus: function(up) {
var element = this.focusedElement;
// unclear why this isn't needed
// var descending = (up == this.focusDirection) ? this.focusDescending : !this.focusDescending;
// this.focusDirection = up;
var descending = false; // are we currently descending or ascending through the DOM tree?
var classes;
do {
var child = up ? element.lastElementChild : element.firstElementChild;
var sibling = up ? element.previousElementSibling : element.nextElementSibling;
if (descending) {
if (child) {
element = child;
}
else if (sibling) {
element = sibling;
}
else {
descending = false;
element = element.parentElement;
}
}
else {
if (sibling) {
element = sibling;
descending = true;
}
else {
element = element.parentElement;
}
}
if (element) {
classes = element.classList;
if (classes.contains("mx_LeftPanel")) { // we hit the top
element = up ? element.lastElementChild : element.firstElementChild;
descending = true;
}
}
} while(element && !(
classes.contains("mx_RoomTile") ||
classes.contains("mx_SearchBox_search") ||
classes.contains("mx_RoomSubList_ellipsis")));
if (element) {
element.focus();
this.focusedElement = element;
this.focusedDescending = descending;
}
},
onHideClick: function() {
@@ -82,62 +163,64 @@ var LeftPanel = React.createClass({
});
},
onCallViewClick: function() {
var call = CallHandler.getAnyActiveCall();
if (call) {
dis.dispatch({
action: 'view_room',
room_id: call.groupRoomId || call.roomId,
});
}
},
onSearch: function(term) {
this.setState({ searchFilter: term });
},
render: function() {
var RoomList = sdk.getComponent('rooms.RoomList');
var BottomLeftMenu = sdk.getComponent('structures.BottomLeftMenu');
collectRoomList: function(ref) {
this._roomList = ref;
},
var topBox;
if (MatrixClientPeg.get().isGuest()) {
var LoginBox = sdk.getComponent('structures.LoginBox');
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');
let topBox;
if (this.context.matrixClient.isGuest()) {
const LoginBox = sdk.getComponent('structures.LoginBox');
topBox = <LoginBox collapsed={ this.props.collapsed }/>;
}
else {
var SearchBox = sdk.getComponent('structures.SearchBox');
} else {
const SearchBox = sdk.getComponent('structures.SearchBox');
topBox = <SearchBox collapsed={ this.props.collapsed } onSearch={ this.onSearch } />;
}
var classes = "mx_LeftPanel mx_fadable";
if (this.props.collapsed) {
classes += " collapsed";
}
const classes = classNames(
"mx_LeftPanel",
{
"collapsed": this.props.collapsed,
},
);
var callPreview;
if (this.state.showCallElement && !this.props.collapsed) {
var CallView = sdk.getComponent('voip.CallView');
callPreview = (
<CallView
className="mx_LeftPanel_callView" showVoice={true} onClick={this.onCallViewClick}
ConferenceHandler={VectorConferenceHandler} />
);
}
const tagPanelEnabled = !SettingsStore.getValue("TagPanel.disableTagPanel");
const tagPanel = tagPanelEnabled ? <TagPanel /> : <div />;
const containerClasses = classNames(
"mx_LeftPanel_container", "mx_fadable",
{
"mx_LeftPanel_container_collapsed": this.props.collapsed,
"mx_LeftPanel_container_hasTagPanel": tagPanelEnabled,
"mx_fadable_faded": this.props.disabled,
},
);
return (
<aside className={classes} style={{ opacity: this.props.opacity }}>
{ topBox }
{ callPreview }
<RoomList
selectedRoom={this.props.selectedRoom}
collapsed={this.props.collapsed}
searchFilter={this.state.searchFilter}
ConferenceHandler={VectorConferenceHandler} />
<BottomLeftMenu collapsed={this.props.collapsed}/>
</aside>
<div className={containerClasses}>
{ tagPanel }
<aside className={classes} onKeyDown={ this._onKeyDown } onFocus={ this._onFocus } onBlur={ this._onBlur }>
{ topBox }
<CallPreview ConferenceHandler={VectorConferenceHandler} />
<RoomList
ref={this.collectRoomList}
collapsed={this.props.collapsed}
searchFilter={this.state.searchFilter}
ConferenceHandler={VectorConferenceHandler} />
<BottomLeftMenu collapsed={this.props.collapsed}/>
</aside>
</div>
);
}
});
module.exports = DragDropContext(HTML5Backend)(LeftPanel);
module.exports = LeftPanel;

View File

@@ -84,7 +84,7 @@ module.exports = React.createClass({
var self = this;
return (
<div className="mx_SearchBox">
<div className="mx_SearchBox mx_LoginBox">
{ loginButton }
{ toggleCollapse }
</div>

View File

@@ -1,5 +1,7 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2017 Vector Creations Ltd
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.
@@ -14,75 +16,143 @@ 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 classNames from 'classnames';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import sdk from 'matrix-react-sdk';
import Matrix from "matrix-js-sdk";
import dis from 'matrix-react-sdk/lib/dispatcher';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
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 Modal from 'matrix-react-sdk/lib/Modal';
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';
import { formatCount } from 'matrix-react-sdk/lib/utils/FormattingUtils';
class HeaderButton extends React.Component {
constructor() {
super();
this.onClick = this.onClick.bind(this);
}
onClick(ev) {
Analytics.trackEvent(...this.props.analytics);
dis.dispatch({
action: 'view_right_panel_phase',
phase: this.props.clickPhase,
});
}
render() {
const TintableSvg = sdk.getComponent("elements.TintableSvg");
const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
return <AccessibleButton
aria-label={this.props.title}
title={this.props.title}
className="mx_RightPanel_headerButton"
onClick={this.onClick} >
<div className="mx_RightPanel_headerButton_badge">
{ this.props.badge ? this.props.badge : <span>&nbsp;</span> }
</div>
<TintableSvg src={this.props.iconSrc} width="25" height="25" />
{ this.props.isHighlighted ? <div className="mx_RightPanel_headerButton_highlight" /> : <div /> }
</AccessibleButton>;
}
}
HeaderButton.propTypes = {
// Whether this button is highlighted
isHighlighted: PropTypes.bool.isRequired,
// The phase to swap to when the button is clicked
clickPhase: PropTypes.string.isRequired,
// The source file of the icon to display
iconSrc: PropTypes.string.isRequired,
// The badge to display above the icon
badge: PropTypes.node,
// The parameters to track the click event
analytics: PropTypes.arrayOf(PropTypes.string).isRequired,
// Button title
title: PropTypes.string.isRequired,
};
module.exports = React.createClass({
displayName: 'RightPanel',
propTypes: {
userId: React.PropTypes.string, // if showing an orphaned MemberInfo page, this is set
// TODO: We're trying to move away from these being props, but we need to know
// whether we should be displaying a room or group member list
roomId: React.PropTypes.string, // if showing panels for a given room, this is set
groupId: React.PropTypes.string, // if showing panels for a given group, this is set
collapsed: React.PropTypes.bool, // currently unused property to request for a minimized view of the panel
},
contextTypes: {
matrixClient: PropTypes.instanceOf(MatrixClient),
},
Phase: {
MemberList: 'MemberList',
RoomMemberList: 'RoomMemberList',
GroupMemberList: 'GroupMemberList',
GroupRoomList: 'GroupRoomList',
GroupRoomInfo: 'GroupRoomInfo',
FilePanel: 'FilePanel',
NotificationPanel: 'NotificationPanel',
MemberInfo: 'MemberInfo',
RoomMemberInfo: 'RoomMemberInfo',
GroupMemberInfo: 'GroupMemberInfo',
},
componentWillMount: function() {
this.dispatcherRef = dis.register(this.onAction);
var cli = MatrixClientPeg.get();
const cli = this.context.matrixClient;
cli.on("RoomState.members", this.onRoomStateMember);
this._initGroupStore(this.props.groupId);
},
componentWillUnmount: function() {
dis.unregister(this.dispatcherRef);
if (MatrixClientPeg.get()) {
MatrixClientPeg.get().removeListener("RoomState.members", this.onRoomStateMember);
if (this.context.matrixClient) {
this.context.matrixClient.removeListener("RoomState.members", this.onRoomStateMember);
}
this._unregisterGroupStore();
},
getInitialState: function() {
if (this.props.userId) {
var member = new Matrix.RoomMember(null, this.props.userId);
return {
phase: this.Phase.MemberInfo,
member: member,
};
} else {
return {
phase: this.Phase.MemberList
};
return {
phase: this.props.groupId ? this.Phase.GroupMemberList : this.Phase.RoomMemberList,
isUserPrivilegedInGroup: null,
};
},
componentWillReceiveProps(newProps) {
if (newProps.groupId !== this.props.groupId) {
this._unregisterGroupStore();
this._initGroupStore(newProps.groupId);
}
},
onMemberListButtonClick: function() {
Analytics.trackEvent('Right Panel', 'Member List Button', 'click');
this.setState({ phase: this.Phase.MemberList });
_initGroupStore(groupId) {
if (!groupId) return;
this._groupStore = GroupStoreCache.getGroupStore(groupId);
this._groupStore.registerListener(this.onGroupStoreUpdated);
},
onFileListButtonClick: function() {
Analytics.trackEvent('Right Panel', 'File List Button', 'click');
this.setState({ phase: this.Phase.FilePanel });
_unregisterGroupStore() {
if (this._groupStore) {
this._groupStore.unregisterListener(this.onGroupStoreUpdated);
}
},
onNotificationListButtonClick: function() {
Analytics.trackEvent('Right Panel', 'Notification List Button', 'click');
this.setState({ phase: this.Phase.NotificationPanel });
onGroupStoreUpdated: function() {
this.setState({
isUserPrivilegedInGroup: this._groupStore.isUserPrivileged(),
});
},
onCollapseClick: function() {
@@ -92,32 +162,45 @@ module.exports = React.createClass({
},
onInviteButtonClick: function() {
if (MatrixClientPeg.get().isGuest()) {
if (this.context.matrixClient.isGuest()) {
dis.dispatch({action: 'view_set_mxid'});
return;
}
// call ChatInviteDialog
// call AddressPickerDialog
dis.dispatch({
action: 'view_invite',
roomId: this.props.roomId,
});
},
onInviteToGroupButtonClick: function() {
showGroupInviteDialog(this.props.groupId).then(() => {
this.setState({
phase: this.Phase.GroupMemberList,
});
});
},
onAddRoomToGroupButtonClick: function() {
showGroupAddRoomDialog(this.props.groupId).then(() => {
this.forceUpdate();
});
},
onRoomStateMember: function(ev, state, member) {
// redraw the badge on the membership list
if (this.state.phase == this.Phase.MemberList && 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.MemberInfo && 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) {
@@ -127,131 +210,209 @@ module.exports = React.createClass({
});
if (payload.member) {
this.setState({
phase: this.Phase.MemberInfo,
phase: this.Phase.RoomMemberInfo,
member: payload.member,
});
} else {
if (this.props.roomId) {
this.setState({
phase: this.Phase.RoomMemberList,
});
} else if (this.props.groupId) {
this.setState({
phase: this.Phase.GroupMemberList,
member: payload.member,
});
}
}
else {
this.setState({
phase: this.Phase.MemberList
});
}
}
else if (payload.action === "view_room") {
if (this.state.phase === this.Phase.MemberInfo) {
this.setState({
phase: this.Phase.MemberList
});
}
} else if (payload.action === "view_group") {
this.setState({
phase: this.Phase.GroupMemberList,
member: null,
});
} else if (payload.action === "view_group_room") {
this.setState({
phase: this.Phase.GroupRoomInfo,
groupRoomId: payload.groupRoomId,
});
} else if (payload.action === "view_group_room_list") {
this.setState({
phase: this.Phase.GroupRoomList,
});
} else if (payload.action === "view_group_member_list") {
this.setState({
phase: this.Phase.GroupMemberList,
});
} else if (payload.action === "view_group_user") {
this.setState({
phase: this.Phase.GroupMemberInfo,
member: payload.member,
});
} else if (payload.action === "view_room") {
this.setState({
phase: this.Phase.RoomMemberList,
});
} else if (payload.action === "view_right_panel_phase") {
this.setState({
phase: payload.phase,
});
}
},
render: function() {
var MemberList = sdk.getComponent('rooms.MemberList');
var NotificationPanel = sdk.getComponent('structures.NotificationPanel');
var FilePanel = sdk.getComponent('structures.FilePanel');
var TintableSvg = sdk.getComponent("elements.TintableSvg");
var buttonGroup;
var inviteGroup;
var panel;
const MemberList = sdk.getComponent('rooms.MemberList');
const MemberInfo = sdk.getComponent('rooms.MemberInfo');
const NotificationPanel = sdk.getComponent('structures.NotificationPanel');
const FilePanel = sdk.getComponent('structures.FilePanel');
var filesHighlight;
var membersHighlight;
var notificationsHighlight;
if (!this.props.collapsed) {
if (this.state.phase == this.Phase.MemberList || this.state.phase === this.Phase.MemberInfo) {
membersHighlight = <div className="mx_RightPanel_headerButton_highlight"></div>;
}
else if (this.state.phase == this.Phase.FilePanel) {
filesHighlight = <div className="mx_RightPanel_headerButton_highlight"></div>;
}
else if (this.state.phase == this.Phase.NotificationPanel) {
notificationsHighlight = <div className="mx_RightPanel_headerButton_highlight"></div>;
}
}
const GroupMemberList = sdk.getComponent('groups.GroupMemberList');
const GroupMemberInfo = sdk.getComponent('groups.GroupMemberInfo');
const GroupRoomList = sdk.getComponent('groups.GroupRoomList');
const GroupRoomInfo = sdk.getComponent('groups.GroupRoomInfo');
var membersBadge;
if ((this.state.phase == this.Phase.MemberList || this.state.phase === this.Phase.MemberInfo) && this.props.roomId) {
var cli = MatrixClientPeg.get();
var room = cli.getRoom(this.props.roomId);
var user_is_in_room;
const TintableSvg = sdk.getComponent("elements.TintableSvg");
let inviteGroup;
let membersBadge;
let membersTitle = _t('Members');
if ((this.state.phase === this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo)
&& this.props.roomId
) {
const cli = this.context.matrixClient;
const room = cli.getRoom(this.props.roomId);
let isUserInRoom;
if (room) {
membersBadge = room.getJoinedMembers().length;
user_is_in_room = room.hasMembershipState(
MatrixClientPeg.get().credentials.userId, 'join'
);
const numMembers = room.getJoinedMembers().length;
membersTitle = _t('%(count)s Members', { count: numMembers });
membersBadge = <div title={membersTitle}>{ formatCount(numMembers) }</div>;
isUserInRoom = room.hasMembershipState(this.context.matrixClient.credentials.userId, 'join');
}
if (user_is_in_room) {
if (isUserInRoom) {
inviteGroup =
<AccessibleButton className="mx_RightPanel_invite" onClick={ this.onInviteButtonClick } >
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onInviteButtonClick}>
<div className="mx_RightPanel_icon" >
<TintableSvg src="img/icon-invite-people.svg" width="35" height="35" />
</div>
<div className="mx_RightPanel_message">{ _t('Invite to this room') }</div>
</AccessibleButton>;
}
}
const isPhaseGroup = [
this.Phase.GroupMemberInfo,
this.Phase.GroupMemberList,
].includes(this.state.phase);
let headerButtons = [];
if (this.props.roomId) {
buttonGroup =
<div className="mx_RightPanel_headerButtonGroup">
<AccessibleButton className="mx_RightPanel_headerButton"
title={ _t('Members') } onClick={ this.onMemberListButtonClick }>
<div className="mx_RightPanel_headerButton_badge">{ membersBadge ? membersBadge : <span>&nbsp;</span>}</div>
<TintableSvg src="img/icons-people.svg" width="25" height="25"/>
{ membersHighlight }
</AccessibleButton>
<AccessibleButton
className="mx_RightPanel_headerButton mx_RightPanel_filebutton"
title={ _t('Files') } onClick={ this.onFileListButtonClick }>
<div className="mx_RightPanel_headerButton_badge">&nbsp;</div>
<TintableSvg src="img/icons-files.svg" width="25" height="25"/>
{ filesHighlight }
</AccessibleButton>
<AccessibleButton
className="mx_RightPanel_headerButton mx_RightPanel_notificationbutton"
title={ _t('Notifications') } onClick={ this.onNotificationListButtonClick }>
<div className="mx_RightPanel_headerButton_badge">&nbsp;</div>
<TintableSvg src="img/icons-notifications.svg" width="25" height="25"/>
{ notificationsHighlight }
</AccessibleButton>
<div className="mx_RightPanel_headerButton mx_RightPanel_collapsebutton" title={ _t("Hide panel") } onClick={ this.onCollapseClick }>
<TintableSvg src="img/minimise.svg" width="10" height="16"/>
</div>
</div>;
headerButtons = [
<HeaderButton key="_membersButton" title={membersTitle} iconSrc="img/icons-people.svg"
isHighlighted={[this.Phase.RoomMemberList, this.Phase.RoomMemberInfo].includes(this.state.phase)}
clickPhase={this.Phase.RoomMemberList}
badge={membersBadge}
analytics={['Right Panel', 'Member List Button', 'click']}
/>,
<HeaderButton key="_filesButton" title={_t('Files')} iconSrc="img/icons-files.svg"
isHighlighted={this.state.phase === this.Phase.FilePanel}
clickPhase={this.Phase.FilePanel}
analytics={['Right Panel', 'File List Button', 'click']}
/>,
<HeaderButton key="_notifsButton" title={_t('Notifications')} iconSrc="img/icons-notifications.svg"
isHighlighted={this.state.phase === this.Phase.NotificationPanel}
clickPhase={this.Phase.NotificationPanel}
analytics={['Right Panel', 'Notification List Button', 'click']}
/>,
];
} else if (this.props.groupId) {
headerButtons = [
<HeaderButton key="_groupMembersButton" title={_t('Members')} iconSrc="img/icons-people.svg"
isHighlighted={isPhaseGroup}
clickPhase={this.Phase.GroupMemberList}
analytics={['Right Panel', 'Group Member List Button', 'click']}
/>,
<HeaderButton key="_roomsButton" title={_t('Rooms')} iconSrc="img/icons-room.svg"
isHighlighted={[this.Phase.GroupRoomList, this.Phase.GroupRoomInfo].includes(this.state.phase)}
clickPhase={this.Phase.GroupRoomList}
analytics={['Right Panel', 'Group Room List Button', 'click']}
/>,
];
}
if (this.props.roomId || this.props.groupId) {
// Hiding the right panel hides it completely and relies on an 'expand' button
// being put in the RoomHeader or GroupView header, so only show the minimise
// button on these 2 screens or you won't be able to re-expand the panel.
headerButtons.push(
<div className="mx_RightPanel_headerButton mx_RightPanel_collapsebutton" key="_minimizeButton"
title={_t("Hide panel")} aria-label={_t("Hide panel")} onClick={this.onCollapseClick}
>
<TintableSvg src="img/minimise.svg" width="10" height="16" />
</div>,
);
}
let panel = <div />;
if (!this.props.collapsed) {
if(this.props.roomId && this.state.phase == this.Phase.MemberList) {
panel = <MemberList roomId={this.props.roomId} key={this.props.roomId} />
}
else if(this.state.phase == this.Phase.MemberInfo) {
var MemberInfo = sdk.getComponent('rooms.MemberInfo');
panel = <MemberInfo member={this.state.member} key={this.props.roomId || this.props.userId} />
}
else if (this.state.phase == this.Phase.NotificationPanel) {
panel = <NotificationPanel />
}
else if (this.state.phase == this.Phase.FilePanel) {
panel = <FilePanel roomId={this.props.roomId} />
if (this.props.roomId && this.state.phase === this.Phase.RoomMemberList) {
panel = <MemberList roomId={this.props.roomId} key={this.props.roomId} />;
} else if (this.props.groupId && this.state.phase === this.Phase.GroupMemberList) {
panel = <GroupMemberList groupId={this.props.groupId} key={this.props.groupId} />;
} else if (this.state.phase === this.Phase.GroupRoomList) {
panel = <GroupRoomList groupId={this.props.groupId} key={this.props.groupId} />;
} else if (this.state.phase === this.Phase.RoomMemberInfo) {
panel = <MemberInfo member={this.state.member} key={this.props.roomId || this.state.member.userId} />;
} else if (this.state.phase === this.Phase.GroupMemberInfo) {
panel = <GroupMemberInfo
groupMember={this.state.member}
groupId={this.props.groupId}
key={this.state.member.user_id} />;
} else if (this.state.phase === this.Phase.GroupRoomInfo) {
panel = <GroupRoomInfo
groupRoomId={this.state.groupRoomId}
groupId={this.props.groupId}
key={this.state.groupRoomId} />;
} else if (this.state.phase === this.Phase.NotificationPanel) {
panel = <NotificationPanel />;
} else if (this.state.phase === this.Phase.FilePanel) {
panel = <FilePanel roomId={this.props.roomId} />;
}
}
if (!panel) {
panel = <div className="mx_RightPanel_blank"></div>;
panel = <div className="mx_RightPanel_blank" />;
}
var classes = "mx_RightPanel mx_fadable";
if (this.props.collapsed) {
classes += " collapsed";
if (this.props.groupId && this.state.isUserPrivilegedInGroup) {
inviteGroup = isPhaseGroup ? (
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onInviteToGroupButtonClick}>
<div className="mx_RightPanel_icon" >
<TintableSvg src="img/icon-invite-people.svg" width="35" height="35" />
</div>
<div className="mx_RightPanel_message">{ _t('Invite to this community') }</div>
</AccessibleButton>
) : (
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onAddRoomToGroupButtonClick}>
<div className="mx_RightPanel_icon" >
<TintableSvg src="img/icons-room-add.svg" width="35" height="35" />
</div>
<div className="mx_RightPanel_message">{ _t('Add rooms to this community') }</div>
</AccessibleButton>
);
}
const classes = classNames("mx_RightPanel", "mx_fadable", {
"collapsed": this.props.collapsed,
"mx_fadable_faded": this.props.disabled,
});
return (
<aside className={classes} style={{ opacity: this.props.opacity }}>
<aside className={classes}>
<div className="mx_RightPanel_header">
{ buttonGroup }
<div className="mx_RightPanel_headerButtonGroup">
{ headerButtons }
</div>
</div>
{ panel }
<div className="mx_RightPanel_footer">
@@ -259,5 +420,5 @@ module.exports = React.createClass({
</div>
</aside>
);
}
},
});

View File

@@ -28,7 +28,7 @@ var linkify = require('linkifyjs');
var linkifyString = require('linkifyjs/string');
var linkifyMatrix = require('matrix-react-sdk/lib/linkify-matrix');
var sanitizeHtml = require('sanitize-html');
var q = require('q');
import Promise from 'bluebird';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
@@ -73,6 +73,7 @@ module.exports = React.createClass({
this.protocols = response;
this.setState({protocolsLoading: false});
}, (err) => {
console.warn(`error loading thirdparty protocols: ${err}`);
this.setState({protocolsLoading: false});
if (MatrixClientPeg.get().isGuest()) {
// Guests currently aren't allowed to use this API, so
@@ -81,24 +82,24 @@ module.exports = React.createClass({
return;
}
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Failed to get protocol list from Home Server', '', ErrorDialog, {
title: _t('Failed to get protocol list from Home Server'),
description: _t('The Home Server may be too old to support third party networks'),
});
});
// dis.dispatch({
// action: 'ui_opacity',
// sideOpacity: 0.3,
// middleOpacity: 0.3,
// action: 'panel_disable',
// sideDisabled: true,
// middleDisabled: true,
// });
},
componentWillUnmount: function() {
// dis.dispatch({
// action: 'ui_opacity',
// sideOpacity: 1.0,
// middleOpacity: 1.0,
// action: 'panel_disable',
// sideDisabled: false,
// middleDisabled: false,
// });
if (this.filterTimeout) {
clearTimeout(this.filterTimeout);
@@ -116,7 +117,7 @@ module.exports = React.createClass({
},
getMoreRooms: function() {
if (!MatrixClientPeg.get()) return q();
if (!MatrixClientPeg.get()) return Promise.resolve();
const my_filter_string = this.state.filterString;
const my_server = this.state.roomServer;
@@ -177,7 +178,7 @@ module.exports = React.createClass({
this.setState({ loading: false });
console.error("Failed to get publicRooms: %s", JSON.stringify(err));
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Failed to get public room list', '', ErrorDialog, {
title: _t('Failed to get public room list'),
description: ((err && err.message) ? err.message : _t('The server may be unavailable or overloaded'))
});
@@ -205,7 +206,7 @@ module.exports = React.createClass({
desc = _t('Remove %(name)s from the directory?', {name: name});
}
Modal.createDialog(QuestionDialog, {
Modal.createTrackedDialog('Remove from Directory', '', QuestionDialog, {
title: _t('Remove from Directory'),
description: desc,
onFinished: (should_delete) => {
@@ -226,7 +227,7 @@ module.exports = React.createClass({
modal.close();
this.refreshRoomList();
console.error("Failed to " + step + ": " + err);
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Remove from Directory Error', '', ErrorDialog, {
title: _t('Error'),
description: ((err && err.message) ? err.message : _t('The server may be unavailable or overloaded'))
});
@@ -265,7 +266,7 @@ module.exports = React.createClass({
},
onFillRequest: function(backwards) {
if (backwards || !this.nextBatch) return q(false);
if (backwards || !this.nextBatch) return Promise.resolve(false);
return this.getMoreRooms();
},
@@ -315,7 +316,7 @@ module.exports = React.createClass({
const fields = protocolName ? this._getFieldsForThirdPartyLocation(alias, this.protocols[protocolName], instance) : null;
if (!fields) {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Unable to join network', '', ErrorDialog, {
title: _t('Unable to join network'),
description: _t('Riot does not know how to join a room on this network'),
});
@@ -326,14 +327,14 @@ module.exports = React.createClass({
this.showRoomAlias(resp[0].alias);
} else {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Room not found', '', ErrorDialog, {
title: _t('Room not found'),
description: _t('Couldn\'t find a matching Matrix room'),
});
}
}, (e) => {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Fetching third party location failed', '', ErrorDialog, {
title: _t('Fetching third party location failed'),
description: _t('Unable to look up room ID from server'),
});
@@ -408,7 +409,7 @@ module.exports = React.createClass({
perms = null;
if (guestRead || guestJoin) {
perms = <div className="mx_RoomDirectory_perms">{guestRead} {guestJoin}</div>;
perms = <div className="mx_RoomDirectory_perms">{guestRead}{guestJoin}</div>;
}
var topic = rooms[i].topic || '';

View File

@@ -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');
@@ -30,37 +30,14 @@ var RoomNotifs = require('matrix-react-sdk/lib/RoomNotifs');
var FormattingUtils = require('matrix-react-sdk/lib/utils/FormattingUtils');
var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/AccessibleButton');
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;
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',
@@ -74,8 +51,8 @@ var RoomSubList = React.createClass({
order: React.PropTypes.string.isRequired,
// undefined if no room is selected (eg we are showing settings)
selectedRoom: React.PropTypes.string,
// passed through to RoomTile and used to highlight room with `!` regardless of notifications count
isInvite: React.PropTypes.bool,
startAsHidden: React.PropTypes.bool,
showSpinner: React.PropTypes.bool, // true to show a spinner if 0 elements when expanded
@@ -87,6 +64,7 @@ var RoomSubList = React.createClass({
searchFilter: React.PropTypes.string,
emptyContent: React.PropTypes.node, // content shown if the list is empty
headerItems: React.PropTypes.node, // content shown in the sublist header
extraTiles: React.PropTypes.arrayOf(React.PropTypes.node), // extra elements added beneath tiles
},
getInitialState: function() {
@@ -100,18 +78,29 @@ var RoomSubList = React.createClass({
getDefaultProps: function() {
return {
onHeaderClick: function() {}, // NOP
onShowMoreRooms: function() {} // NOP
onShowMoreRooms: function() {}, // NOP
extraTiles: [],
isInvite: false,
};
},
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),
});
this.dispatcherRef = dis.register(this.onAction);
},
componentWillUnmount: function() {
dis.unregister(this.dispatcherRef);
},
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) {
@@ -132,6 +121,21 @@ var RoomSubList = React.createClass({
}
},
onAction: function(payload) {
// XXX: Previously RoomList would forceUpdate whenever on_room_read is dispatched,
// but this is no longer true, so we must do it here (and can apply the small
// optimisation of checking that we care about the room being read).
//
// Ultimately we need to transition to a state pushing flow where something
// explicitly notifies the components concerned that the notif count for a room
// has change (e.g. a Flux store).
if (payload.action === 'on_room_read' &&
this.props.list.some((r) => r.roomId === payload.roomId)
) {
this.forceUpdate();
}
},
onClick: function(ev) {
if (this.isCollapsableOnClick()) {
// The header isCollapsable, so the click is to be interpreted as collapse and truncation logic
@@ -151,78 +155,14 @@ var RoomSubList = React.createClass({
}
},
onRoomTileClick(roomId) {
onRoomTileClick(roomId, ev) {
dis.dispatch({
action: 'view_room',
room_id: roomId,
clear_search: (ev && (ev.keyCode == KeyCode.ENTER || ev.keyCode == KeyCode.SPACE)),
});
},
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;
@@ -241,10 +181,14 @@ var RoomSubList = React.createClass({
roomNotificationCount: function(truncateAt) {
var self = this;
if (this.props.isInvite) {
return [0, true];
}
return this.props.list.reduce(function(result, room, index) {
if (truncateAt === undefined || index >= truncateAt) {
var roomNotifState = RoomNotifs.getRoomNotifsState(room.roomId);
var highlight = room.getUnreadNotificationCount('highlight') > 0 || self.props.label === 'Invites';
var highlight = room.getUnreadNotificationCount('highlight') > 0;
var notificationCount = room.getUnreadNotificationCount();
const notifBadges = notificationCount > 0 && self._shouldShowNotifBadge(roomNotifState);
@@ -269,118 +213,28 @@ 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(room) {
var index = this.state.sortedList.indexOf(room);
// 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.
var orderA = 0.0; // by default we're next to the beginning of the list
if (index > 0) {
var 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;
}
}
var orderB = 1.0; // by default we're next to the end of the list too
if (index < this.state.sortedList.length - 1) {
var 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;
}
}
var order = (orderA + orderB) / 2.0;
if (order === orderA || order === orderB) {
console.error("Cannot describe new list position. This should be incredibly unlikely.");
// TODO: renumber the list
}
return order;
},
makeRoomTiles: function() {
var self = this;
var DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile");
return this.state.sortedList.map(function(room) {
var selected = room.roomId == self.props.selectedRoom;
// XXX: is it evil to pass in self as a prop to RoomTile?
return (
<DNDRoomTile
room={ room }
roomSubList={ self }
key={ room.roomId }
collapsed={ self.props.collapsed || false}
selected={ selected }
unread={ Unread.doesRoomHaveUnreadMessages(room) }
highlight={ room.getUnreadNotificationCount('highlight') > 0 || self.props.label === 'Invites' }
isInvite={ self.props.label === 'Invites' }
refreshSubList={ self._updateSubListCount }
incomingCall={ null }
onClick={ self.onRoomTileClick }
/>
);
const DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile");
const RoomTile = sdk.getComponent("rooms.RoomTile");
return this.state.sortedList.map((room, index) => {
// XXX: is it evil to pass in this as a prop to RoomTile? Yes.
// We should only use <DNDRoomTile /> when editable
const RoomTileComponent = this.props.editable ? DNDRoomTile : RoomTile;
return <RoomTileComponent
index={index} // For DND
room={room}
roomSubList={this}
tagName={this.props.tagName}
key={room.roomId}
collapsed={this.props.collapsed || false}
unread={Unread.doesRoomHaveUnreadMessages(room)}
highlight={room.getUnreadNotificationCount('highlight') > 0 || this.props.isInvite}
isInvite={this.props.isInvite}
refreshSubList={this._updateSubListCount}
incomingCall={null}
onClick={this.onRoomTileClick}
/>;
});
},
@@ -391,7 +245,8 @@ var RoomSubList = React.createClass({
var subListNotifCount = subListNotifications[0];
var subListNotifHighlight = subListNotifications[1];
var roomCount = this.props.list.length > 0 ? this.props.list.length : '';
var totalTiles = this.props.list.length + (this.props.extraTiles || []).length;
var roomCount = totalTiles > 0 ? totalTiles : '';
var chevronClasses = classNames({
'mx_RoomSubList_chevron': true,
@@ -407,6 +262,9 @@ var RoomSubList = React.createClass({
var badge;
if (subListNotifCount > 0) {
badge = <div className={badgeClasses}>{ FormattingUtils.formatCount(subListNotifCount) }</div>;
} else if (this.props.isInvite) {
// no notifications but highlight anyway because this is an invite badge
badge = <div className={badgeClasses}>!</div>;
}
// When collapsed, allow a long hover on the header to show user
@@ -482,47 +340,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
}).fail(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to add tag " + self.props.tagName + " to room" + err);
Modal.createDialog(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');
@@ -530,13 +347,14 @@ var RoomSubList = React.createClass({
var label = this.props.collapsed ? null : this.props.label;
let content;
if (this.state.sortedList.length == 0 && !this.props.searchFilter) {
if (this.state.sortedList.length === 0 && !this.props.searchFilter && this.props.extraTiles.length === 0) {
content = this.props.emptyContent;
} else {
content = this.makeRoomTiles();
content.push(...this.props.extraTiles);
}
if (this.state.sortedList.length > 0 || this.props.editable) {
if (this.state.sortedList.length > 0 || this.props.extraTiles.length > 0 || this.props.editable) {
var subList;
var classes = "mx_RoomSubList";
@@ -551,12 +369,22 @@ var RoomSubList = React.createClass({
</TruncatedList>;
}
return connectDropTarget(
<div>
{ this._getHeaderJsx() }
{ subList }
</div>
);
const subListContent = <div>
{ this._getHeaderJsx() }
{ subList }
</div>;
return this.props.editable ?
<Droppable
droppableId={"room-sub-list-droppable_" + this.props.tagName}
type="draggable-RoomTile"
>
{ (provided, snapshot) => (
<div ref={provided.innerRef}>
{ subListContent }
</div>
) }
</Droppable> : subListContent;
}
else {
var Loader = sdk.getComponent("elements.Spinner");
@@ -570,11 +398,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;

View File

@@ -16,12 +16,13 @@ limitations under the License.
'use strict';
var React = require('react');
import React from 'react';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
var sdk = require('matrix-react-sdk')
var dis = require('matrix-react-sdk/lib/dispatcher');
var rate_limited_func = require('matrix-react-sdk/lib/ratelimitedfunc');
var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/AccessibleButton');
import { KeyCode } from 'matrix-react-sdk/lib/Keyboard';
import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import rate_limited_func from 'matrix-react-sdk/lib/ratelimitedfunc';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
module.exports = React.createClass({
displayName: 'SearchBox',
@@ -46,18 +47,19 @@ module.exports = React.createClass({
},
onAction: function(payload) {
// Disabling this as I find it really really annoying, and was used to the
// previous behaviour - see https://github.com/vector-im/riot-web/issues/3348
/*
switch (payload.action) {
// Clear up the text field when a room is selected.
case 'view_room':
if (this.refs.search) {
if (this.refs.search && payload.clear_search) {
this._clearSearch();
}
break;
case 'focus_room_filter':
if (this.refs.search) {
this.refs.search.focus();
this.refs.search.select();
}
break;
}
*/
},
onChange: function() {
@@ -86,6 +88,15 @@ module.exports = React.createClass({
}
},
_onKeyDown: function(ev) {
switch (ev.keyCode) {
case KeyCode.ESCAPE:
this._clearSearch();
dis.dispatch({action: 'focus_composer'});
break;
}
},
_clearSearch: function() {
this.refs.search.value = "";
this.onChange();
@@ -135,6 +146,7 @@ module.exports = React.createClass({
className="mx_SearchBox_search"
value={ this.state.searchTerm }
onChange={ this.onChange }
onKeyDown={ this._onKeyDown }
placeholder={ _t('Filter room names') }
/>
];

View File

@@ -16,14 +16,17 @@ limitations under the License.
'use strict';
var React = require('react');
import React from 'react';
import PropTypes from 'prop-types';
import SyntaxHighlight from '../views/elements/SyntaxHighlight';
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 (
<div className="mx_ViewSource">
<pre>
{JSON.stringify(this.props.content, null, 2)}
</pre>
<SyntaxHighlight className="json">
{ JSON.stringify(this.props.content, null, 2) }
</SyntaxHighlight>
</div>
);
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2016 OpenMarket Ltd
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.
@@ -14,17 +14,17 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import PlatformPeg from 'matrix-react-sdk/lib/PlatformPeg';
'use strict';
var POKE_RATE_MS = 10 * 60 * 1000; // 10 min
import React from 'react';
import PropTypes from 'prop-types';
module.exports = {
start: function() {
module.exports.poll();
setInterval(module.exports.poll, POKE_RATE_MS);
},
export default class GenericTextContextMenu extends React.Component {
static PropTypes = {
message: PropTypes.string.isRequired,
};
poll: function() {
PlatformPeg.get().pollForUpdate();
render() {
return <div>{ this.props.message }</div>;
}
};
}

View File

@@ -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.
@@ -16,15 +17,17 @@ 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 * as UserSettingsStore from 'matrix-react-sdk/lib/UserSettingsStore';
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';
import { isUrlPermitted } from 'matrix-react-sdk/lib/HtmlUtils';
module.exports = React.createClass({
displayName: 'MessageContextMenu',
@@ -43,75 +46,88 @@ module.exports = React.createClass({
getInitialState: function() {
return {
canRedact: false,
canPin: false,
};
},
componentWillMount: function() {
MatrixClientPeg.get().on('RoomMember.powerLevel', this._checkCanRedact);
this._checkCanRedact();
MatrixClientPeg.get().on('RoomMember.powerLevel', this._checkPermissions);
this._checkPermissions();
},
componentWillUnmount: function() {
const cli = MatrixClientPeg.get();
if (cli) {
cli.removeListener('RoomMember.powerLevel', this._checkCanRedact);
cli.removeListener('RoomMember.powerLevel', this._checkPermissions);
}
},
_checkCanRedact: function() {
_checkPermissions: function() {
const cli = MatrixClientPeg.get();
const room = cli.getRoom(this.props.mxEvent.getRoomId());
const canRedact = room.currentState.maySendRedactionForEvent(this.props.mxEvent, cli.credentials.userId);
this.setState({canRedact});
let canPin = room.currentState.mayClientSendStateEvent('m.room.pinned_events', cli);
// HACK: Intentionally say we can't pin if the user doesn't want to use the functionality
if (!SettingsStore.isFeatureEnabled("feature_pinning")) canPin = false;
this.setState({canRedact, canPin});
},
_isPinned: function() {
const room = MatrixClientPeg.get().getRoom(this.props.mxEvent.getRoomId());
const pinnedEvent = room.currentState.getStateEvents('m.room.pinned_events', '');
if (!pinnedEvent) return false;
return pinnedEvent.getContent().pinned.includes(this.props.mxEvent.getId());
},
onResendClick: function() {
Resend.resend(this.props.mxEvent);
if (this.props.onFinished) this.props.onFinished();
this.closeMenu();
},
onViewSourceClick: function() {
const ViewSource = sdk.getComponent('structures.ViewSource');
Modal.createDialog(ViewSource, {
Modal.createTrackedDialog('View Event Source', '', ViewSource, {
content: this.props.mxEvent.event,
}, 'mx_Dialog_viewsource');
if (this.props.onFinished) this.props.onFinished();
this.closeMenu();
},
onViewClearSourceClick: function() {
const ViewSource = sdk.getComponent('structures.ViewSource');
Modal.createDialog(ViewSource, {
Modal.createTrackedDialog('View Clear Event Source', '', ViewSource, {
// FIXME: _clearEvent is private
content: this.props.mxEvent._clearEvent,
}, 'mx_Dialog_viewsource');
if (this.props.onFinished) this.props.onFinished();
this.closeMenu();
},
onRedactClick: function() {
const ConfirmRedactDialog = sdk.getComponent("dialogs.ConfirmRedactDialog");
Modal.createDialog(ConfirmRedactDialog, {
Modal.createTrackedDialog('Confirm Redact Dialog', '', ConfirmRedactDialog, {
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.createDialog(ErrorDialog, {
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();
},
}, 'mx_Dialog_confirmredact');
if (this.props.onFinished) this.props.onFinished();
this.closeMenu();
},
onCancelSendClick: function() {
Resend.removeFromQueue(this.props.mxEvent);
if (this.props.onFinished) this.props.onFinished();
this.closeMenu();
},
onForwardClick: function() {
@@ -122,6 +138,29 @@ module.exports = React.createClass({
this.closeMenu();
},
onPinClick: function() {
MatrixClientPeg.get().getStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', '')
.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) => {
const eventIds = (event ? event.pinned : []) || [];
if (!eventIds.includes(this.props.mxEvent.getId())) {
// Not pinned - add
eventIds.push(this.props.mxEvent.getId());
} else {
// Pinned - remove
eventIds.splice(eventIds.indexOf(this.props.mxEvent.getId()), 1);
}
const cli = MatrixClientPeg.get();
cli.sendStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', {pinned: eventIds}, '');
});
this.closeMenu();
},
closeMenu: function() {
if (this.props.onFinished) this.props.onFinished();
},
@@ -130,15 +169,23 @@ module.exports = React.createClass({
if (this.props.eventTileOps) {
this.props.eventTileOps.unhideWidget();
}
if (this.props.onFinished) this.props.onFinished();
this.closeMenu();
},
onQuoteClick: function() {
console.log(this.props.mxEvent);
dis.dispatch({
action: 'quote',
text: this.props.eventTileOps.getInnerText(),
});
this.closeMenu();
},
onReplyClick: function() {
dis.dispatch({
action: 'quote_event',
event: this.props.mxEvent,
});
this.closeMenu();
},
render: function() {
@@ -147,11 +194,12 @@ module.exports = React.createClass({
let redactButton;
let cancelButton;
let forwardButton;
let viewSourceButton;
let pinButton;
let viewClearSourceButton;
let unhidePreviewButton;
let permalinkButton;
let externalURLButton;
let quoteButton;
let replyButton;
if (eventStatus === 'not_sent') {
resendButton = (
@@ -185,10 +233,26 @@ module.exports = React.createClass({
{ _t('Forward Message') }
</div>
);
if (SettingsStore.isFeatureEnabled("feature_rich_quoting")) {
replyButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onReplyClick}>
{ _t('Reply') }
</div>
);
}
if (this.state.canPin) {
pinButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onPinClick}>
{ this._isPinned() ? _t('Unpin Message') : _t('Pin Message') }
</div>
);
}
}
}
viewSourceButton = (
const viewSourceButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onViewSourceClick}>
{ _t('View Source') }
</div>
@@ -213,42 +277,49 @@ 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 = (
<div className="mx_MessageContextMenu_field">
<a href={ "https://matrix.to/#/" + this.props.mxEvent.getRoomId() +"/"+ this.props.mxEvent.getId() }
target="_blank" rel="noopener" onClick={ this.closeMenu }>{ _t('Permalink') }</a>
<a href={makeEventPermalink(this.props.mxEvent.getRoomId(), this.props.mxEvent.getId())}
target="_blank" rel="noopener" onClick={this.closeMenu}>{ _t('Permalink') }</a>
</div>
);
const quoteButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onQuoteClick}>
{ _t('Quote') }
</div>
);
if (this.props.eventTileOps && this.props.eventTileOps.getInnerText) {
quoteButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onQuoteClick}>
{ _t('Quote') }
</div>
);
}
// Bridges can provide a 'external_url' to link back to the source.
if( typeof(this.props.mxEvent.event.content.external_url) === "string") {
externalURLButton = (
<div className="mx_MessageContextMenu_field">
<a href={ this.props.mxEvent.event.content.external_url }
rel="noopener" target="_blank" onClick={ this.closeMenu }>{ _t('Source URL') }</a>
</div>
if (
typeof(this.props.mxEvent.event.content.external_url) === "string" &&
isUrlPermitted(this.props.mxEvent.event.content.external_url)
) {
externalURLButton = (
<div className="mx_MessageContextMenu_field">
<a href={this.props.mxEvent.event.content.external_url}
rel="noopener" target="_blank" onClick={this.closeMenu}>{ _t('Source URL') }</a>
</div>
);
}
return (
<div>
{resendButton}
{redactButton}
{cancelButton}
{forwardButton}
{viewSourceButton}
{viewClearSourceButton}
{unhidePreviewButton}
{permalinkButton}
{UserSettingsStore.isFeatureEnabled('rich_text_editor') ? quoteButton : null}
{externalURLButton}
{ resendButton }
{ redactButton }
{ cancelButton }
{ forwardButton }
{ pinButton }
{ viewSourceButton }
{ viewClearSourceButton }
{ unhidePreviewButton }
{ permalinkButton }
{ quoteButton }
{ replyButton }
{ externalURLButton }
</div>
);
},

View File

@@ -0,0 +1,101 @@
/*
Copyright 2017 Travis Ralston
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 { _t, _td } from 'matrix-react-sdk/lib/languageHandler';
import sdk from 'matrix-react-sdk';
const STATUS_LABELS = {
"online": _td("Online"),
"unavailable": _td("Away"),
"offline": _td("Appear Offline"),
};
const PresenceContextMenuOption = React.createClass({
displayName: 'PresenceContextMenuOption',
propTypes: {
forStatus: React.PropTypes.string.isRequired,
isCurrent: React.PropTypes.bool,
onChange: React.PropTypes.func.isRequired,
},
onClick: function() {
if (this.isCurrent) return;
this.props.onChange(this.props.forStatus);
},
render: function() {
const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
const indicatorClasses = "mx_PresenceContextMenuOption_indicator "
+ "mx_PresenceContextMenuOption_indicator_" + this.props.forStatus;
let classNames = "mx_PresenceContextMenuOption";
if (this.props.isCurrent) classNames += " mx_PresenceContextMenuOption_current";
return (
<AccessibleButton className={classNames} element="div" onClick={this.onClick}>
<div className={indicatorClasses}></div>
{ _t(STATUS_LABELS[this.props.forStatus]) }
</AccessibleButton>
);
},
});
module.exports = React.createClass({
displayName: 'PresenceContextMenu',
propTypes: {
// "online", "unavailable", or "offline"
currentStatus: React.PropTypes.string.isRequired,
// Called when the user wants to change their status.
// Args: (newStatus:string)
onChange: React.PropTypes.func.isRequired,
// callback called when the menu is dismissed
onFinished: React.PropTypes.func,
},
getInitialState() {
return {
currentStatus: this.props.currentStatus,
};
},
onChange: function(newStatus) {
this.props.onChange(newStatus);
this.setState({currentStatus: newStatus});
},
render: function() {
const statusElements = [];
for (let status of Object.keys(STATUS_LABELS)) {
statusElements.push((
<PresenceContextMenuOption forStatus={status} key={status}
onChange={this.onChange}
isCurrent={status === this.state.currentStatus} />
));
}
return (
<div>
{ statusElements }
</div>
);
},
});

View File

@@ -17,25 +17,27 @@ limitations under the License.
'use strict';
import q from 'q';
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 } from 'matrix-react-sdk/lib/languageHandler';
import { _t, _td } from 'matrix-react-sdk/lib/languageHandler';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import dis from 'matrix-react-sdk/lib/dispatcher';
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() {
@@ -57,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()) {
q.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();
};
}).fail(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(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();
};
}).fail(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(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();
});
}
},
@@ -132,23 +108,23 @@ 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");
Modal.createDialog(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 +141,7 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
},
_onClickReject: function() {
@@ -177,7 +153,7 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
},
_onClickForget: function() {
@@ -185,9 +161,9 @@ 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 || "unknown error code";
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(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,28 +172,27 @@ 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 q.delay(500).then(() => {
return Promise.delay(500).then(() => {
if (this._unmounted) return;
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
});
}, (error) => {
// TODO: some form of error notification to the user
@@ -247,22 +222,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 +247,22 @@ module.exports = React.createClass({
<div className="mx_RoomTileContextMenu_notif_picker" >
<img src="img/notif-slider.svg" width="20" height="107" />
</div>
<div className={ alertMeClasses } onClick={this._onClickAlertMe} >
<div className={alertMeClasses} onClick={this._onClickAlertMe} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute-off-copy.svg" width="16" height="12" />
{ _t('All messages (loud)') }
{ _t('All messages (noisy)') }
</div>
<div className={ allNotifsClasses } onClick={this._onClickAllNotifs} >
<div className={allNotifsClasses} onClick={this._onClickAllNotifs} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute-off.svg" width="16" height="12" />
{ _t('All messages') }
</div>
<div className={ mentionsClasses } onClick={this._onClickMentions} >
<div className={mentionsClasses} onClick={this._onClickMentions} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute-mentions.svg" width="16" height="12" />
{ _t('Mentions only') }
</div>
<div className={ muteNotifsClasses } onClick={this._onClickMute} >
<div className={muteNotifsClasses} onClick={this._onClickMute} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute.svg" width="16" height="12" />
{ _t('Mute') }
@@ -322,7 +297,7 @@ module.exports = React.createClass({
return (
<div>
<div className="mx_RoomTileContextMenu_leave" onClick={ leaveClickHandler } >
<div className="mx_RoomTileContextMenu_leave" onClick={leaveClickHandler} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_delete.svg" width="15" height="15" />
{ leaveText }
</div>
@@ -351,17 +326,17 @@ module.exports = React.createClass({
return (
<div>
<div className={ favouriteClasses } onClick={this._onClickFavourite} >
<div className={favouriteClasses} onClick={this._onClickFavourite} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_fave.svg" width="15" height="15" />
<img className="mx_RoomTileContextMenu_tag_icon_set" src="img/icon_context_fave_on.svg" width="15" height="15" />
{ _t('Favourite') }
</div>
<div className={ lowPriorityClasses } onClick={this._onClickLowPriority} >
<div className={lowPriorityClasses} onClick={this._onClickLowPriority} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_low.svg" width="15" height="15" />
<img className="mx_RoomTileContextMenu_tag_icon_set" src="img/icon_context_low_on.svg" width="15" height="15" />
{ _t('Low Priority') }
</div>
<div className={ dmClasses } onClick={this._onClickDM} >
<div className={dmClasses} onClick={this._onClickDM} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_person.svg" width="15" height="15" />
<img className="mx_RoomTileContextMenu_tag_icon_set" src="img/icon_context_person_on.svg" width="15" height="15" />
{ _t('Direct Chat') }
@@ -372,7 +347,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 +364,5 @@ module.exports = React.createClass({
{ this._renderRoomTagMenu() }
</div>
);
}
},
});

View File

@@ -0,0 +1,75 @@
/*
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';
import sdk from 'matrix-react-sdk/lib/index';
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() {
const TintableSvg = sdk.getComponent("elements.TintableSvg");
return <div>
<div className="mx_TagTileContextMenu_item" onClick={this._onViewCommunityClick} >
<TintableSvg
className="mx_TagTileContextMenu_item_icon"
src="img/icons-groups.svg"
width="15"
height="15"
/>
{ _t('View Community') }
</div>
<hr className="mx_TagTileContextMenu_separator" />
<div className="mx_TagTileContextMenu_item" onClick={this._onRemoveClick} >
<img className="mx_TagTileContextMenu_item_icon" src="img/icon_context_delete.svg" width="15" height="15" />
{ _t('Remove') }
</div>
</div>;
}
}

View File

@@ -17,6 +17,7 @@ limitations under the License.
import React from 'react';
import sdk from 'matrix-react-sdk';
import SdkConfig from 'matrix-react-sdk/lib/SdkConfig';
import Modal from 'matrix-react-sdk/lib/Modal';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
export default class BugReportDialog extends React.Component {
@@ -64,8 +65,13 @@ export default class BugReportDialog extends React.Component {
progressCallback: this._sendProgressCallback,
}).then(() => {
if (!this._unmounted) {
this.setState({ busy: false, progress: null });
this.props.onFinished(false);
const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
Modal.createTrackedDialog('Bug report sent', '', QuestionDialog, {
title: _t('Bug report sent'),
description: _t('Thank you!'),
hasCancelButton: false,
});
}
}, (err) => {
if (!this._unmounted) {

View File

@@ -0,0 +1,623 @@
/*
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.
*/
import React from 'react';
import PropTypes from 'prop-types';
import sdk from 'matrix-react-sdk';
import SyntaxHighlight from '../elements/SyntaxHighlight';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
class DevtoolsComponent extends React.Component {
static contextTypes = {
roomId: PropTypes.string.isRequired,
};
}
class GenericEditor extends DevtoolsComponent {
// static propTypes = {onBack: PropTypes.func.isRequired};
constructor(props, context) {
super(props, context);
this._onChange = this._onChange.bind(this);
this.onBack = this.onBack.bind(this);
}
onBack() {
if (this.state.message) {
this.setState({ message: null });
} else {
this.props.onBack();
}
}
_onChange(e) {
this.setState({[e.target.id]: e.target.type === 'checkbox' ? e.target.checked : e.target.value});
}
_buttons() {
return <div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
{ !this.state.message && <button onClick={this._send}>{ _t('Send') }</button> }
</div>;
}
textInput(id, label) {
return <div className="mx_DevTools_inputRow">
<div className="mx_DevTools_inputLabelCell">
<label htmlFor={id}>{ label }</label>
</div>
<div className="mx_DevTools_inputCell">
<input id={id} className="mx_TextInputDialog_input" onChange={this._onChange} value={this.state[id]} size="32" />
</div>
</div>;
}
}
class SendCustomEvent extends GenericEditor {
static getLabel() { return _t('Send Custom Event'); }
static propTypes = {
onBack: PropTypes.func.isRequired,
forceStateEvent: PropTypes.bool,
inputs: PropTypes.object,
};
constructor(props, context) {
super(props, context);
this._send = this._send.bind(this);
const {eventType, stateKey, evContent} = Object.assign({
eventType: '',
stateKey: '',
evContent: '{\n\n}',
}, this.props.inputs);
this.state = {
isStateEvent: Boolean(this.props.forceStateEvent),
eventType,
stateKey,
evContent,
};
}
send(content) {
const cli = MatrixClientPeg.get();
if (this.state.isStateEvent) {
return cli.sendStateEvent(this.context.roomId, this.state.eventType, content, this.state.stateKey);
} else {
return cli.sendEvent(this.context.roomId, this.state.eventType, content);
}
}
async _send() {
if (this.state.eventType === '') {
this.setState({ message: _t('You must specify an event type!') });
return;
}
let message;
try {
const content = JSON.parse(this.state.evContent);
await this.send(content);
message = _t('Event sent!');
} catch (e) {
message = _t('Failed to send custom event.') + ' (' + e.toString() + ')';
}
this.setState({ message });
}
render() {
if (this.state.message) {
return <div>
<div className="mx_Dialog_content">
{ this.state.message }
</div>
{ this._buttons() }
</div>;
}
return <div>
<div className="mx_Dialog_content">
{ this.textInput('eventType', _t('Event Type')) }
{ this.state.isStateEvent && this.textInput('stateKey', _t('State Key')) }
<br />
<div className="mx_UserSettings_profileLabelCell">
<label htmlFor="evContent"> { _t('Event Content') } </label>
</div>
<div>
<textarea id="evContent" onChange={this._onChange} value={this.state.evContent} className="mx_TextInputDialog_input" cols="63" rows="5" />
</div>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
{ !this.state.message && <button onClick={this._send}>{ _t('Send') }</button> }
{ !this.state.message && !this.props.forceStateEvent && <div style={{float: "right"}}>
<input id="isStateEvent" className="mx_DevTools_tgl mx_DevTools_tgl-flip" type="checkbox" onChange={this._onChange} checked={this.state.isStateEvent} />
<label className="mx_DevTools_tgl-btn" data-tg-off="Event" data-tg-on="State Event" htmlFor="isStateEvent" />
</div> }
</div>
</div>;
}
}
class SendAccountData extends GenericEditor {
static getLabel() { return _t('Send Account Data'); }
static propTypes = {
isRoomAccountData: PropTypes.bool,
forceMode: PropTypes.bool,
inputs: PropTypes.object,
};
constructor(props, context) {
super(props, context);
this._send = this._send.bind(this);
const {eventType, evContent} = Object.assign({
eventType: '',
evContent: '{\n\n}',
}, this.props.inputs);
this.state = {
isRoomAccountData: Boolean(this.props.isRoomAccountData),
eventType,
evContent,
};
}
send(content) {
const cli = MatrixClientPeg.get();
if (this.state.isRoomAccountData) {
return cli.setRoomAccountData(this.context.roomId, this.state.eventType, content);
}
return cli.setAccountData(this.state.eventType, content);
}
async _send() {
if (this.state.eventType === '') {
this.setState({ message: _t('You must specify an event type!') });
return;
}
let message;
try {
const content = JSON.parse(this.state.evContent);
await this.send(content);
message = _t('Event sent!');
} catch (e) {
message = _t('Failed to send custom event.') + ' (' + e.toString() + ')';
}
this.setState({ message });
}
render() {
if (this.state.message) {
return <div>
<div className="mx_Dialog_content">
{ this.state.message }
</div>
{ this._buttons() }
</div>;
}
return <div>
<div className="mx_Dialog_content">
{ this.textInput('eventType', _t('Event Type')) }
<br />
<div className="mx_UserSettings_profileLabelCell">
<label htmlFor="evContent"> { _t('Event Content') } </label>
</div>
<div>
<textarea id="evContent" onChange={this._onChange} value={this.state.evContent} className="mx_TextInputDialog_input" cols="63" rows="5" />
</div>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
{ !this.state.message && <button onClick={this._send}>{ _t('Send') }</button> }
{ !this.state.message && <div style={{float: "right"}}>
<input id="isRoomAccountData" className="mx_DevTools_tgl mx_DevTools_tgl-flip" type="checkbox" onChange={this._onChange} checked={this.state.isRoomAccountData} disabled={this.props.forceMode} />
<label className="mx_DevTools_tgl-btn" data-tg-off="Account Data" data-tg-on="Room Data" htmlFor="isRoomAccountData" />
</div> }
</div>
</div>;
}
}
class FilteredList extends React.Component {
static propTypes = {
children: PropTypes.any,
query: PropTypes.string,
onChange: PropTypes.func,
};
constructor(props, context) {
super(props, context);
this.onQuery = this.onQuery.bind(this);
}
onQuery(ev) {
if (this.props.onChange) this.props.onChange(ev.target.value);
}
filterChildren() {
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;
}
render() {
return <div>
<input size="64"
onChange={this.onQuery}
value={this.props.query}
placeholder={_t('Filter results')}
className="mx_TextInputDialog_input mx_DevTools_RoomStateExplorer_query" />
{ this.filterChildren() }
</div>;
}
}
class RoomStateExplorer extends DevtoolsComponent {
static getLabel() { return _t('Explore Room State'); }
static propTypes = {
onBack: PropTypes.func.isRequired,
};
constructor(props, context) {
super(props, context);
const room = MatrixClientPeg.get().getRoom(this.context.roomId);
this.roomStateEvents = room.currentState.events;
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: '',
};
}
browseEventType(eventType) {
return () => {
this.setState({ eventType });
};
}
onViewSourceClick(event) {
return () => {
this.setState({ event });
};
}
onBack() {
if (this.state.editing) {
this.setState({ editing: false });
} else if (this.state.event) {
this.setState({ event: null });
} else if (this.state.eventType) {
this.setState({ eventType: null });
} else {
this.props.onBack();
}
}
editEv() {
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) {
return <SendCustomEvent forceStateEvent={true} onBack={this.onBack} inputs={{
eventType: this.state.event.getType(),
evContent: JSON.stringify(this.state.event.getContent(), null, '\t'),
stateKey: this.state.event.getStateKey(),
}} />;
}
return <div className="mx_ViewSource">
<div className="mx_Dialog_content">
<SyntaxHighlight className="json">
{ JSON.stringify(this.state.event.event, null, 2) }
</SyntaxHighlight>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
<button onClick={this.editEv}>{ _t('Edit') }</button>
</div>
</div>;
}
let list = null;
const classes = 'mx_DevTools_RoomStateExplorer_button';
if (this.state.eventType === null) {
list = <FilteredList query={this.state.queryEventType} onChange={this.onQueryEventType}>
{
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]]);
}
return <button className={classes} key={evType} onClick={onClickFn}>
{ evType }
</button>;
})
}
</FilteredList>;
} else {
const stateGroup = this.roomStateEvents[this.state.eventType];
list = <FilteredList query={this.state.queryStateKey} onChange={this.onQueryStateKey}>
{
Object.keys(stateGroup).map((stateKey) => {
const ev = stateGroup[stateKey];
return <button className={classes} key={stateKey} onClick={this.onViewSourceClick(ev)}>
{ stateKey }
</button>;
})
}
</FilteredList>;
}
return <div>
<div className="mx_Dialog_content">
{ list }
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
</div>
</div>;
}
}
class AccountDataExplorer extends DevtoolsComponent {
static getLabel() { return _t('Explore Account Data'); }
static propTypes = {
onBack: PropTypes.func.isRequired,
};
constructor(props, context) {
super(props, context);
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: '',
};
}
getData() {
const cli = MatrixClientPeg.get();
if (this.state.isRoomAccountData) {
return cli.getRoom(this.context.roomId).accountData;
}
return cli.store.accountData;
}
onViewSourceClick(event) {
return () => {
this.setState({ event });
};
}
onBack() {
if (this.state.editing) {
this.setState({ editing: false });
} else if (this.state.event) {
this.setState({ event: null });
} else {
this.props.onBack();
}
}
_onChange(e) {
this.setState({[e.target.id]: e.target.type === 'checkbox' ? e.target.checked : e.target.value});
}
editEv() {
this.setState({ editing: true });
}
onQueryEventType(queryEventType) {
this.setState({ queryEventType });
}
render() {
if (this.state.event) {
if (this.state.editing) {
return <SendAccountData isRoomAccountData={this.state.isRoomAccountData} onBack={this.onBack} inputs={{
eventType: this.state.event.getType(),
evContent: JSON.stringify(this.state.event.getContent(), null, '\t'),
}} forceMode={true} />;
}
return <div className="mx_ViewSource">
<div className="mx_Dialog_content">
<SyntaxHighlight className="json">
{ JSON.stringify(this.state.event.event, null, 2) }
</SyntaxHighlight>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
<button onClick={this.editEv}>{ _t('Edit') }</button>
</div>
</div>;
}
const rows = [];
const classes = 'mx_DevTools_RoomStateExplorer_button';
const data = this.getData();
Object.keys(data).forEach((evType) => {
const ev = data[evType];
rows.push(<button className={classes} key={evType} onClick={this.onViewSourceClick(ev)}>
{ evType }
</button>);
});
return <div>
<div className="mx_Dialog_content">
<FilteredList query={this.state.queryEventType} onChange={this.onQueryEventType}>
{ rows }
</FilteredList>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
{ !this.state.message && <div style={{float: "right"}}>
<input id="isRoomAccountData" className="mx_DevTools_tgl mx_DevTools_tgl-flip" type="checkbox" onChange={this._onChange} checked={this.state.isRoomAccountData} />
<label className="mx_DevTools_tgl-btn" data-tg-off="Account Data" data-tg-on="Room Data" htmlFor="isRoomAccountData" />
</div> }
</div>
</div>;
}
}
const Entries = [
SendCustomEvent,
RoomStateExplorer,
SendAccountData,
AccountDataExplorer,
];
export default class DevtoolsDialog extends React.Component {
static childContextTypes = {
roomId: PropTypes.string.isRequired,
// client: PropTypes.instanceOf(MatixClient),
};
static propTypes = {
roomId: PropTypes.string.isRequired,
onFinished: PropTypes.func.isRequired,
};
constructor(props, context) {
super(props, context);
this.onBack = this.onBack.bind(this);
this.onCancel = this.onCancel.bind(this);
this.state = {
mode: null,
};
}
componentWillUnmount() {
this._unmounted = true;
}
getChildContext() {
return { roomId: this.props.roomId };
}
_setMode(mode) {
return () => {
this.setState({ mode });
};
}
onBack() {
if (this.prevMode) {
this.setState({ mode: this.prevMode });
this.prevMode = null;
} else {
this.setState({ mode: null });
}
}
onCancel() {
this.props.onFinished(false);
}
render() {
let body;
if (this.state.mode) {
body = <div>
<div className="mx_DevTools_label_left">{ this.state.mode.getLabel() }</div>
<div className="mx_DevTools_label_right">Room ID: { this.props.roomId }</div>
<div className="mx_DevTools_label_bottom" />
<this.state.mode onBack={this.onBack} />
</div>;
} else {
const classes = "mx_DevTools_RoomStateExplorer_button";
body = <div>
<div>
<div className="mx_DevTools_label_left">{ _t('Toolbox') }</div>
<div className="mx_DevTools_label_right">Room ID: { this.props.roomId }</div>
<div className="mx_DevTools_label_bottom" />
<div className="mx_Dialog_content">
{ Entries.map((Entry) => {
const label = Entry.getLabel();
const onClick = this._setMode(Entry);
return <button className={classes} key={label} onClick={onClick}>{ label }</button>;
}) }
</div>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onCancel}>{ _t('Cancel') }</button>
</div>
</div>;
}
const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
return (
<BaseDialog className="mx_QuestionDialog" onFinished={this.props.onFinished} title={_t('Developer Tools')}>
{ body }
</BaseDialog>
);
}
}

View File

@@ -150,7 +150,21 @@ export default class NetworkDropdown extends React.Component {
if (this.props.protocols) {
for (const proto of Object.keys(this.props.protocols)) {
if (!this.props.protocols[proto].instances) continue;
for (const instance of this.props.protocols[proto].instances) {
const sortedInstances = this.props.protocols[proto].instances;
sortedInstances.sort(function(x, y) {
const a = x.desc
const b = y.desc
if (a < b) {
return -1;
} else if (a > b) {
return 1;
} else {
return 0;
}
});
for (const instance of sortedInstances) {
if (!instance.instance_id) continue;
options.push(this._makeMenuOption(server, instance, false));
}

View File

@@ -20,7 +20,7 @@ var React = require('react');
var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg');
var DateUtils = require('matrix-react-sdk/lib/DateUtils');
import {formatDate} from 'matrix-react-sdk/lib/DateUtils';
var filesize = require('filesize');
var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/AccessibleButton');
const Modal = require('matrix-react-sdk/lib/Modal');
@@ -66,7 +66,7 @@ module.exports = React.createClass({
onRedactClick: function() {
const ConfirmRedactDialog = sdk.getComponent("dialogs.ConfirmRedactDialog");
Modal.createDialog(ConfirmRedactDialog, {
Modal.createTrackedDialog('Confirm Redact Dialog', 'Image View', ConfirmRedactDialog, {
onFinished: (proceed) => {
if (!proceed) return;
var self = this;
@@ -76,7 +76,7 @@ module.exports = React.createClass({
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
// display error message stating you couldn't delete this.
var code = e.errcode || e.statusCode;
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('You cannot delete this image.', '', ErrorDialog, {
title: _t('Error'),
description: _t('You cannot delete this image. (%(code)s)', {code: code})
});
@@ -150,15 +150,23 @@ module.exports = React.createClass({
var eventMeta;
if(showEventMeta) {
// Figure out the sender, defaulting to mxid
let sender = this.props.mxEvent.getSender();
const room = MatrixClientPeg.get().getRoom(this.props.mxEvent.getRoomId());
if (room) {
const member = room.getMember(sender);
if (member) sender = member.name;
}
eventMeta = (<div className="mx_ImageView_metadata">
{ _t('Uploaded on %(date)s by %(user)s', {date: DateUtils.formatDate(new Date(this.props.mxEvent.getTs())), user: this.props.mxEvent.getSender()}) }
{ _t('Uploaded on %(date)s by %(user)s', {date: formatDate(new Date(this.props.mxEvent.getTs())), user: sender}) }
</div>);
}
var eventRedact;
if(showEventMeta) {
eventRedact = (<div className="mx_ImageView_button" onClick={this.onRedactClick}>
{ _t('Redact') }
{ _t('Remove') }
</div>);
}

View File

@@ -0,0 +1,33 @@
/*
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.
*/
const React = require('react');
module.exports = React.createClass({
displayName: 'InlineSpinner',
render: function() {
var w = this.props.w || 16;
var h = this.props.h || 16;
var imgClass = this.props.imgClassName || "";
return (
<div className="mx_InlineSpinner">
<img src="img/spinner.gif" width={w} height={h} className={imgClass}/>
</div>
);
}
});

View File

@@ -0,0 +1,53 @@
/*
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.
*/
import React from 'react';
import PropTypes from 'prop-types';
import {highlightBlock} from 'highlight.js';
export default class SyntaxHighlight extends React.Component {
static propTypes = {
className: PropTypes.string,
children: PropTypes.node,
};
constructor(props, context) {
super(props, context);
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();
}
render() {
const { className, children } = this.props;
return <pre className={`${className} mx_SyntaxHighlight`} ref={this._ref}>
<code>{ children }</code>
</pre>;
}
}

View File

@@ -35,7 +35,7 @@ module.exports = React.createClass({
render: function() {
return (
<div className="mx_MatrixToolbar">
<img className="mx_MatrixToolbar_warning" src="img/warning.svg" width="24" height="23" alt="/!\"/>
<img className="mx_MatrixToolbar_warning" src="img/warning.svg" width="24" height="23" alt="Warning"/>
<div className="mx_MatrixToolbar_content">
{ _t('You are not receiving desktop notifications') } <a className="mx_MatrixToolbar_link" onClick={ this.onClick }> { _t('Enable them now') }</a>
</div>

View File

@@ -40,9 +40,9 @@ export default React.createClass({
displayReleaseNotes: function(releaseNotes) {
const QuestionDialog = sdk.getComponent('dialogs.QuestionDialog');
Modal.createDialog(QuestionDialog, {
Modal.createTrackedDialog('Display release notes', '', QuestionDialog, {
title: _t("What's New"),
description: <pre className="changelog_text">{releaseNotes}</pre>,
description: <div className="mx_MatrixToolbar_changelog">{releaseNotes}</div>,
button: _t("Update"),
onFinished: (update) => {
if(update && PlatformPeg.get()) {
@@ -54,7 +54,7 @@ export default React.createClass({
displayChangelog: function() {
const ChangelogDialog = sdk.getComponent('dialogs.ChangelogDialog');
Modal.createDialog(ChangelogDialog, {
Modal.createTrackedDialog('Display Changelog', '', ChangelogDialog, {
version: this.props.version,
newVersion: this.props.newVersion,
onFinished: (update) => {
@@ -96,7 +96,7 @@ export default React.createClass({
}
return (
<div className="mx_MatrixToolbar">
<img className="mx_MatrixToolbar_warning" src="img/warning.svg" width="24" height="23" alt="/!\"/>
<img className="mx_MatrixToolbar_warning" src="img/warning.svg" width="24" height="23" alt="Warning"/>
<div className="mx_MatrixToolbar_content">
{_t("A new version of Riot is available.")}
</div>

View File

@@ -20,11 +20,12 @@ import React from 'react';
import sdk from 'matrix-react-sdk';
import Modal from 'matrix-react-sdk/lib/Modal';
import dis from 'matrix-react-sdk/lib/dispatcher';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
export default React.createClass({
onUpdateClicked: function() {
const SetPasswordDialog = sdk.getComponent('dialogs.SetPasswordDialog');
Modal.createDialog(SetPasswordDialog, {
Modal.createTrackedDialog('Set Password Dialog', 'Password Nag Bar', SetPasswordDialog, {
onFinished: (passwordChanged) => {
if (!passwordChanged) {
return;
@@ -33,12 +34,11 @@ export default React.createClass({
dis.dispatch({
action: 'password_changed',
});
}
},
});
},
render: function() {
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
const toolbarClasses = "mx_MatrixToolbar mx_MatrixToolbar_clickable";
return (
<div className={toolbarClasses} onClick={this.onUpdateClicked}>
@@ -49,12 +49,16 @@ export default React.createClass({
alt="Warning"
/>
<div className="mx_MatrixToolbar_content">
To return to your account in future you need to <u>set a password</u>
{ _t(
"To return to your account in future you need to <u>set a password</u>",
{},
{ 'u': (sub) => <u>{ sub }</u> },
) }
</div>
<button className="mx_MatrixToolbar_action">
Set Password
{ _t("Set Password") }
</button>
</div>
);
}
},
});

View File

@@ -0,0 +1,85 @@
/*
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 { _t } from 'matrix-react-sdk/lib/languageHandler';
import PlatformPeg from 'matrix-react-sdk/lib/PlatformPeg';
import {updateCheckStatusEnum} from '../../../vector/platform/VectorBasePlatform';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
const doneStatuses = [
updateCheckStatusEnum.ERROR,
updateCheckStatusEnum.NOTAVAILABLE,
];
export default React.createClass({
propTypes: {
status: React.PropTypes.oneOf(Object.values(updateCheckStatusEnum)).isRequired,
// Currently for error detail but will be usable for download progress
// once that is a thing that squirrel passes through electron.
detail: React.PropTypes.string,
},
getDefaultProps: function() {
return {
detail: '',
}
},
getStatusText: function() {
switch(this.props.status) {
case updateCheckStatusEnum.ERROR:
return _t('Error encountered (%(errorDetail)s).', { errorDetail: this.props.detail });
case updateCheckStatusEnum.CHECKING:
return _t('Checking for an update...');
case updateCheckStatusEnum.NOTAVAILABLE:
return _t('No update available.');
case updateCheckStatusEnum.DOWNLOADING:
return _t('Downloading update...');
}
}
,
hideToolbar: function() {
PlatformPeg.get().stopUpdateCheck();
},
render: function() {
const message = this.getStatusText();
const warning = _t('Warning');
let image;
if (doneStatuses.includes(this.props.status)) {
image = <img className="mx_MatrixToolbar_warning" src="img/warning.svg" width="24" height="23" alt={warning}/>;
} else {
image = <img className="mx_MatrixToolbar_warning" src="img/spinner.gif" width="24" height="23" alt={message}/>;
}
return (
<div className="mx_MatrixToolbar">
{image}
<div className="mx_MatrixToolbar_content">
{message}
</div>
<AccessibleButton className="mx_MatrixToolbar_close" onClick={this.hideToolbar}>
<img src="img/cancel.svg" width="18" height="18" />
</AccessibleButton>
</div>
);
}
});

View File

@@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
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.
@@ -31,7 +32,13 @@ module.exports = React.createClass({
{ _t('Custom Server Options') }
</div>
<div className="mx_Dialog_content">
<span dangerouslySetInnerHTML={{__html: sanitizeHtml(_t('customServer_text'))}} />
<span dangerouslySetInnerHTML={{__html: sanitizeHtml(_t(
"You can use the custom server options to sign into other Matrix "+
"servers by specifying a different Home server URL.<br/>This allows "+
"you to use Riot with an existing Matrix account on a different home "+
"server.<br/><br/>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.",
))}} />
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.props.onFinished} autoFocus={true}>

View File

@@ -18,6 +18,7 @@ limitations under the License.
var React = require('react');
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import SettingsStore from 'matrix-react-sdk/lib/settings/SettingsStore';
module.exports = React.createClass({
displayName: 'VectorLoginFooter',
@@ -26,11 +27,14 @@ module.exports = React.createClass({
},
render: function() {
// FIXME: replace this with a proper Status skin
if (SettingsStore.getValue("theme") === 'status') return <div/>;
return (
<div className="mx_Login_links">
<a href="https://medium.com/@RiotChat">blog</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="https://twitter.com/@RiotChat">twitter</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="https://github.com/vector-im/vector-web">github</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="https://github.com/vector-im/riot-web">github</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="https://matrix.org">{ _t('powered by Matrix') }</a>
</div>
);

View File

@@ -16,10 +16,11 @@ limitations under the License.
'use strict';
var React = require('react');
import React from 'react';
import PropTypes from 'prop-types';
const i = [1, 2, 3, 4, 5][Math.floor(Math.random() * 5)];
const DEFAULT_LOGO_URI = "img/logos/riot-logo-" + i + ".svg";
const DEFAULT_LOGO_URI = "img/logos/riot-im-logo-" + i + ".svg";
module.exports = React.createClass({
displayName: 'VectorLoginHeader',
@@ -27,13 +28,15 @@ module.exports = React.createClass({
replaces: 'LoginHeader',
},
propTypes: {
icon: React.PropTypes.string,
icon: PropTypes.string,
},
render: function() {
return (
<div className="mx_Login_logo">
<img src={this.props.icon || DEFAULT_LOGO_URI} alt="Riot"/>
<div className="mx_Login_header">
<div className="mx_Login_logo">
<img src={this.props.icon || DEFAULT_LOGO_URI} alt="Riot"/>
</div>
</div>
);
}

View File

@@ -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 DateUtils 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 = DateUtils.formatFullDate(date, this.props.showTwelveHour);
}
export default class DateSeparator extends React.Component {
static propTypes = {
ts: PropTypes.number.isRequired,
};
return (
<h2 className="mx_DateSeparator">{ label }</h2>
);
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 <h2 className="mx_DateSeparator">{ this.getLabel() }</h2>;
}
}

View File

@@ -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 DateUtils from 'matrix-react-sdk/lib/DateUtils';
import PropTypes from 'prop-types';
import {formatFullDate, formatTime} from 'matrix-react-sdk/lib/DateUtils';
module.exports = React.createClass({
displayName: 'MessageTimestamp',
export default 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 (
<span className="mx_MessageTimestamp" title={ DateUtils.formatFullDate(date, this.props.showTwelveHour) }>
{ DateUtils.formatTime(date, this.props.showTwelveHour) }
<span className="mx_MessageTimestamp" title={formatFullDate(date, this.props.showTwelveHour)}>
{ formatTime(date, this.props.showTwelveHour) }
</span>
);
},
});
}
}

View File

@@ -14,230 +14,52 @@ 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,
*/
import classNames from 'classnames';
/**
* 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,
};
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.createDialog(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-- });
}).fail(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to remove tag " + prevTag + " from room: " + err);
Modal.createDialog(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)
) {
//component.state.set({ spinner: component.state.spinner ? component.state.spinner++ : 1 });
MatrixClientPeg.get().setRoomTag(item.room.roomId, newTag, newOrder).finally(function() {
//component.state.set({ spinner: component.state.spinner-- });
}).fail(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to add tag " + newTag + " to room: " + err);
Modal.createDialog(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);
}
}
export default class DNDRoomTile extends React.PureComponent {
constructor() {
super();
this.getClassName = this.getClassName.bind(this);
}
};
var roomTileTarget = {
canDrop: function() {
return false;
},
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(),
getClassName(isDragging) {
return classNames({
"mx_DNDRoomTile": true,
"mx_DNDRoomTile_dragging": isDragging,
});
}
})(
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));
render() {
const props = this.props;
return <div>
<Draggable
key={props.room.roomId}
draggableId={props.tagName + '_' + props.room.roomId}
index={props.index}
type="draggable-RoomTile"
>
{ (provided, snapshot) => {
return (
<div>
<div
ref={provided.innerRef}
{...provided.draggableProps}
{...provided.dragHandleProps}
>
<div className={this.getClassName(snapshot.isDragging)}>
<RoomTile {...props} />
</div>
</div>
{ provided.placeholder }
</div>
);
} }
</Draggable>
</div>;
}
}

View File

@@ -23,9 +23,11 @@ module.exports = React.createClass({
render: function() {
return (
<div className="mx_RoomDropTarget">
<div className="mx_RoomDropTarget_label">
{ this.props.label }
<div className="mx_RoomDropTarget_container">
<div className="mx_RoomDropTarget">
<div className="mx_RoomDropTarget_label">
{ this.props.label }
</div>
</div>
</div>
);

View File

@@ -19,16 +19,19 @@ limitations under the License.
var React = require('react');
var ReactDOM = require('react-dom');
var dis = require('matrix-react-sdk/lib/dispatcher');
import classNames from 'classnames';
module.exports = React.createClass({
displayName: 'RoomTooltip',
propTypes: {
// Alllow the tooltip to be styled by the parent element
// Class applied to the element used to position the tooltip
className: React.PropTypes.string.isRequired,
// Class applied to the tooltip itself
tooltipClassName: React.PropTypes.string,
// The tooltip is derived from either the room name or a label
room: React.PropTypes.object,
label: React.PropTypes.string,
label: React.PropTypes.node,
},
// Create a wrapper for the tooltip outside the parent and attach it to the body element
@@ -69,8 +72,12 @@ module.exports = React.createClass({
style.left = 6 + parent.getBoundingClientRect().right + window.pageXOffset;
style.display = "block";
const tooltipClasses = classNames(
"mx_RoomTooltip", this.props.tooltipClassName,
);
var tooltip = (
<div className="mx_RoomTooltip" style={style} >
<div className={tooltipClasses} style={style} >
<div className="mx_RoomTooltip_chevron"></div>
{ label }
</div>

View File

@@ -14,16 +14,20 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
'use strict';
var React = require('react');
import { _t, _tJsx } from 'matrix-react-sdk/lib/languageHandler';
var q = require("q");
var sdk = require('matrix-react-sdk');
var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg');
var UserSettingsStore = require('matrix-react-sdk/lib/UserSettingsStore');
var Modal = require('matrix-react-sdk/lib/Modal');
var notifications = require('../../../notifications');
import React from 'react';
import Promise from 'bluebird';
import sdk from 'matrix-react-sdk';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import UserSettingsStore from 'matrix-react-sdk/lib/UserSettingsStore';
import SettingsStore, {SettingLevel} from "matrix-react-sdk/lib/settings/SettingsStore";
import Modal from 'matrix-react-sdk/lib/Modal';
import {
NotificationUtils,
VectorPushRulesDefinitions,
PushRuleVectorState,
ContentRules
} from '../../../notifications';
// TODO: this "view" component still has far too much application logic in it,
// which should be factored out to other files.
@@ -31,17 +35,13 @@ var notifications = require('../../../notifications');
// TODO: this component also does a lot of direct poking into this.state, which
// is VERY NAUGHTY.
var NotificationUtils = notifications.NotificationUtils;
var VectorPushRulesDefinitions = notifications.VectorPushRulesDefinitions;
var PushRuleVectorState = notifications.PushRuleVectorState;
var ContentRules = notifications.ContentRules;
/**
* Rules that Vector used to set in order to override the actions of default rules.
* These are used to port peoples existing overrides to match the current API.
* These can be removed and forgotten once everyone has moved to the new client.
*/
var LEGACY_RULES = {
const LEGACY_RULES = {
"im.vector.rule.contains_display_name": ".m.rule.contains_display_name",
"im.vector.rule.room_one_to_one": ".m.rule.room_one_to_one",
"im.vector.rule.room_message": ".m.rule.message",
@@ -51,7 +51,7 @@ var LEGACY_RULES = {
};
function portLegacyActions(actions) {
var decoded = NotificationUtils.decodeActions(actions);
const decoded = NotificationUtils.decodeActions(actions);
if (decoded !== null) {
return NotificationUtils.encodeActions(decoded);
} else {
@@ -62,7 +62,7 @@ function portLegacyActions(actions) {
}
module.exports = React.createClass({
displayName: 'Notififications',
displayName: 'Notifications',
phases: {
LOADING: "LOADING", // The component is loading or sending data to the hs
@@ -102,7 +102,7 @@ module.exports = React.createClass({
},
onEnableNotificationsChange: function(event) {
var self = this;
const self = this;
this.setState({
phase: this.phases.LOADING
});
@@ -113,25 +113,51 @@ module.exports = React.createClass({
},
onEnableDesktopNotificationsChange: function(event) {
UserSettingsStore.setEnableNotifications(event.target.checked);
SettingsStore.setValue(
"notificationsEnabled", null,
SettingLevel.DEVICE,
event.target.checked,
).finally(() => {
this.forceUpdate();
});
},
onEnableDesktopNotificationBodyChange: function(event) {
SettingsStore.setValue(
"notificationBodyEnabled", null,
SettingLevel.DEVICE,
event.target.checked,
).finally(() => {
this.forceUpdate();
});
},
onEnableAudioNotificationsChange: function(event) {
SettingsStore.setValue(
"audioNotificationsEnabled", null,
SettingLevel.DEVICE,
event.target.checked,
).finally(() => {
this.forceUpdate();
});
},
onEnableEmailNotificationsChange: function(address, event) {
var emailPusherPromise;
let emailPusherPromise;
if (event.target.checked) {
var data = {}
const data = {}
data['brand'] = this.props.brand || 'Riot';
emailPusherPromise = UserSettingsStore.addEmailPusher(address, data);
} else {
var emailPusher = UserSettingsStore.getEmailPusher(this.state.pushers, address);
const emailPusher = UserSettingsStore.getEmailPusher(this.state.pushers, address);
emailPusher.kind = null;
emailPusherPromise = MatrixClientPeg.get().setPusher(emailPusher);
}
emailPusherPromise.done(() => {
this._refreshFromServer();
}, (error) => {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createDialog(ErrorDialog, {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Error saving email notification preferences', '', ErrorDialog, {
title: _t('Error saving email notification preferences'),
description: _t('An error occurred whilst saving your email notification preferences.'),
});
@@ -140,14 +166,14 @@ module.exports = React.createClass({
onNotifStateButtonClicked: function(event) {
// FIXME: use .bind() rather than className metadata here surely
var vectorRuleId = event.target.className.split("-")[0];
var newPushRuleVectorState = event.target.className.split("-")[1];
const vectorRuleId = event.target.className.split("-")[0];
const newPushRuleVectorState = event.target.className.split("-")[1];
if ("_keywords" === vectorRuleId) {
this._setKeywordsPushRuleVectorState(newPushRuleVectorState)
}
else {
var rule = this.getRule(vectorRuleId);
const rule = this.getRule(vectorRuleId);
if (rule) {
this._setPushRuleVectorState(rule, newPushRuleVectorState);
}
@@ -155,12 +181,12 @@ module.exports = React.createClass({
},
onKeywordsClicked: function(event) {
var self = this;
const self = this;
// Compute the keywords list to display
var keywords = [];
for (var i in this.state.vectorContentRules.rules) {
var rule = this.state.vectorContentRules.rules[i];
let keywords = [];
for (let i in this.state.vectorContentRules.rules) {
const rule = this.state.vectorContentRules.rules[i];
keywords.push(rule.pattern);
}
if (keywords.length) {
@@ -174,8 +200,8 @@ module.exports = React.createClass({
keywords = "";
}
var TextInputDialog = sdk.getComponent("dialogs.TextInputDialog");
Modal.createDialog(TextInputDialog, {
const TextInputDialog = sdk.getComponent("dialogs.TextInputDialog");
Modal.createTrackedDialog('Keywords Dialog', '', TextInputDialog, {
title: _t('Keywords'),
description: _t('Enter keywords separated by a comma:'),
button: _t('OK'),
@@ -183,8 +209,8 @@ module.exports = React.createClass({
onFinished: function onFinished(should_leave, newValue) {
if (should_leave && newValue !== keywords) {
var newKeywords = newValue.split(',');
for (var i in newKeywords) {
let newKeywords = newValue.split(',');
for (let i in newKeywords) {
newKeywords[i] = newKeywords[i].trim();
}
@@ -203,8 +229,8 @@ module.exports = React.createClass({
},
getRule: function(vectorRuleId) {
for (var i in this.state.vectorPushRules) {
var rule = this.state.vectorPushRules[i];
for (let i in this.state.vectorPushRules) {
const rule = this.state.vectorPushRules[i];
if (rule.vectorRuleId === vectorRuleId) {
return rule;
}
@@ -218,13 +244,13 @@ module.exports = React.createClass({
phase: this.phases.LOADING
});
var self = this;
var cli = MatrixClientPeg.get();
var deferreds = [];
var ruleDefinition = VectorPushRulesDefinitions[rule.vectorRuleId];
const self = this;
const cli = MatrixClientPeg.get();
const deferreds = [];
const ruleDefinition = VectorPushRulesDefinitions[rule.vectorRuleId];
if (rule.rule) {
var actions = ruleDefinition.vectorStateToActions[newPushRuleVectorState];
const actions = ruleDefinition.vectorStateToActions[newPushRuleVectorState];
if (!actions) {
// The new state corresponds to disabling the rule.
@@ -236,12 +262,12 @@ module.exports = React.createClass({
}
}
q.all(deferreds).done(function() {
Promise.all(deferreds).done(function() {
self._refreshFromServer();
}, function(error) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to change settings: " + error);
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Failed to change settings', '', ErrorDialog, {
title: _t('Failed to change settings'),
description: ((error && error.message) ? error.message : _t('Operation failed')),
onFinished: self._refreshFromServer
@@ -257,19 +283,19 @@ module.exports = React.createClass({
return;
}
var self = this;
var cli = MatrixClientPeg.get();
const self = this;
const cli = MatrixClientPeg.get();
this.setState({
phase: this.phases.LOADING
});
// Update all rules in self.state.vectorContentRules
var deferreds = [];
for (var i in this.state.vectorContentRules.rules) {
var rule = this.state.vectorContentRules.rules[i];
const deferreds = [];
for (let i in this.state.vectorContentRules.rules) {
const rule = this.state.vectorContentRules.rules[i];
var enabled, actions;
let enabled, actions;
switch (newPushRuleVectorState) {
case PushRuleVectorState.ON:
if (rule.actions.length !== 1) {
@@ -306,12 +332,12 @@ module.exports = React.createClass({
}
}
q.all(deferreds).done(function(resps) {
Promise.all(deferreds).done(function(resps) {
self._refreshFromServer();
}, function(error) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Can't update user notification settings: " + error);
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Can\'t update user notifcation settings', '', ErrorDialog, {
title: _t('Can\'t update user notification settings'),
description: ((error && error.message) ? error.message : _t('Operation failed')),
onFinished: self._refreshFromServer
@@ -324,14 +350,14 @@ module.exports = React.createClass({
phase: this.phases.LOADING
});
var self = this;
var cli = MatrixClientPeg.get();
var removeDeferreds = [];
const self = this;
const cli = MatrixClientPeg.get();
const removeDeferreds = [];
// Remove per-word push rules of keywords that are no more in the list
var vectorContentRulesPatterns = [];
for (var i in self.state.vectorContentRules.rules) {
var rule = self.state.vectorContentRules.rules[i];
const vectorContentRulesPatterns = [];
for (let i in self.state.vectorContentRules.rules) {
const rule = self.state.vectorContentRules.rules[i];
vectorContentRulesPatterns.push(rule.pattern);
@@ -342,18 +368,18 @@ module.exports = React.createClass({
// If the keyword is part of `externalContentRules`, remove the rule
// before recreating it in the right Vector path
for (var i in self.state.externalContentRules) {
var rule = self.state.externalContentRules[i];
for (let i in self.state.externalContentRules) {
const rule = self.state.externalContentRules[i];
if (newKeywords.indexOf(rule.pattern) >= 0) {
removeDeferreds.push(cli.deletePushRule('global', rule.kind, rule.rule_id));
}
}
var onError = function(error) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const onError = function(error) {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to update keywords: " + error);
Modal.createDialog(ErrorDialog, {
Modal.createTrackedDialog('Failed to update keywords', '', ErrorDialog, {
title: _t('Failed to update keywords'),
description: ((error && error.message) ? error.message : _t('Operation failed')),
onFinished: self._refreshFromServer
@@ -361,10 +387,10 @@ module.exports = React.createClass({
}
// Then, add the new ones
q.all(removeDeferreds).done(function(resps) {
var deferreds = [];
Promise.all(removeDeferreds).done(function(resps) {
const deferreds = [];
var pushRuleVectorStateKind = self.state.vectorContentRules.vectorState;
let pushRuleVectorStateKind = self.state.vectorContentRules.vectorState;
if (pushRuleVectorStateKind === PushRuleVectorState.OFF) {
// When the current global keywords rule is OFF, we need to look at
// the flavor of rules in 'vectorContentRules' to apply the same actions
@@ -379,8 +405,8 @@ module.exports = React.createClass({
}
}
for (var i in newKeywords) {
var keyword = newKeywords[i];
for (let i in newKeywords) {
const keyword = newKeywords[i];
if (vectorContentRulesPatterns.indexOf(keyword) < 0) {
if (self.state.vectorContentRules.vectorState !== PushRuleVectorState.OFF) {
@@ -399,7 +425,7 @@ module.exports = React.createClass({
}
}
q.all(deferreds).done(function(resps) {
Promise.all(deferreds).done(function(resps) {
self._refreshFromServer();
}, onError);
}, onError);
@@ -407,31 +433,33 @@ module.exports = React.createClass({
// Create a push rule but disabled
_addDisabledPushRule: function(scope, kind, ruleId, body) {
var cli = MatrixClientPeg.get();
return cli.addPushRule(scope, kind, ruleId, body).then(function() {
return cli.setPushRuleEnabled(scope, kind, ruleId, false);
});
const cli = MatrixClientPeg.get();
return cli.addPushRule(scope, kind, ruleId, body).then(() =>
cli.setPushRuleEnabled(scope, kind, ruleId, false)
);
},
// Check if any legacy im.vector rules need to be ported to the new API
// for overriding the actions of default rules.
_portRulesToNewAPI: function(rulesets) {
var self = this;
var needsUpdate = [];
var cli = MatrixClientPeg.get();
const self = this;
const needsUpdate = [];
const cli = MatrixClientPeg.get();
for (var kind in rulesets.global) {
var ruleset = rulesets.global[kind];
for (var i = 0; i < ruleset.length; ++i) {
var rule = ruleset[i];
for (let kind in rulesets.global) {
const ruleset = rulesets.global[kind];
for (let i = 0; i < ruleset.length; ++i) {
const rule = ruleset[i];
if (rule.rule_id in LEGACY_RULES) {
console.log("Porting legacy rule", rule);
needsUpdate.push( function(kind, rule) {
return cli.setPushRuleActions(
'global', kind, LEGACY_RULES[rule.rule_id], portLegacyActions(rule.actions)
).then( function() {
return cli.deletePushRule('global', kind, rule.rule_id);
})
).then(() =>
cli.deletePushRule('global', kind, rule.rule_id)
).catch( (e) => {
console.warn(`Error when porting legacy rule: ${e}`);
});
}(kind, rule));
}
}
@@ -440,9 +468,9 @@ module.exports = React.createClass({
if (needsUpdate.length > 0) {
// If some of the rules need to be ported then wait for the porting
// to happen and then fetch the rules again.
return q.allSettled(needsUpdate).then( function() {
return cli.getPushRules();
});
return Promise.all(needsUpdate).then(() =>
cli.getPushRules()
);
} else {
// Otherwise return the rules that we already have.
return rulesets;
@@ -450,15 +478,14 @@ module.exports = React.createClass({
},
_refreshFromServer: function() {
var self = this;
var pushRulesPromise = MatrixClientPeg.get().getPushRules().then(self._portRulesToNewAPI).then(function(rulesets) {
//console.log("resolving pushRulesPromise");
const self = this;
const pushRulesPromise = MatrixClientPeg.get().getPushRules().then(self._portRulesToNewAPI).then(function(rulesets) {
/// XXX seriously? wtf is this?
MatrixClientPeg.get().pushRules = rulesets;
// Get homeserver default rules and triage them by categories
var rule_categories = {
const rule_categories = {
// The master rule (all notifications disabling)
'.m.rule.master': 'master',
@@ -476,12 +503,12 @@ module.exports = React.createClass({
};
// HS default rules
var defaultRules = {master: [], vector: {}, others: []};
const defaultRules = {master: [], vector: {}, others: []};
for (var kind in rulesets.global) {
for (var i = 0; i < Object.keys(rulesets.global[kind]).length; ++i) {
var r = rulesets.global[kind][i];
var cat = rule_categories[r.rule_id];
for (let kind in rulesets.global) {
for (let i = 0; i < Object.keys(rulesets.global[kind]).length; ++i) {
const r = rulesets.global[kind][i];
const cat = rule_categories[r.rule_id];
r.kind = kind;
if (r.rule_id[0] === '.') {
@@ -504,7 +531,7 @@ module.exports = React.createClass({
}
// parse the keyword rules into our state
var contentRules = ContentRules.parseContentRules(rulesets);
const contentRules = ContentRules.parseContentRules(rulesets);
self.state.vectorContentRules = {
vectorState: contentRules.vectorState,
rules: contentRules.rules,
@@ -515,7 +542,7 @@ module.exports = React.createClass({
self.state.vectorPushRules = [];
self.state.externalPushRules = [];
var vectorRuleIds = [
const vectorRuleIds = [
'.m.rule.contains_display_name',
'.m.rule.contains_user_name',
'_keywords',
@@ -526,8 +553,8 @@ module.exports = React.createClass({
'.m.rule.call',
'.m.rule.suppress_notices'
];
for (var i in vectorRuleIds) {
var vectorRuleId = vectorRuleIds[i];
for (let i in vectorRuleIds) {
const vectorRuleId = vectorRuleIds[i];
if (vectorRuleId === '_keywords') {
// keywords needs a special handling
@@ -537,11 +564,11 @@ module.exports = React.createClass({
"vectorRuleId": "_keywords",
"description" : (
<span>
{ _tJsx('Messages containing <span>keywords</span>',
/<span>(.*?)<\/span>/,
(sub) => {
return <span className="mx_UserNotifSettings_keywords" onClick={ self.onKeywordsClicked }>{sub}</span>;
}
{ _t('Messages containing <span>keywords</span>',
{},
{ 'span': (sub) =>
<span className="mx_UserNotifSettings_keywords" onClick={ self.onKeywordsClicked }>{sub}</span>
},
)}
</span>
),
@@ -549,10 +576,10 @@ module.exports = React.createClass({
});
}
else {
var ruleDefinition = VectorPushRulesDefinitions[vectorRuleId];
var rule = defaultRules.vector[vectorRuleId];
const ruleDefinition = VectorPushRulesDefinitions[vectorRuleId];
const rule = defaultRules.vector[vectorRuleId];
var vectorState = ruleDefinition.ruleToVectorState(rule);
const vectorState = ruleDefinition.ruleToVectorState(rule);
//console.log("Refreshing vectorPushRules for " + vectorRuleId +", "+ ruleDefinition.description +", " + rule +", " + vectorState);
@@ -572,14 +599,14 @@ module.exports = React.createClass({
}
// Build the rules not managed by Vector UI
var otherRulesDescriptions = {
const otherRulesDescriptions = {
'.m.rule.message': _t('Notify for all other messages/rooms'),
'.m.rule.fallback': _t('Notify me for anything else'),
};
for (var i in defaultRules.others) {
var rule = defaultRules.others[i];
var ruleDescription = otherRulesDescriptions[rule.rule_id];
for (let i in defaultRules.others) {
const rule = defaultRules.others[i];
const ruleDescription = otherRulesDescriptions[rule.rule_id];
// Show enabled default rules that was modified by the user
if (ruleDescription && rule.enabled && !rule.default) {
@@ -589,12 +616,11 @@ module.exports = React.createClass({
}
});
var pushersPromise = MatrixClientPeg.get().getPushers().then(function(resp) {
//console.log("resolving pushersPromise");
const pushersPromise = MatrixClientPeg.get().getPushers().then(function(resp) {
self.setState({pushers: resp.pushers});
});
q.all([pushRulesPromise, pushersPromise]).then(function() {
Promise.all([pushRulesPromise, pushersPromise]).then(function() {
self.setState({
phase: self.phases.DISPLAY
});
@@ -616,7 +642,7 @@ module.exports = React.createClass({
},
_updatePushRuleActions: function(rule, actions, enabled) {
var cli = MatrixClientPeg.get();
const cli = MatrixClientPeg.get();
return cli.setPushRuleActions(
'global', rule.kind, rule.rule_id, actions
@@ -662,9 +688,9 @@ module.exports = React.createClass({
},
renderNotifRulesTableRows: function() {
var rows = [];
for (var i in this.state.vectorPushRules) {
var rule = this.state.vectorPushRules[i];
const rows = [];
for (let i in this.state.vectorPushRules) {
const rule = this.state.vectorPushRules[i];
//console.log("rendering: " + rule.description + ", " + rule.vectorRuleId + ", " + rule.vectorState);
rows.push(this.renderNotifRulesTableRow(rule.description, rule.vectorRuleId, rule.vectorState));
}
@@ -690,30 +716,32 @@ module.exports = React.createClass({
},
render: function() {
var self = this;
const self = this;
var spinner;
let spinner;
if (this.state.phase === this.phases.LOADING) {
var Loader = sdk.getComponent("elements.Spinner");
const Loader = sdk.getComponent("elements.Spinner");
spinner = <Loader />;
}
let masterPushRuleDiv;
if (this.state.masterPushRule) {
var masterPushRuleDiv = (
masterPushRuleDiv = (
<div className="mx_UserNotifSettings_tableRow">
<div className="mx_UserNotifSettings_inputCell">
<input id="enableNotifications"
ref="enableNotifications"
type="checkbox"
checked={ !this.state.masterPushRule.enabled }
onChange={ this.onEnableNotificationsChange } />
</div>
<div className="mx_UserNotifSettings_labelCell">
<label htmlFor="enableNotifications">
{ _t('Enable notifications for this account') }
</label>
</div>
<div className="mx_UserNotifSettings_inputCell">
<input id="enableNotifications"
ref="enableNotifications"
type="checkbox"
checked={ !this.state.masterPushRule.enabled }
onChange={ this.onEnableNotificationsChange }
/>
</div>
<div className="mx_UserNotifSettings_labelCell">
<label htmlFor="enableNotifications">
{ _t('Enable notifications for this account') }
</label>
</div>
</div>
);
}
@@ -741,29 +769,29 @@ module.exports = React.createClass({
// This only supports the first email address in your profile for now
emailNotificationsRow = this.emailNotificationsRow(
emailThreepids[0].address,
_t('Enable email notifications') + ' (' + emailThreepids[0].address + ')'
`${_t('Enable email notifications')} (${emailThreepids[0].address})`
);
}
// Build external push rules
var externalRules = [];
for (var i in this.state.externalPushRules) {
var rule = this.state.externalPushRules[i];
const externalRules = [];
for (let i in this.state.externalPushRules) {
const rule = this.state.externalPushRules[i];
externalRules.push(<li>{ _t(rule.description) }</li>);
}
// Show keywords not displayed by the vector UI as a single external push rule
var externalKeyWords = [];
for (var i in this.state.externalContentRules) {
var rule = this.state.externalContentRules[i];
externalKeyWords.push(rule.pattern);
let externalKeywords = [];
for (let i in this.state.externalContentRules) {
const rule = this.state.externalContentRules[i];
externalKeywords.push(rule.pattern);
}
if (externalKeyWords.length) {
externalKeyWords = externalKeyWords.join(", ");
externalRules.push(<li>{ _t('Notifications on the following keywords follow rules which cant be displayed here:') } { externalKeyWords }</li>);
if (externalKeywords.length) {
externalKeywords = externalKeywords.join(", ");
externalRules.push(<li>{ _t('Notifications on the following keywords follow rules which cant be displayed here:') } { externalKeywords }</li>);
}
var devicesSection;
let devicesSection;
if (this.state.pushers === undefined) {
devicesSection = <div className="error">{ _t('Unable to fetch notification target list') }</div>
} else if (this.state.pushers.length == 0) {
@@ -771,8 +799,8 @@ module.exports = React.createClass({
} else {
// TODO: It would be great to be able to delete pushers from here too,
// and this wouldn't be hard to add.
var rows = [];
for (var i = 0; i < this.state.pushers.length; ++i) {
const rows = [];
for (let i = 0; i < this.state.pushers.length; ++i) {
rows.push(<tr key={ i }>
<td>{this.state.pushers[i].app_display_name}</td>
<td>{this.state.pushers[i].device_display_name}</td>
@@ -791,7 +819,7 @@ module.exports = React.createClass({
</div>);
}
var advancedSettings;
let advancedSettings;
if (externalRules.length) {
advancedSettings = (
<div>
@@ -819,7 +847,7 @@ module.exports = React.createClass({
<input id="enableDesktopNotifications"
ref="enableDesktopNotifications"
type="checkbox"
checked={ UserSettingsStore.getEnableNotifications() }
checked={ SettingsStore.getValue("notificationsEnabled") }
onChange={ this.onEnableDesktopNotificationsChange } />
</div>
<div className="mx_UserNotifSettings_labelCell">
@@ -829,16 +857,28 @@ module.exports = React.createClass({
</div>
</div>
<div className="mx_UserNotifSettings_tableRow">
<div className="mx_UserNotifSettings_inputCell">
<input id="enableDesktopNotificationBody"
ref="enableDesktopNotificationBody"
type="checkbox"
checked={ SettingsStore.getValue("notificationBodyEnabled") }
onChange={ this.onEnableDesktopNotificationBodyChange } />
</div>
<div className="mx_UserNotifSettings_labelCell">
<label htmlFor="enableDesktopNotificationBody">
{ _t('Show message in desktop notification') }
</label>
</div>
</div>
<div className="mx_UserNotifSettings_tableRow">
<div className="mx_UserNotifSettings_inputCell">
<input id="enableDesktopAudioNotifications"
ref="enableDesktopAudioNotifications"
type="checkbox"
checked={ UserSettingsStore.getEnableAudioNotifications() }
onChange={ (e) => {
UserSettingsStore.setEnableAudioNotifications(e.target.checked);
this.forceUpdate();
}} />
checked={ SettingsStore.getValue("audioNotificationsEnabled") }
onChange={ this.onEnableAudioNotificationsChange } />
</div>
<div className="mx_UserNotifSettings_labelCell">
<label htmlFor="enableDesktopAudioNotifications">

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
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.

View File

@@ -2,5 +2,31 @@
"All messages": "كل الرسائل",
"Continue": "استمر",
"Please set a password!": "يرجى تعيين كلمة مرور!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "سيسمح لك هذا بالعودة إلى حسابك بعد الخروج، وتسجيل الدخول على الأجهزة الأخرى."
"This will allow you to return to your account after signing out, and sign in on other devices.": "سيسمح لك هذا بالعودة إلى حسابك بعد الخروج، وتسجيل الدخول على الأجهزة الأخرى.",
"Advanced notification settings": "إعدادات متقدمة للرسائل",
"A new version of Riot is available.": "نسخة جديدة من رايوت متوفرة.",
"All Rooms": "كل الغُرف",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">متصفح سافاري</a> و <a href=\"http://opera.com\">متصفح أوبرا</a> يعملان أيضاً.",
"Add an email address above to configure email notifications": "أضف بريداً إلكترونياً أعلاه من أجل تعديل إعدادت تنبيهات البريد الإلكتروني",
"All messages (noisy)": "كل الرسائل (صوت مرتفع)",
"All notifications are currently disabled for all targets.": "كل التنبيهات غير مفعلة حالياً للجميع.",
"An error occurred whilst saving your email notification preferences.": "حدث خطأ ما خلال حفظ إعدادات التنبيهات للبريد الإلكتروني.",
"Call invitation": "دعوة لمحادثة",
"Cancel": "إلغاء",
"Cancel Sending": "إلغاء الإرسال",
"Can't update user notification settings": "لا يمكن تحديث إعدادات التنبيهات للمستخدم",
"Changelog": "سِجل التغييرات",
"Close": "إغلاق",
"Collapse panel": "طي الجدول",
"Collecting app version information": "إستعادة معلومات النسخة للتطبيق",
"Collecting logs": "إستعادة السجلات",
"Couldn't find a matching Matrix room": "لا يمكن إيجاد غرفة مايتركس متطابقة",
"Custom Server Options": "إعدادات السيرفر خاصة",
"delete the alias.": "إلغاء المُعرف.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "إلغاء مُعرف الغرفة %(alias)s وحذف %(name)s من الدليل؟",
"Describe your problem here.": "صِف مشكلتك هنا.",
"Direct Chat": "دردشة مباشرة",
"Directory": "دليل",
"Dismiss": "صرف النظر",
"Download this file": "تحميل هذا الملف"
}

32
src/i18n/strings/az.json Normal file
View File

@@ -0,0 +1,32 @@
{
"Riot is not supported on mobile web. Install the app?": "Riot mobil qurğular üçün veb-saytın versiyasını dəstəkləmir. Proqramı qurmaq?",
"Collecting app version information": "Proqramın versiyası haqqında məlumatın yığılması",
"Collecting logs": "Jurnalların bir yığım",
"Uploading report": "Hesabatın göndərilməsi",
"Waiting for response from server": "Serverdən cavabın gözlənməsi",
"Riot Desktop on %(platformName)s": "%(platformName)s-da Riot Desktop",
"Unknown device": "Naməlum qurğu",
"You need to be using HTTPS to place a screen-sharing call.": "İş stolunun birgə istifadəsi üçün HTTPS-dan istifadə tələb olunur.",
"Messages containing my display name": "Mənim adımı özündə saxlayan mesajlar",
"Messages containing my user name": "Mənim istifadəçinin adımı özündə saxlayan mesaj",
"Messages in one-to-one chats": "Fərdi çatlarda mesajlar",
"Messages in group chats": "Qrup çatlarında mesajlar",
"When I'm invited to a room": "Nə vaxt ki, məni otağa dəvət edirlər",
"Call invitation": "Dəvət zəngi",
"Messages sent by bot": "Botla göndərilmiş mesajlar",
"Error saving email notification preferences": "Email üzrə xəbərdarlıqların qurmalarının saxlanılması səhv",
"An error occurred whilst saving your email notification preferences.": "Email üzrə bildirişin qurmalarının saxlanılması səhv yarandı.",
"Keywords": "Açar sözlər",
"Enter keywords separated by a comma:": "Vergül bölünmüş açar sözləri daxil edin:",
"OK": "OK",
"Failed to change settings": "Qurmaları dəyişdirməyi bacarmadı",
"Operation failed": "Əməliyyatın nasazlığı",
"Can't update user notification settings": "Bildirişin istifadəçi qurmalarını yeniləməyə müvəffəq olmur",
"Failed to update keywords": "Açar sözləri yeniləməyi bacarmadı",
"Messages containing <span>keywords</span>": "Müəyyən <span>açar sözləri</span> özündə saxlayan mesajlar",
"Notify for all other messages/rooms": "Bütün başqa mesajdan/otaqlardan xəbər vermək",
"Notify me for anything else": "Bütün qalan hadisələrdə xəbər vermək",
"Enable notifications for this account": "Bu hesab üçün xəbərdarlıqları qoşmaq",
"All notifications are currently disabled for all targets.": "Bütün qurğular üçün bütün bildirişlər kəsilmişdir.",
"Add an email address above to configure email notifications": "Email-i bildirişlər üçün ünvanı əlavə edin"
}

View File

@@ -1,13 +1,12 @@
{
"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": "Адмяніць адпраўку",
"Can't update user notification settings": "Немагчыма абнавіць налады апавяшчэнняў карыстальніка",
"Close": "Зачыніць",
"Create new room": "Стварыць новы пакой",
"Couldn't find a matching Matrix room": "Не атрымалася знайсці адпаведны пакой Matrix",
"Custom Server Options": "Карыстальніцкія параметры сервера",
"delete the alias.": "выдаліць псеўданім.",
@@ -16,7 +15,6 @@
"Directory": "Каталог",
"Dismiss": "Aдхіліць",
"Download this file": "Спампаваць гэты файл",
"Drop here %(toAction)s": "Перацягнуць сюды %(toAction)s",
"Enable audible notifications in web client": "Ўключыць гукавыя апавяшчэнні ў вэб-кліенце",
"Enable desktop notifications": "Ўключыць апавяшчэнні на працоўным стале",
"Enable email notifications": "Ўключыць паведамлення па электроннай пошце",
@@ -26,14 +24,12 @@
"Error": "Памылка",
"Error saving email notification preferences": "Памылка захавання налад апавяшчэнняў па электроннай пошце",
"#example": "#прыклад",
"Failed to": "Не атрымалася",
"Failed to add tag %(tagName)s to room": "Не атрымалася дадаць %(tagName)s ў пакоі",
"Failed to change settings": "Не атрымалася змяніць налады",
"Failed to forget room %(errCode)s": "Не атрымалася забыць пакой %(errCode)s",
"Failed to update keywords": "Не атрымалася абнавіць ключавыя словы",
"Failed to get protocol list from Home Server": "Не ўдалося атрымаць спіс пратаколаў ад хатняга сервера",
"Failed to get public room list": "Не ўдалося атрымаць спіс агульных пакояў",
"Failed to join the room": "Не ўдалося далучыцца да пакоя",
"Failed to remove tag %(tagName)s from room": "Не ўдалося выдаліць %(tagName)s з пакоя",
"Failed to set direct chat tag": "Не ўдалося ўсталяваць тэг прамога чата",
"Failed to set Direct Message status of room": "Не ўдалося ўсталяваць статут прамога паведамлення пакою",
@@ -42,9 +38,7 @@
"Files": "Файлы",
"Filter room names": "Фільтр iмёнаў пакояў",
"Forget": "Забыць",
" from room": " з пакоя",
"Guests can join": "Госці могуць далучыцца",
"Guest users can't invite users. Please register to invite.": осцi не могуць запрашаць карыстальнікаў. Калі ласка, зарэгіструйцеся, каб запрасiць.",
"Invite to this room": "Запрасіць у гэты пакой",
"Keywords": "Ключавыя словы",
"Leave": "Пакінуць",
@@ -56,17 +50,15 @@
"Noisy": "Шумна",
"Notification targets": "Мэты апавяшчэння",
"Notifications": "Апавяшчэнні",
"Notifications on the following keywords follow rules which cant be displayed here:": "Апавяшчэнні па наступных ключавых словах прытрымліваюцца правілаў, якія не могуць быць адлюстраваны тут",
"Notifications on the following keywords follow rules which cant be displayed here:": "Апавяшчэнні па наступных ключавых словах прытрымліваюцца правілаў, якія не могуць быць адлюстраваны тут:",
"Notify for all other messages/rooms": "Апавяшчаць для ўсіх іншых паведамленняў/пакояў",
"Notify me for anything else": "Паведаміць мне што-небудзь яшчэ",
"Off": "Выключыць",
"On": "Уключыць",
"Operation failed": "Не атрымалася выканаць аперацыю",
"Permalink": "Пастаянная спасылка",
"Please Register": "Калі ласка, зарэгіструйцеся",
"powered by Matrix": "працуе на Matrix",
"Quote": "Цытата",
"Redact": "Адрэдагаваць",
"Reject": "Адхіліць",
"Remove %(name)s from the directory?": "Выдаліць %(name)s з каталога?",
"Remove": "Выдалiць",
@@ -74,15 +66,10 @@
"Remove from Directory": "Выдалiць з каталога",
"Resend": "Паўторна",
"Riot does not know how to join a room on this network": "Riot не ведае, як увайсці ў пакой у гэтай сетке",
"Room directory": "Каталог пакояў",
"Room not found": "Пакой не знойдзены",
"Search for a room": "Пошук па пакоі",
"Settings": "Налады",
"Source URL": "URL-адрас крыніцы",
"Start chat": "Пачаць чат",
"The Home Server may be too old to support third party networks": "Хатні сервер можа быць занадта стары для падтрымкі іншых сетак",
"There are advanced notifications which are not shown here": "Ёсць пашыраныя апавяшчэння, якія не паказаныя тут",
"The server may be unavailable or overloaded": "Сервер можа быць недаступны ці перагружаны",
"This room is inaccessible to guests. You may be able to join if you register.": "Гэты пакой недаступны для гасцей. Вы можаце далучыцца, калі вы зарэгіструецеся.",
" to room": " ў пакоі"
"The server may be unavailable or overloaded": "Сервер можа быць недаступны ці перагружаны"
}

225
src/i18n/strings/bg.json Normal file
View File

@@ -0,0 +1,225 @@
{
"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 Desktop под %(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 <span>keywords</span>": "Съобщения, съдържащи <span>ключови думи</span>",
"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 cant 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": "Показване на съдържание в известията на работния плот",
"Enable audible notifications in web client": "Включване на звукови известия в уеб клиент",
"Off": "Изключено",
"On": "Включено",
"Noisy": "Шумно",
"Search…": "Търсене…",
"Search": "Търсене",
"This Room": "В тази стая",
"All Rooms": "Във всички стаи",
"Sunday": "Неделя",
"Monday": "Понеделник",
"Tuesday": "Вторник",
"Wednesday": "Сряда",
"Thursday": "Четвъртък",
"Friday": "Петък",
"Saturday": "Събота",
"Today": "Днес",
"Yesterday": "Вчера",
"Custom Server Options": "Потребителски опции за сървър",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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 сървъри като посочите различен Home сървър.<br/>Това Ви позволява да използвате Riot със съществуващ Matrix профил на различен Home сървър.<br/><br/> Възможно е и да зададете друг сървър за самоличност. В този случай обаче няма да бъде възможно да поканите други потребители по имейл адрес, както и самите Вие няма да можете да бъдете поканени по имейл адрес.",
"Dismiss": "Затвори",
"powered by Matrix": "базирано на Matrix",
"You are not receiving desktop notifications": "Не получавате известия на работния плот",
"Enable them now": "Включете ги сега",
"What's New": "Какво ново",
"Update": "Актуализиране",
"What's new?": "Какво ново?",
"A new version of Riot is available.": "Налична е нова версия на Riot.",
"To return to your account in future you need to <u>set a password</u>": "За да се върнете в профила си в бъдеще, трябва да <u>зададете парола</u>",
"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": "Вид на събитие",
"Send Account Data": "Изпращане на Account Data",
"Filter results": "Филтриране на резултати",
"Edit": "Редактирай",
"Toolbox": "Инструменти",
"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": "Препрати съобщението",
"Reply": "Отговори",
"Unpin Message": "Откачи съобщението",
"Pin Message": "Закачи съобщението",
"View Source": "Прегледай източника",
"View Decrypted Source": "Прегледай разшифрования източник",
"Unhide Preview": "Покажи отново прегледа",
"Permalink": "Permalink",
"Quote": "Цитирай",
"Source URL": "URL на източника",
"Online": "Онлайн",
"Away": "Отсъстващ",
"Appear Offline": "Показване като офлайн",
"Failed to remove tag %(tagName)s from room": "Неуспешно премахване на %(tagName)s етикет от стаята",
"Failed to set Direct Message status of room": "Неуспешно настройване на стаята като Директен чат",
"unknown error code": "неизвестен код за грешка",
"Failed to forget room %(errCode)s": "Неуспешно забравяне на стаята %(errCode)s",
"All messages (noisy)": "Всички съобщения (шумно)",
"All messages": "Всички съобщения",
"Mentions only": "Само при споменаване",
"Mute": "Заглуши",
"Leave": "Напусни",
"Forget": "Забрави",
"Reject": "Отхвърли",
"Favourite": "Любим",
"Low Priority": "Нисък приоритет",
"Direct Chat": "Директен чат",
"View Community": "Прегледай общността",
"Sorry, your browser is <b>not</b> able to run Riot.": "За жалост, Вашият браузър <b>не</b> може да пусне Riot.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot използва много разширени браузър харектеристики, някои от които не са налични или са все още експериментални в настоящия Ви браузър.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Моля, инсталирайте <chromeLink>Chrome</chromeLink> или <firefoxLink>Firefox</firefoxLink> за най-добро преживяване.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> и <operaLink>Opera</operaLink> са други алтернативи.",
"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": "Регистрация",
"Members": "Членове",
"%(count)s Members|other": "%(count)s Членове",
"%(count)s Members|one": "%(count)s Член",
"Invite to this room": "Покани в тази стая",
"Files": "Файлове",
"Notifications": "Известия",
"Rooms": "Стаи",
"Hide panel": "Скриване на панела",
"Invite to this community": "Покани в тази общност",
"Add rooms to this community": "Добави стаи в тази общност",
"Failed to get protocol list from Home Server": "Неуспешно получаване на списък с протоколи от Home сървър",
"The Home Server may be too old to support third party networks": "Home сървърът може да е твърде стар, за да поддържа работа с други мрежи",
"Failed to get public room list": "Неуспешно получаване на списък с публични стаи",
"State Key": "State ключ",
"Event Content": "Съдържание на събитието",
"Explore Room State": "Преглед на състоянието на стаята",
"Explore Account Data": "Преглед на данните от профила",
"Developer Tools": "Инструменти за разработчика",
"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": "Не успяхме да намерим съответната Matrix стая",
"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": "още",
"Failed to add tag %(tagName)s to room": "Неуспешно добавяне на %(tagName)s етикет в стаята",
"Expand panel": "Разшири панела",
"Collapse panel": "Свий панела",
"Filter room names": "Филтрирай стаи по име",
"Welcome to Riot.im": "Добре дошли в Riot.im",
"Decentralised, encrypted chat &amp; 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!": "В Matrix съществуват много стаи, свързани към вече съществуващи мрежи (Slack, IRC, Gitter и т.н.) или независими такива. Разгледайте директорията!",
"Chat with Riot Bot": "Чат с Riot Bot",
"Get started with some tips from Riot Bot!": "Започнете с някои съвети от Riot Bot!",
"General discussion about Matrix and Riot": "Обща дискусия относно Matrix и Riot",
"Discussion of all things Matrix!": "Дискусия за всичко свързано с Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop чат",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk чат",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk чат",
"Matrix technical discussions": "Технически дискусии в Matrix",
"Running Matrix services": "Хостинг на Matrix услуги",
"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": "Разработка на услуги в Matrix",
"Support for those using the Matrix spec": "Поддръжка за използващите Matrix спецификацията",
"Design and implementation of E2E in Matrix": "Разработване и внедряване на E2E шифроване в Matrix",
"Implementing VR services with Matrix": "Внедряване на VR услуги с Matrix",
"Implementing VoIP services with Matrix": "Внедряване на VoIP услуги с Matrix",
"Discussion of the Identity Service API": "Дискусия върху API услугата за самоличност",
"Support for those using, running and writing other bridges": "Поддръжка за тези, които използват, работят и пишат Matrix мостове",
"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"
}

View File

@@ -1 +1 @@
{}
{}

1
src/i18n/strings/bs.json Normal file
View File

@@ -0,0 +1 @@
{}

227
src/i18n/strings/ca.json Normal file
View File

@@ -0,0 +1,227 @@
{
"A new version of Riot is available.": "Hi ha una nova versió del Riot disponible.",
"All messages": "Tots els missatges",
"Cancel": "Cancel·la",
"Close": "Tanca",
"%(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",
"Couldn't find a matching Matrix room": "No s'ha pogut trobar una sala de Matrix que coincideixi",
"Failed to add tag %(tagName)s to room": "No s'ha pogut afegir l'etiqueta %(tagName)s a la sala",
"Failed to forget room %(errCode)s": "No s'ha pogut oblidar la sala %(errCode)s",
"Failed to get public room list": "No s'ha pogut obtenir el llistat de sales públiques",
"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 (noisy)": "Tots els missatges (sorollós)",
"Mentions only": "Només mencions",
"Mute": "Silencia",
"Direct Chat": "Xat directe",
"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 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",
"#example": "#exemple",
"Failed to change settings": "No s'han pogut modificar els paràmetres",
"Enable audible notifications in web client": "Habilita les notificacions d'àudio al client web",
"Enable desktop notifications": "Habilita les notificacions d'escriptori",
"Enable email notifications": "Habilita les notificacions per correu electrònic",
"Enable notifications for this account": "Habilita les notificacions per aquest compte",
"Low Priority": "Baixa prioritat",
"Members": "Membres",
"Changelog": "Registre de canvis",
"Describe your problem here.": "Descriu aquí el teu problema.",
"Download this file": "Descarrega aquest fitxer",
"Enable them now": "Habilita-ho ara",
"Error": "Error",
"Favourite": "Favorit",
"Files": "Fitxers",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "També funcionen el <a href=\"http://apple.com/safari\">Safari</a> i l'<a href=\"http://opera.com\">Opera</a>.",
"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 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",
"Collecting app version information": "S'està recollint la informació de la versió de l'aplicació",
"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": "Surt",
"Messages containing <span>keywords</span>": "Missatges que contenen <span>keywords</span>",
"Messages containing my user name": "Missatges que contenen el meu nom d'usuari",
"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",
"Noisy": "Sorollós",
"Notification targets": "Objectius de les notificacions",
"Notifications": "Notificacions",
"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",
"Remove": "Elimina",
"remove %(name)s from the directory.": "elimina %(name)s del directori.",
"Remove from Directory": "Elimina del directori",
"Report a bug": "Informa d'una errada",
"Resend": "Reenvia",
"Search…": "Cerca…",
"Send": "Envia",
"Source URL": "URL origen",
"The server may be unavailable or overloaded": "El servidor pot no estar disponible o sobrecarregat",
"This Room": "Aquesta sala",
"Unavailable": "No disponible",
"Unknown device": "Dispositiu desconegut",
"unknown error code": "codi d'error desconegut",
"What's New": "Novetats",
"What's new?": "Què hi ha de nou?",
"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",
"Thank you!": "Gràcies!",
"Sunday": "Diumenge",
"Monday": "Dilluns",
"Tuesday": "Dimarts",
"Wednesday": "Dimecres",
"Thursday": "Dijous",
"Friday": "Divendres",
"Saturday": "Dissabte",
"Today": "Avui",
"Yesterday": "Ahir",
"OK": "D'acord",
"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ó...",
"Welcome to Riot.im": "Benvingut a Riot.im",
"Chat with Riot Bot": "Conversa amb el Bot de Riot",
"Back": "Enrere",
"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. 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 amb pantalla compartida.",
"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",
"Notifications on the following keywords follow rules which cant 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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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. <br/> Això us permet utilitzar Riot amb un compte de Matrix existent en un servidor d'origen diferent. <br/> <br/> 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 <u>set a password</u>": "Per poder tornar al vostre compte en un futur, heu de <u>set a password</u>",
"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:": "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",
"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": "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",
"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 <b>not</b> able to run Riot.": "Disculpeu, el seu navegador <b>not</b> 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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Si us plau, instal·leu <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> per gaudir d'una millor experiència.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> i <operaLink>Opera</operaLink> 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 usuaris d'altres xarxes s'hi poden unir",
"Search for a room": "Busca una sala",
"Expand panel": "Expandeix el panel",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Xat descentralitzat, encriptat &amp; 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 &amp; Desktop chat": "Riot/Web &amp; Xat d'escriptori",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; Xat de matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; 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",
"%(count)s Members|other": "%(count)s membres",
"%(count)s Members|one": "%(count)s membre",
"Online": "Conectat",
"View Community": "Mira la communitat"
}

230
src/i18n/strings/cs.json Normal file
View File

@@ -0,0 +1,230 @@
{
"Close": "Zavřít",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> a <a href=\"http://opera.com\">Opera</a> fungují také.",
"A new version of Riot is available.": "Je dostupná nová verze Riotu.",
"Notifications": "Upozornění",
"Search": "Hledání",
"All Rooms": "Všechny místnosti",
"Files": "Soubory",
"Filter room names": "Filtrovat místnosti dle názvu",
"Forward Message": "Přeposlat zprávu",
"Invite to this room": "Pozvat do této místnosti",
"Members": "Členové",
"Permalink": "Trvalý odkaz",
"Search…": "Vyhledat…",
"This Room": "Tato místnost",
"View Source": "Zobrazit zdroj",
"Login": "Přihlásit",
"Advanced notification settings": "Pokročilé nastavení upozornění",
"All messages": "Všechny zprávy",
"Cancel": "Storno",
"Changelog": "Seznam změn",
"Describe your problem here.": "Popište zde svůj problém.",
"Direct Chat": "Přímý chat",
"Directory": "Adresář",
"Download this file": "Stáhnout tento soubor",
"Error": "Chyba",
"Failed to change settings": "Nepodařilo se změnit nastavení",
"Failed to get public room list": "Nepodařilo se získat seznam veřejných místností",
"Favourite": "V oblíbených",
"Guests can join": "Hosté mohou vstoupit",
"Hide panel": "Skrýt panel",
"I understand the risks and wish to continue": "Rozumím rizikům a přeji si pokračovat",
"Keywords": "Klíčová slova",
"Leave": "Odejít",
"Loading bug report module": "Nahrává se modul nahlašování chyb",
"Low Priority": "Nízká priorita",
"Mentions only": "Pouze zmínky",
"Messages containing my display name": "Zprávy obsahující mé zobrazované jméno",
"Messages containing <span>keywords</span>": "Zprávy obsahující <span>klíčová slova</span>",
"Messages containing my user name": "Zprávy obsahující mé uživatelské jméno",
"Messages in group chats": "Zprávy ve skupinových chatech",
"Messages sent by bot": "Zprávy poslané robotem",
"more": "více",
"Mute": "Ztlumit",
"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í",
"Can't update user notification settings": "Nelze aktualizovat uživatelské nastavení upozornění",
"delete the alias.": "smazat alias.",
"Set Password": "Nastavit heslo",
"You have successfully set a password and an email address!": "Úspěšně jste si nastavili heslo a e-mailovou adresu!",
"Remember, you can always set an email address in user settings if you change your mind.": "Vězte, že kdybyste si to rozmysleli, e-mailovou adresu můžete kdykoliv doplnit v uživatelském nastavení.",
"Continue": "Pokračovat",
"Please set a password!": "Prosím nastavte si heslo!",
"You have successfully set a password!": "Úspěšně jste si nastavili heslo!",
"Failed to change password. Is your password correct?": "Nepodařilo se změnit heslo. Zadáváte své heslo správně?",
"No update available.": "Není dostupná žádná aktualizace.",
"Downloading update...": "Stahování aktualizace...",
"Welcome to Riot.im": "Vítá vás Riot.im",
"Enable desktop notifications": "Zapnout upozornění na ploše",
"Enable email notifications": "Zapnout upozornění přes e-mail",
"Enable notifications for this account": "Zapnout upozornění na tomto účtu",
"#example": "#příklad",
"Off": "Vypnout",
"On": "Zapnout",
"Operation failed": "Operace se nezdařila",
"Remove %(name)s from the directory?": "Odebrat %(name)s z adresáře?",
"Remove": "Odebrat",
"remove %(name)s from the directory.": "odebrat %(name)s z adresáře.",
"Remove from Directory": "Odebrat z adresáře",
"Report a bug": "Nahlásit chybu",
"Resend": "Poslat znovu",
"Room not found": "Místnost nenalezena",
"Search for a room": "Hledat místnost",
"Send": "Odeslat",
"Send logs": "Odeslat záznamy",
"Source URL": "Zdrojová URL",
"The server may be unavailable or overloaded": "Server může být nedostupný nebo přetížený",
"Unable to join network": "Nelze se připojit k síti",
"Unable to look up room ID from server": "Nelze získat ID místnosti ze serveru",
"Unavailable": "Nedostupné",
"Unknown device": "Neznámé zařízení",
"unknown error code": "neznámý kód chyby",
"Unnamed room": "Nepojmenovaná místnost",
"Update": "Aktualizace",
"What's New": "Co je nového",
"What's new?": "Co je nového?",
"Waiting for response from server": "Čekám na odezvu ze serveru",
"You cannot delete this image. (%(code)s)": "Tento obrázek nemůžete smazat. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Tuto zprávu nemůžete smazat. (%(code)s)",
"You are not receiving desktop notifications": "Nedostáváte upozornění na desktopu",
"Sunday": "Neděle",
"Monday": "Pondělí",
"Tuesday": "Úterý",
"Wednesday": "Středa",
"Thursday": "Čtvrtek",
"Friday": "Pátek",
"Saturday": "Sobota",
"Today": "Dnes",
"Yesterday": "Včera",
"OK": "OK",
"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",
"Collecting logs": "Sbírání logů",
"Couldn't find a matching Matrix room": "Odpovídající Matrix místost nenalezena",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Smazat alias místnosti %(alias)s a odstranit %(name)s z adresáře?",
"Enable audible notifications in web client": "Povolit zvuková upozornění ve webové aplikaci",
"Enable them now": "Povolit nyní",
"Enter keywords separated by a comma:": "Vložte klíčová slova oddělená čárkou:",
"Error saving email notification preferences": "Chyba při ukládání nastavení e-mailových upozornění",
"Failed to add tag %(tagName)s to room": "Nepodařilo se přidat štítek %(tagName)s k místnosti",
"Failed to forget room %(errCode)s": "Nepodařilo se zapomenout místnost %(errCode)s",
"Failed to update keywords": "Nepodařilo se aktualizovat klíčová slova",
"Failed to get protocol list from Home Server": "Z domovského serveru se nepodařilo získat seznam protokolů",
"Failed to remove tag %(tagName)s from room": "Nepodařilo se odstranit štítek %(tagName)s z místnosti",
"Failed to send report: ": "Nepodařilo se odeslat hlášení: ",
"Forget": "Zapomenout",
"(HTTP status %(httpStatus)s)": "(HTTP status %(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:": "Kvůli diagnostice budou spolu s tímto hlášením o chybě odeslány i záznamy z klienta. Chcete-li odeslat pouze text výše, prosím odškrtněte:",
"No rooms to show": "Žádné místnosti k zobrazení",
"Notify for all other messages/rooms": "Upozorni na všechny ostatní zprávy/místnosti",
"Notify me for anything else": "Upozorni mě na cokoliv jiného",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Prosím popište chybu. Co jste dělal/a? Co jste čekal/a, že se stane? Co se stalo?",
"Please describe the bug and/or send logs.": "Prosím popište chybu a/nebo pošlete záznamy.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Prosím nainstalujte si <a href=\"https://www.google.com/chrome\">Chrome</a> nebo <a href=\"https://getfirefox.com\">Firefox</a> pro nejlepší zážitek.",
"Quote": "Citace",
"Reject": "Odmítnout",
"Riot does not know how to join a room on this network": "Riot neví, jak vstoupit do místosti na této síti",
"Riot is not supported on mobile web. Install the app?": "Riot není podporovaný na mobilním webu. Nainstalovat aplikaci?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot používá mnoho pokročilých funkcí, z nichž některé jsou ve vašem současném prohlížeči nedostupné nebo experimentální.",
"Sorry, your browser is <b>not</b> able to run Riot.": "Omlouváme se, váš prohlížeč <b>není</b> schopný spustit Riot.",
"There are advanced notifications which are not shown here": "Jsou k dispozici pokročilá upozornění, která zde nejsou zobrazena",
"Unhide Preview": "Zobrazit náhled",
"Uploaded on %(date)s by %(user)s": "Nahráno %(date)s uživatelem %(user)s",
"Uploading report": "Nahrávám hlášení",
"View Decrypted Source": "Zobrazit dešifrovaný zdroj",
"When I'm invited to a room": "Pokud jsem pozván do místnosti",
"World readable": "Světu čitelné",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Snad jste je nastavili v jiném klientu než Riot. V Riotu je nemůžete upravit, ale přesto platí",
"Error encountered (%(errorDetail)s).": "Nastala chyba (%(errorDetail)s).",
"You need to be using HTTPS to place a screen-sharing call.": "Pro uskutečnění hovoru se sdílením obrazovky musíte používat HTTPS.",
"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!": "Vzhled a chování aplikace může být ve vašem aktuální prohlížeči nesprávné a některé nebo všechny funkce mohou být chybné. Chcete-li i přes to pokračovat, nebudeme vám bránit, ale se všemi problémy, na které narazíte, si musíte poradit sami!",
"Search the room directory": "Prohledat adresář místností",
"Chat with Riot Bot": "Chatujte s Riot Botem",
"Get started with some tips from Riot Bot!": "Začněte s radami od Riot Bota!",
"General discussion about Matrix and Riot": "Obecná diskuse o Matrixu a Riotu",
"Discussion of all things Matrix!": "Diskuse o všem okolo Matrixu!",
"Matrix technical discussions": "Technické diskuse o Matrixu",
"Running Matrix services": "Provozování Matrix služeb",
"Community-run support for Synapse": "Komunitou řízená podpora pro Synapse",
"Announcements about Synapse releases": "Oznámení o vydáních Synapse",
"Support for those using and running matrix-appservice-irc": "Podpora pro používání matrix-appservice-irc",
"Building services on Matrix": "Stavění služeb na Matrixu",
"Add an email address above to configure email notifications": "Abyste mohli nastavovat e-mailová upozornění, musíte uvést svoji e-mailovou adresu v kolonce výše",
"Call invitation": "Pozvánka k hovoru",
"Collapse panel": "Sbalit panel",
"Dismiss": "Zahodit",
"Expand panel": "Rozbalit panel",
"Failed to set direct chat tag": "Nepodařilo se nastavit štítek přímého chatu",
"Failed to set Direct Message status of room": "Nepodařilo se přiřadit místnosti status Přímé zprávy",
"powered by Matrix": "poháněno Matrixem",
"Riot Desktop on %(platformName)s": "Riot Desktop na %(platformName)s",
"The Home Server may be too old to support third party networks": "Tento domovský server může být příliš zastaralý na to, aby podporoval sítě třetích stran",
"Admin support for Dendrite": "Správcovská podpora pro Dendrite",
"Support for those using the Matrix spec": "Podpora pro uživatele Matrix specifikace",
"Design and implementation of E2E in Matrix": "Návrh a implementace E2E v Matrixu",
"Implementing VR services with Matrix": "Implementace VR služeb v Matrixu",
"Implementing VoIP services with Matrix": "Implementace VoIP služeb v Matrixu",
"Support for those using, running and writing other bridges": "Podpora pro ty, kteří používají, provozují nebo vyvíjejí ostatní můstky",
"Contributing code to Matrix and Riot": "Přispívaní kódem do Matrixu a Riotu",
"Dev chat for the Riot/Web dev team": "Chat vývojového týmu Riot/Web",
"Dev chat for the Dendrite dev team": "Chat vývojového týmu Dendrite",
"Co-ordination for Riot/Web translators": "Součinnost překladatelů Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "V Matrixu je spousta samostatných, nebo s jinými sítěmi (Slack, IRC, Gitter aj.) propojených místností. Prohlédněte si jejich adresář!",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s přes %(browserName)s na %(osName)s",
"customServer_text": "Ve vlastních serverových volbách se můžete přihlásit na ostatní Matrix servery, a to tak, že určíte URL jiného domovského serveru.<br/>To znamená, že můžete používat Riot s již existujícím Matrix účtem na jiném domovském serveru.<br/><br/>Taky můžete nastavit vlastní server identity, pak ale nebudete moci zvát ostatní nebo naopak být ostatními zván prostřednictvím e-mailové adresy.",
"Custom Server Options": "Vlastní serverové volby",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizovaný, šifrovaný chat a spolupráce na platformě [matrix]",
"Riot/Web &amp; Desktop chat": "Riot/Web a Desktop chat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS a matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android a matrix-android-sdk chat",
"To return to your account in future you need to <u>set a password</u>": "Abyste se mohli ke svému účtu v budoucnu vrátit, musíte si <u>nastavit heslo</u>",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Toto vám umožní vrátit se po odhlášení ke svému účtu a používat jej na ostatních zařízeních.",
"You can now return to your account after signing out, and sign in on other devices.": "Nyní se můžete ke svému účtu vrátit i po odhlášení a používat jej na ostatních zařízeních.",
"Fetching third party location failed": "Nepodařilo se zjistit umístění třetí strany",
"Messages in one-to-one chats": "Zprávy v individuálních chatech",
"Notification targets": "Cíle upozornění",
"Notifications on the following keywords follow rules which cant be displayed here:": "Upozornění na následující klíčová slova se řídí pravidly, která zde nelze zobrazit:",
"Unable to fetch notification target list": "Nepodařilo se získat seznam cílů upozornění",
"Discussion of the Identity Service API": "Diskuze o API služby identity",
"Noisy": "Hlučný",
"Bug report sent": "Hlášení o chybě bylo odesláno",
"Thank you!": "Děkujeme vám!",
"Back": "Zpět",
"Event Type": "Typ události",
"Event Content": "Obsah události",
"Developer Tools": "Nástroje pro vývojáře",
"Filter results": "Filtrovat výsledky",
"You must specify an event type!": "Musíte určit typ události!",
"Event sent!": "Událost odeslána!",
"Failed to send custom event.": "Nepodařilo se odeslat vlastní událost.",
"Send Custom Event": "Odeslat vlastní událost",
"Show message in desktop notification": "Zobrazovat zprávu v upozornění na ploše",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.": "Přes vlastní serverové volby se můžete přihlásit k dalším Matrix serverům tak, že zadáte jinou adresu domovského serveru.<br/>Díky tomu můžete v Riotu používat Matrix účet z jiného domovského serveru.<br/><br/>Můžete nastavit i vlastní server identity, ale pak už nebudete moci zvát ani být zván/a skrze e-mailovou adresu.",
"Edit": "Upravit",
"Pin Message": "Připíchnout zprávu",
"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 skupiny",
"State Key": "Stavový klíč",
"Send Custom State Event": "Poslat vlastní stavovou událost",
"Explore Room State": "Prohlížet stav místnosti",
"Unpin Message": "Odepnout zprávu",
"Toolbox": "Sada nástrojů",
"Send Account Data": "Poslat data o účtu",
"Explore Account Data": "Prozkoumat data o účtu",
"Appear Offline": "Jevit se offline",
"Away": "Pryč",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Pro nejlepší zážitek si prosím nainstalujte <chromeLink>Chrome</chromeLink> nebo <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> a <operaLink>Opera</operaLink> fungují taky.",
"Reply": "Odpovědět",
"Online": "Online",
"View Community": "Zobrazit Komunitu",
"%(count)s Members|other": "%(count)s Členů",
"%(count)s Members|one": "%(count)s Člen"
}

View File

@@ -2,17 +2,13 @@
"Add an email address above to configure email notifications": "Tilføj en emailadresse ovenfor for at konfigurere e-mail-underretninger",
"All notifications are currently disabled for all targets.": "Alle meddelelser er for øjeblikket deaktiveret for alle mål.",
"An error occurred whilst saving your email notification preferences.": "Der opstod en fejl under opbevaring af dine e-mail-underretningsindstillinger.",
"and remove": "Og fjern",
"Can't update user notification settings": "Kan ikke opdatere brugermeddelelsesindstillinger",
"Create new room": "Opret nyt rum",
"Couldn't find a matching Matrix room": "Kunne ikke finde et matchende Matrix-rum",
"Custom Server Options": "Brugerdefinerede serverindstillinger",
"delete the alias.": "Slet aliaset.",
"Delete the room alias": "Slet room alias",
"Direct Chat": "Personligt Chat",
"Directory": "Rum fortegnelse",
"Direct Chat": "Personlig Chat",
"Directory": "Rum katalog",
"Dismiss": "Afskedige",
"Drop here to": "Drop her til",
"Enable audible notifications in web client": "Aktivér hørbare underretninger i webklienten",
"Enable desktop notifications": "Aktivér desktop meddelelser",
"Enable email notifications": "Aktivér e-mail-underretninger",
@@ -22,63 +18,204 @@
"Error": "Fejl",
"Error saving email notification preferences": "Fejl ved at gemme e-mail-underretningsindstillinger",
"#example": "#eksempel",
"Failed to": "Var ikke i stand til at",
"Failed to add tag ": "Kunne ikke tilføje tag ",
"Failed to change settings": "Kunne ikke ændre indstillinger",
"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 join the room": "Kunne ikke komme ind i rumet",
"Failed to remove tag ": "Kunne ikke fjerne tag ",
"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",
"from the directory": "fra fortegnelsen",
" from room": " fra rum",
"Guests can join": "Gæster kan deltage",
"Guest users can't invite users. Please register to invite.": "Gæstebrugere kan ikke invitere brugere. Tilmeld dig venligst for at invitere.",
"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 cant 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",
"Off": "Slukket",
"On": "Tændt",
"Operation failed": "Operation mislykkedes",
"Please Register": "Vær venlig at registrere",
"powered by Matrix": "Drevet af Matrix",
"Reject": "Afvise",
"Remove": "Fjerne",
"remove": "fjerner",
"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 directory": "Rum fortegnelse",
"Room not found": "Rumet ikke fundet",
"Room not found": "Rummet ikke fundet",
"Search for a room": "Søg efter et rum",
"Settings": "Indstillinger",
"Start chat": "Begyndt chat",
"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",
"This room is inaccessible to guests. You may be able to join if you register.": "Dette rum er utilgængeligt for gæster. Du kan være i stand til at deltage, hvis du registrerer dig.",
" to room": " til rum",
"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 <span>keywords</span>": "Beskeder der indeholder <span>keywords</span>",
"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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br/>Dette tillader dig at bruge Riot med en eksisterende Matrix konto på en anden home server.<br/><br/>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 <u>set a password</u>": "For at komme ind på din konto i fremtiden skal du <u>indstille et password</u>",
"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 <b>not</b> able to run Riot.": "Beklager, din browser kan <b>ikke</b> 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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Installer venligst <chromeLink>Chrome</chromeLink> eller <firefoxLink>Firefox</firefoxLink> for den bedste oplevelse.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> og <operaLink>Opera</operaLink> 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 &amp; collaboration powered by [matrix]": "Decentraliseret, krypteret chat &amp; 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 &amp; Desktop chat": "Riot/Web- &amp; Desktopchat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; 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"
}

View File

@@ -1,59 +1,43 @@
{
"Please Register": "Bitte registrieren",
"Guest users can't invite users. Please register to invite.": "Gäste können keine Nutzer einladen. Bitte registriere dich, um Nutzer einzuladen.",
"Members": "Mitglieder",
"Files": "Dateien",
"Notifications": "Benachrichtigungen",
"Invite to this room": "In diesen Raum einladen",
"Filter room names": "Raum-Namen filtern",
"Start chat": "Chat starten",
"Room directory": "Raum-Verzeichnis",
"Create new room": "Neuen Raum erstellen",
"Settings": "Einstellungen",
"powered by Matrix": "betrieben mit Matrix",
"Custom Server Options": "Erweiterte Server-Optionen",
"Custom Server Options": "Benutzerdefinierte Server-Optionen",
"Dismiss": "Ablehnen",
"Failed to get protocol list from Home Server": "Fehler beim Abrufen der Protokoll-Liste vom Home-Server",
"The Home Server may be too old to support third party networks": "Der Home-Server ist eventuell zu alt, um Drittanbieter-Netzwerke zu unterstützen",
"Directory": "Raum-Verzeichnis",
"#example:": "#beispiel:",
"Search for a room": "Nach einem Raum suchen",
"No rooms to show": "Keine Räume zum anzeigen",
"World readable": "Alle können mitlesen",
"No rooms to show": "Keine anzeigbaren Räume",
"World readable": "Lesbar für alle",
"Guests can join": "Gäste können beitreten",
"You are not receiving desktop notifications": "Du erhältst keine Desktop-Benachrichtigungen",
"Enable them now": "Aktiviere diese jetzt",
"Add an email address above to configure email notifications": "Füge oben eine E-Mail-Adresse hinzu, um die E-Mail-Benachrichtigungseinstellungen zu konfigurieren",
"All notifications are currently disabled for all targets.": "Im Moment sind alle Benachrichtigungen für alle Ziele deaktiviert.",
"All notifications are currently disabled for all targets.": "Aktuell sind alle Benachrichtigungen für alle Ziele deaktiviert.",
"An error occurred whilst saving your email notification preferences.": "Beim Speichern deiner E-Mail-Benachrichtigungseinstellungen ist ein Fehler aufgetreten.",
"and remove": "und entfernen",
"Can't update user notification settings": "Benachrichtigungs-Einstellungen des Nutzers konnten nicht aktualisiert werden",
"Can't update user notification settings": "Benachrichtigungs-Einstellungen des Benutzers konnten nicht aktualisiert werden",
"Couldn't find a matching Matrix room": "Konnte keinen entsprechenden Matrix-Raum finden",
"delete the alias.": "Lösche den Alias.",
"Delete the room alias": "Lösche den Raum Alias",
"Direct Chat": "Privater Chat",
"Drop here to": "Hier ablegen",
"Direct Chat": "Direkt-Chat",
"Enable audible notifications in web client": "Audio-Benachrichtigungen im Web-Client aktivieren",
"Enable desktop notifications": "Desktop-Benachrichtigungen aktivieren",
"Enable email notifications": "E-Mail-Benachrichtigungen aktivieren",
"Enable notifications for this account": "Benachrichtigungen für dieses Konto aktivieren",
"Enable notifications for this account": "Benachrichtigungen für dieses Benutzerkonto aktivieren",
"Enter keywords separated by a comma:": "Schlüsselwörter kommagetrennt eingeben:",
"Error": "Fehler",
"Error saving email notification preferences": "Fehler beim Speichern der E-Mail-Benachrichtigungseinstellungen",
"#example": "#Beispiel",
"Failed to": "Konnte nicht",
"Failed to add tag ": "Konnte Tag nicht hinzufügen ",
"Failed to change settings": "Einstellungen konnten nicht geändert werden",
"Failed to update keywords": "Schlüsselwörter konnten nicht aktualisiert werden",
"Failed to get public room list": "Die Liste der öffentlichen Räume konnte nicht geladen werden",
"Failed to join the room": "Fehler beim Betreten des Raumes",
"Failed to remove tag ": "Konnte Tag nicht entfernen ",
"Failed to set Direct Message status of room": "Konnte den direkten Benachrichtigungsstatus nicht setzen",
"Favourite": "Favorit",
"Fetching third party location failed": "Das Abrufen des Drittanbieterstandorts ist fehlgeschlagen",
"Forget": "Entfernen",
"from the directory": "aus dem Verzeichnis",
" from room": " aus dem Raum",
"Keywords": "Schlüsselwörter",
"Leave": "Verlassen",
"Low Priority": "Niedrige Priorität",
@@ -62,15 +46,13 @@
"Notifications on the following keywords follow rules which cant be displayed here:": "Die Benachrichtigungen zu den folgenden Schlüsselwörtern folgen Regeln, die hier nicht angezeigt werden können:",
"Notify for all other messages/rooms": "Benachrichtigungen für alle anderen Mitteilungen/Räume aktivieren",
"Operation failed": "Aktion fehlgeschlagen",
"Reject": "ablehnen",
"Reject": "Ablehnen",
"Remove": "Entfernen",
"remove": "Entferner",
"Remove from Directory": "Aus dem Raum-Verzeichnis entfernen",
"Riot does not know how to join a room on this network": "Riot weiß nicht, wie es einem Raum auf diesem Netzwerk beitreten soll",
"Room not found": "Raum nicht gefunden",
"There are advanced notifications which are not shown here": "Es existieren erweiterte Benachrichtigungen, welche hier nicht angezeigt werden",
"The server may be unavailable or overloaded": "Der Server ist vermutlich nicht erreichbar oder überlastet",
"This room is inaccessible to guests. You may be able to join if you register.": "Dieser Raum ist nicht verfügbar für Gäste. Vermutlich klappt es wenn du dich anmeldest.",
"Unable to fetch notification target list": "Liste der Benachrichtigungsempfänger konnte nicht abgerufen werden",
"Unable to join network": "Es ist nicht möglich, dem Netzwerk beizutreten",
"unknown error code": "Unbekannter Fehlercode",
@@ -78,31 +60,28 @@
"Notify me for anything else": "Über alles andere benachrichtigen",
"Off": "Aus",
"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 Client als Riot konfiguriert. Sie können in Riot nicht verändert werden, gelten aber trotzdem",
" to room": " an Raum",
"Drop here %(toAction)s": "Hierher ziehen: %(toAction)s",
"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?",
"Download this file": "Diese Datei herunterladen",
"Failed to add tag %(tagName)s to room": "Das Hinzufügen des Tags %(tagName)s für den Raum ist fehlgeschlagen",
"Download this file": "Datei herunterladen",
"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",
"Quote": "Zitat",
"Redact": "Redaktionell entfernen",
"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",
"Source URL": "Quell-URL",
"Unable to look up room ID from server": "Es ist nicht möglich, die Raum-ID auf dem Server nachzuschlagen",
"Unhide Preview": "Vorschau wieder anzeigen",
"Uploaded on %(date)s by %(user)s": "Hochgeladen am %(date)s durch %(user)s",
"Uploaded on %(date)s by %(user)s": "Hochgeladen: %(date)s von %(user)s",
"View Decrypted Source": "Entschlüsselten Quellcode ansehen",
"View Source": "Quellcode ansehen",
"You cannot delete this image. (%(code)s)": "Das Bild kann nicht gelöscht werden. (%(code)s)",
@@ -116,7 +95,6 @@
"Sunday": "Sonntag",
"Monday": "Montag",
"Yesterday": "Gestern",
"Welcome page": "Willkommensseite",
"Advanced notification settings": "Erweiterte Benachrichtigungs-Einstellungen",
"Call invitation": "Anruf-Einladung",
"Messages containing my display name": "Nachrichten, die meinen Anzeigenamen enthalten",
@@ -129,83 +107,124 @@
"customServer_text": "Du kannst die erweiterten Server-Optionen nutzen, um dich auf anderen Matrix-Servern anzumelden, indem du eine andere Heimserver-URL eingibst. <br/>Dies ermöglicht es dir, Riot mit einem bereits existierenden Matrix-Konto auf einem anderen Heimserver zu nutzen.<br/><br/>Du kannst auch einen benutzerdefinierten Identitäts-Server eingeben, allerdings wirst du dann nicht in der Lage sein, andere Benutzer per E-Mail-Adresse einzuladen oder selbst Einladungen per E-Mail-Adresse zu erhalten.",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> und <a href=\"http://opera.com\">Opera</a> funktionieren ebenfalls.",
"I understand the risks and wish to continue": "Ich verstehe das Risiko und möchte fortfahren",
"Messages containing <span>keywords</span>": "Nachrichten, die definierte <span>Schlüsselwörter</span> enthalten",
"Messages containing <span>keywords</span>": "Nachrichten, die <span>Schlüsselwörter</span> enthalten",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Bitte installiere <a href=\"https://www.google.com/chrome\">Chrome</a> oder <a href=\"https://getfirefox.com\">Firefox</a> für die beste Erfahrung.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot nutzt zahlreiche fortgeschrittene Browser-Funktionen, die teilweise in deinem aktuell verwendeten Browser noch nicht verfügbar sind oder sich noch im experimentellen Status befinden.",
"Sorry, your browser is <b>not</b> able to run Riot.": "Es tut uns leid, aber dein Browser kann Riot <b>nicht</b> ausführen.",
"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!": "In deinem aktuellen Browser kann das Aussehen und Gefühl der Anwendung komplett inkorrekt sein und einige oder alle Funktionen funktionieren evtl. nicht. Du kannst es trotzdem versuchen und fortfahren, aber du bist alleine mit allen Problemen auf die du stößt!",
"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!": "In deinem aktuell verwendeten Browser können Aussehen und Handhabung der Anwendung unter Umständen noch komplett fehlerhaft sein, so dass einige bzw. im Extremfall alle Funktionen nicht zur Verfügung stehen. Du kannst es trotzdem versuchen und fortfahren, bist dabei aber bezüglich aller auftretenden Probleme auf dich allein gestellt!",
"Expand panel": "Panel ausklappen",
"Collapse panel": "Panel einklappen",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s auf %(osName)s",
"A new version of Riot is available.": "Eine neue Version von Riot ist verfügbar.",
"All Rooms": "Alle Räume",
"All Rooms": "In allen Räumen",
"Cancel": "Abbrechen",
"Changelog": "Änderungshistorie",
"Changelog": "Änderungsprotokoll",
"Collecting app version information": "App-Versionsinformationen werden abgerufen",
"Collecting logs": "Protokolle werden abgerufen",
"Describe your problem here.": "Beschreibe dein Problem hier.",
"Failed to send report: ": "Senden des Reports fehlgeschlagen: ",
"Forward Message": "Nachricht weiterleiten",
"Hide panel": "Verberge Feld",
"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:": "Um Probleme zu diagnostizieren werden mit diesem Fehlerbericht Protokolle von diesem Client gesendet. Wenn du nur obigen text senden willst, deselektiere folgendes:",
"Hide panel": "Panel verbergen",
"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:": "Zur Diagnose von Softwareproblemen werden mit diesem Fehlerbericht auch Log-Dateien übermittelt. Wenn nur der oben eingegebene Text übermittelt werden soll, bitte die nachfolgende Auswahl entsprechend abwählen:",
"Loading bug report module": "Lade Fehlerbericht-Modul",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bitte beschreibe (vorzugsweise auf Englisch) den Fehler. Was tatst du? Was wolltest du, dass es passiert? Was ist passiert?",
"Please describe the bug and/or send logs.": "Bitte beschreibe den Fehler und/oder sende Protokolle.",
"Report a bug": "Einen Fehler melden",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bitte den Softwarefehler (vorzugsweise auf Englisch) beschreiben. Was hast du gemacht? Was sollte passieren? Was ist tatsächlich passiert?",
"Please describe the bug and/or send logs.": "Bitte den Fehler beschreiben und/oder Log-Dateien übermitteln.",
"Report a bug": "Einen Softwarefehler melden",
"Riot Desktop on %(platformName)s": "Riot Desktop auf %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot wird im mobilen Web nicht unterstützt. App installieren?",
"Search": "Suchen",
"Search…": "Suchen…",
"Send": "Sende",
"Send logs": "Sende Protokolle",
"This Room": "Dieser Raum",
"Send": "Senden",
"Send logs": "Logdateien übermitteln",
"This Room": "In diesem Raum",
"Unavailable": "Nicht verfügbar",
"Unknown device": "Unbekanntes Gerät",
"Update": "Aktualisiere",
"Update": "Aktualisieren",
"Uploading report": "Lade Bericht hoch",
"What's New": "Was ist neu",
"What's new?": "Was ist neu?",
"Waiting for response from server": "Auf Antwort vom Server warten",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Du verwendest Riot als Gast. <a>Registriere</a> oder <a>melde dich an</a> um Zugang zu mehr Räumen und Funktionen zu bekommen!",
"You need to be using HTTPS to place a screen-sharing call.": "Du musst HTTPS nutzen um einen Anruf mit Bildschirmfreigabe durchzuführen.",
"OK": "OK",
"Login": "Anmeldung",
"Welcome to Riot.im": "Willkommen bei Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dezentralisierter, verschlüsselter Chat &amp; Zusammenarbeit unterstützt von [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dezentrale, verschlüsselte Chat- &amp; Kollaborationslösung unterstützt von [matrix]",
"Search the room directory": "Raum-Verzeichnis durchsuchen",
"Chat with Riot Bot": "Chatte mit dem Riot-Bot",
"Get started with some tips from Riot Bot!": "Beginne mit einigen Tipps vom Riot-Bot!",
"General discussion about Matrix": "Allgemeine Diskussion über Matrix",
"Chat with Riot Bot": "Mit dem Riot-Bot chatten",
"Get started with some tips from Riot Bot!": "Lass Dir vom Riot-Bot eine Einführung geben!",
"Discussion of all things Matrix!": "\"Diskussion über alle Dinge\"-Matrix!",
"Riot/Web &amp; Desktop chat": "Riot-Web &amp; Desktop-Chat",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop-Chat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot-iOS &amp; \"matrix-ios-sdk\"-Chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot-Android &amp; matrix-android-sdk-Chat",
"Matrix technical discussions": "Technische Diskussion über Matrix",
"Running Matrix services": "Matrix-Dienste betreiben",
"Community-run support for Synapse": "Synapse-Support von der Community",
"Community-run support for Synapse": "Support für Synapse von der Community",
"Admin support for Dendrite": "Admin-Unterstützung für Dendrite",
"Announcements about Synapse releases": "Ankündigungen über Synapse-Versionen",
"Support for those using and running matrix-appservice-irc": "Unterstützung für die, die \"matrix-appservice-irc\" betreiben und nutzen",
"Building services on Matrix": "Dienste bauen für Matrix",
"Building services on Matrix": "Dienste für Matrix entwickeln",
"Support for those using the Matrix spec": "Unterstützung für die Nutzer der Matrix-Spezification",
"Design and implementation of E2E in Matrix": "Design und Implementierung von Ende-zu-Ende-Verschlüsselung in Matrix",
"Implementing VR services with Matrix": "Implementierung von VR-Diensten mit Matrix",
"Implementing VoIP services with Matrix": "Implementierung von VoIP-Diensten mit Matrix",
"Discussion of the Identity Service API": "Diskussion der Identitätsdienst-API",
"Support for those using, running and writing other bridges": "Unterstützung für die, die andere Brücken nutzen, betreiben oder schreiben",
"Support for those using, running and writing other bridges": "Unterstützung für die, die andere Matrix-Bridges nutzen, betreiben oder entwickeln",
"Contributing code to Matrix and Riot": "Code zu Matrix und Riot beitragen",
"Dev chat for the Riot/Web dev team": "Entwickler-Chat für das Riot-Web-Entwickler-Team",
"Dev chat for the Riot/Web dev team": "Entwickler-Chat für das Riot/Web-Entwickler-Team",
"Co-ordination for Riot/Web translators": "Koordination für Riot/Web-Übersetzer",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Im Matrix-Netzwerk gibt es bereits jetzt zahlreiche Räume, die entweder mit bekannten Netzwerken wie Slack, IRC, Gitter, usw. verknüpft sind oder auch komplett eigenständig betrieben werden. Einen genauen Überblick erhältst du im Raum-Verzeichnis!",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Im Matrix-Netzwerk existieren bereits jetzt zahlreiche Räume, die entweder mit bekannten Netzwerken wie Slack, IRC, Gitter, usw. verknüpft sind oder auch komplett eigenständig betrieben werden. Einen genauen Überblick erhältst du im Raum-Verzeichnis!",
"Failed to change password. Is your password correct?": "Passwortänderung fehlgeschlagen. Ist dein Passwort richtig?",
"You have successfully set a password!": "Du hast erfolgreich ein Passwort gesetzt!",
"You can now return to your account after signing out, and sign in on other devices.": "Du kannst nun zu deinem Konto zurückkehren nach dem du dich an anderen Geräten ab- und angemeldet hast.",
"You can now return to your account after signing out, and sign in on other devices.": "Du kannst nun zu deinem Benutzerkonto zurückkehren, nachdem du dich abgemeldet hast. Anschließend kannst du dich an anderen Geräten anmelden.",
"Continue": "Fortfahren",
"Please set a password!": "Bitte ein Passwort einrichten!",
"Please set a password!": "Bitte setze ein Passwort!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Dies erlaubt dir, dich wieder an deinem Konto anzumelden, nachdem du dich abgemeldet hast.",
"Dev chat for the Dendrite dev team": "Entwickler-Chat für das Dendrite-Entwickler-Team",
"General discussion about Matrix and Riot": "Allgemeine Diskussion über Matrix und Riot",
"(HTTP status %(httpStatus)s)": "(HTTP-Status %(httpStatus)s)",
"You have successfully set a password and an email address!": "Du hast erfolgreich ein Passwort und eine E-Mail-Adresse gesetzt!",
"Remember, you can always set an email address in user settings if you change your mind.": "Denk daran, dass du in den Benutzereinstellungen jederzeit eine E-Mail-Adresse setzen kannst."
"Remember, you can always set an email address in user settings if you change your mind.": "Vergiss nicht, dass du in den Benutzereinstellungen jederzeit eine E-Mail-Adresse setzen kannst, wenn du deine Meinung änderst.",
"To return to your account in future you need to <u>set a password</u>": "Um in Zukunft auf dein Benutzerkonto zugreifen zu können, musst du <u>ein Passwort setzen</u>",
"Set Password": "Passwort einrichten",
"Warning": "Warnung",
"Checking for an update...": "Nach Updates suchen...",
"Error encountered (%(errorDetail)s).": "Es ist ein Fehler aufgetreten (%(errorDetail)s).",
"No update available.": "Kein Update verfügbar.",
"Downloading update...": "Update wird heruntergeladen...",
"Couldn't load home page": "Startseite konnte nicht geladen werden",
"Bug report sent": "Fehlerbericht wurde gesendet",
"Thank you!": "Danke!",
"Back": "Zurück",
"Developer Tools": "Entwicklerwerkzeuge",
"Failed to send custom event.": "Senden des benutzerdefinierten Events fehlgeschlagen.",
"Send Custom Event": "Benutzerdefiniertes Event senden",
"Send Custom State Event": "Benutzerdefiniertes Status-Event senden",
"Explore Room State": "Raum-Status erkunden",
"Event sent!": "Event gesendet!",
"Event Type": "Event-Typ",
"Event Content": "Event-Inhalt",
"State Key": "Status-Schlüssel",
"Filter results": "Ergebnisse filtern",
"You must specify an event type!": "Du musst einen Event-Typ spezifizieren!",
"Show message in desktop notification": "Nachricht in der Desktop-Benachrichtigung anzeigen",
"Pin Message": "Nachricht anheften",
"Unpin Message": "Nachricht nicht mehr anheften",
"Add rooms to this community": "Räume zu dieser Community hinzufügen",
"Edit": "Editieren",
"Register": "Registrieren",
"Rooms": "Räume",
"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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br/>Somit ist es möglich, Riot mit einem bereits bestehendem Matrix-Benutzerkonto auf einem anderen Heimserver zu verwenden.<br/><br/>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",
"Away": "Abwesend",
"Appear Offline": "Als offline anzeigen",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> und <operaLink>Opera</operaLink> sind weitere Alternativen.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Bitte installiere <chromeLink>Chrome</chromeLink> oder <firefoxLink>Firefox</firefoxLink> für ein optimales Anwendungsergebnis.",
"Reply": "Antworten",
"%(count)s Members|other": "%(count)s Mitglieder",
"%(count)s Members|one": "%(count)s Mitglied",
"Online": "Online",
"View Community": "Community ansehen"
}

View File

@@ -12,7 +12,6 @@
"Changelog": "Αλλαγές",
"Close": "Κλείσιμο",
"Collapse panel": "Ελαχιστοποίηση καρτέλας",
"Create new room": "Δημιουργία νέου δωματίου",
"Custom Server Options": "Προσαρμοσμένες ρυθμίσεις διακομιστή",
"Describe your problem here.": "Περιγράψτε το πρόβλημα σας εδώ.",
"Direct Chat": "Απευθείας συνομιλία",
@@ -30,20 +29,17 @@
"Collecting app version information": "Συγκέντρωση πληροφοριών σχετικά με την έκδοση της εφαρμογής",
"customServer_text": "Μπορείτε να χρησιμοποιήσετε τις προσαρμοσμένες ρυθμίσεις για να εισέλθετε σε άλλους διακομιστές Matrix επιλέγοντας μια διαφορετική διεύθυνση για το διακομιστή.<br/> Αυτό σας επιτρέπει να χρησιμοποιήσετε την εφαρμογή Riot με έναν υπάρχοντα λογαριασμό σε διαφορετικό διακομιστή.<br/><br/>Επίσης μπορείτε να επιλέξετε ένα διαφορετικό διακομιστή ταυτότητας αλλά δεν θα έχετε τη δυνατότητα να προσκαλέσετε άλλους χρήστες ή να σας προσκαλέσουν μέσω μηνυμάτων ηλεκτρονικής αλληλογραφίας.",
"%(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": "Απόρριψη",
"Failed to add tag %(tagName)s to room": "Δεν ήταν δυνατή η προσθήκη της ετικέτας %(tagName)s στο δωμάτιο",
"Failed to change settings": "Δεν ήταν δυνατή η αλλαγή των ρυθμίσεων",
"Failed to join the room": "Δεν ήταν δυνατή η σύνδεση στο δωμάτιο",
"Favourite": "Αγαπημένο",
"Files": "Αρχεία",
"Filter room names": "Φιλτράρισμα δωματίων",
"Forward Message": "Προώθηση",
" from room": " από το δωμάτιο",
"Guests can join": "Επισκέπτες μπορούν να συνδεθούν",
"Guest users can't invite users. Please register to invite.": "Οι επισκέπτες δεν έχουν τη δυνατότητα να προσκαλέσουν άλλους χρήστες. Παρακαλούμε εγγραφείτε πρώτα.",
"Hide panel": "Απόκρυψη καρτέλας",
"I understand the risks and wish to continue": "Κατανοώ του κινδύνους και επιθυμώ να συνεχίσω",
"Invite to this room": "Πρόσκληση σε αυτό το δωμάτιο",
@@ -66,20 +62,15 @@
"Notify me for anything else": "Ειδοποίηση για οτιδήποτε άλλο",
"Operation failed": "Η λειτουργία απέτυχε",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Παρακαλούμε περιγράψτε το σφάλμα. Τι κάνατε; Τι περιμένατε να συμβεί; Τι έγινε τελικά;",
"Please Register": "Παρακαλούμε εγγραφείτε",
"Redact": "Ανάκληση",
"Reject": "Απόρριψη",
"Remove": "Αφαίρεση",
"Remove from Directory": "Αφαίρεση από το ευρετήριο",
"Resend": "Αποστολή ξανά",
"Riot Desktop on %(platformName)s": "Riot Desktop σε %(platformName)s",
"Room directory": "Ευρετήριο",
"Room not found": "Το δωμάτιο δεν βρέθηκε",
"Search": "Αναζήτηση",
"Search…": "Αναζήτηση…",
"Send": "Αποστολή",
"Settings": "Ρυθμίσεις",
"Start chat": "Έναρξη συνομιλίας",
"This Room": "Στο δωμάτιο",
"Unavailable": "Μη διαθέσιμο",
"Unknown device": "Άγνωστη συσκευή",
@@ -99,7 +90,6 @@
"Search for a room": "Αναζήτηση δωματίου",
"Sorry, your browser is <b>not</b> able to run Riot.": "Λυπούμαστε, αλλά ο περιηγητές σας <b>δεν</b> υποστηρίζεται από το Riot.",
"There are advanced notifications which are not shown here": "Υπάρχουν προχωρημένες ειδοποιήσεις οι οποίες δεν εμφανίζονται εδώ",
"This room is inaccessible to guests. You may be able to join if you register.": "Το δωμάτιο δεν είναι προσβάσιμο σε επισκέπτες. Πιθανόν να μπορέσετε να συνδεθείτε εάν εγγραφείτε.",
"Unable to join network": "Δεν είναι δυνατή η σύνδεση στο δίκτυο",
"unknown error code": "άγνωστος κωδικός σφάλματος",
"Unnamed room": "Ανώνυμο δωμάτιο",
@@ -123,12 +113,10 @@
"Yesterday": "Χθές",
"OK": "Εντάξει",
"You need to be using HTTPS to place a screen-sharing call.": "Απαιτείται η χρήση HTTPS για το διαμοιρασμό της επιφάνειας εργασίας μέσω κλήσης.",
"Welcome page": "Αρχική σελίδα",
"Forget": "Παράλειψη",
"Riot is not supported on mobile web. Install the app?": "Το Riot δεν υποστηρίζεται από περιηγητές κινητών. Θέλετε να εγκαταστήσετε την εφαρμογή;",
"Unhide Preview": "Προεπισκόπηση",
"Waiting for response from server": "Αναμονή απάντησης από τον διακομιστή",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Χρησιμοποιείτε το Riot ως επισκέπτης. <a>Εγγραφείτε</a> ή <a>συνδεθείτε</a> για να αποκτήσετε πρόσβαση σε περισσότερα δωμάτια και χαρακτηριστικά!",
"Collecting logs": "Συγκέντρωση πληροφοριών",
"Enable them now": "Ενεργοποίηση",
"Failed to forget room %(errCode)s": "Δεν ήταν δυνατή η διαγραφή του δωματίου (%(errCode)s)",
@@ -142,15 +130,12 @@
"Send logs": "Αποστολή πληροφοριών",
"Source URL": "Πηγαίο URL",
"The server may be unavailable or overloaded": "Ο διακομιστής είναι μη διαθέσιμος ή υπερφορτωμένος",
" to room": " στο δωμάτιο",
"Unable to fetch notification target list": "Δεν ήταν δυνατή η εύρεση στόχων για τις ειδοποιήσεις",
"Unable to look up room ID from server": "Δεν είναι δυνατή η εύρεση του ID για το δωμάτιο",
"View Decrypted Source": "Προβολή του αποκρυπτογραφημένου κώδικα",
"View Source": "Προβολή κώδικα",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Ισως να έχετε κάνει τις ρυθμίσεις σε άλλη εφαρμογή εκτός του Riot. Δεν μπορείτε να τις αλλάξετε μέσω του Riot αλλά ισχύουν κανονικά",
"Couldn't find a matching Matrix room": "Δεν βρέθηκε κάποιο δωμάτιο",
"Drop here %(toAction)s": "Αποθέστε εδώ %(toAction)s",
"Failed to": "Απέτυχε να",
"Failed to get public room list": "Δεν ήταν δυνατή η λήψη της λίστας με τα δημόσια δωμάτια",
"Failed to set direct chat tag": "Δεν ήταν δυνατός ο χαρακτηρισμός της συνομιλίας ως 1-προς-1",
"powered by Matrix": "βασισμένο στο πρωτόκολλο Matrix",
@@ -198,5 +183,12 @@
"Failed to set Direct Message status of room": "Δεν ήταν δυνατός ο ορισμός της κατάστασης Direct Message του δωματίου",
"Support for those using, running and writing other bridges": "Υποστήριξη για τους χρήστες που χρησιμοποιούν ή αναπτύσσουν εφαρμογές ενσωμάτωσης για το Matrix",
"You have successfully set a password and an email address!": "Ο κωδικός πρόσβασης και η διεύθυνση ηλεκτρονικής αλληλογραφίας ορίστηκαν επιτυχώς!",
"Remember, you can always set an email address in user settings if you change your mind.": "Να θυμάστε ότι μπορείτε πάντα να ορίσετε μια διεύθυνση ηλεκτρονικής αλληλογραφίας στις ρυθμίσεις χρήστη αν αλλάξετε γνώμη."
"Remember, you can always set an email address in user settings if you change your mind.": "Να θυμάστε ότι μπορείτε πάντα να ορίσετε μια διεύθυνση ηλεκτρονικής αλληλογραφίας στις ρυθμίσεις χρήστη αν αλλάξετε γνώμη.",
"To return to your account in future you need to <u>set a password</u>": "Για να επιστρέψετε στον λογαριασμό σας μελλοντικα πρέπει να ορίσετε έναν <u>κωδικό πρόσβασης</u>",
"Set Password": "Ορισμός κωδικού πρόσβασης",
"Warning": "Προειδοποίηση",
"Checking for an update...": "Γίνεται έλεγχος για ενημέρωση...",
"Error encountered (%(errorDetail)s).": "Παρουσιάστηκε σφάλμα (%(errorDetail)s).",
"No update available.": "Δεν υπάρχει διαθέσιμη ενημέρωση.",
"Downloading update...": "Γίνεται λήψη της ενημέρωσης..."
}

View File

@@ -1,202 +1,223 @@
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.",
"A new version of Riot is available.": "A new version of Riot is available.",
"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 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 whilst saving your email notification preferences.",
"Call invitation": "Call invitation",
"Cancel": "Cancel",
"Cancel Sending": "Cancel Sending",
"Can't update user notification settings": "Can't update user notification settings",
"Changelog": "Changelog",
"Close": "Close",
"Collapse panel": "Collapse panel",
"Collecting app version information": "Collecting app version information",
"Collecting logs": "Collecting logs",
"Create new room": "Create new room",
"Couldn't find a matching Matrix room": "Couldn't find a matching Matrix room",
"Custom Server Options": "Custom Server Options",
"customServer_text": "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.",
"delete the alias.": "delete the alias.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Delete the room alias %(alias)s and remove %(name)s from the directory?",
"Describe your problem here.": "Describe your problem here.",
"Direct Chat": "Direct Chat",
"Directory": "Directory",
"Dismiss": "Dismiss",
"Download this file": "Download this file",
"Drop here %(toAction)s": "Drop here %(toAction)s",
"Enable audible notifications in web client": "Enable audible notifications in web client",
"Enable desktop notifications": "Enable desktop notifications",
"Enable email notifications": "Enable email notifications",
"Enable notifications for this account": "Enable notifications for this account",
"Enable them now": "Enable them now",
"Enter keywords separated by a comma:": "Enter keywords separated by a comma:",
"Error": "Error",
"Error saving email notification preferences": "Error saving email notification preferences",
"#example": "#example",
"Expand panel": "Expand panel",
"Failed to": "Failed to",
"Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
"Failed to change settings": "Failed to change settings",
"Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s",
"Failed to update keywords": "Failed to update keywords",
"Failed to get protocol list from Home Server": "Failed to get protocol list from Home Server",
"Failed to get public room list": "Failed to get public room list",
"Failed to join the room": "Failed to join the room",
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
"Failed to send report: ": "Failed to send report: ",
"Failed to set direct chat tag": "Failed to set direct chat tag",
"Failed to set Direct Message status of room": "Failed to set Direct Message status of room",
"Favourite": "Favourite",
"Fetching third party location failed": "Fetching third party location failed",
"Files": "Files",
"Filter room names": "Filter room names",
"Forget": "Forget",
"Forward Message": "Forward Message",
" from room": " from room",
"Guests can join": "Guests can join",
"Guest users can't invite users. Please register to invite.": "Guest users can't invite users. Please register to invite.",
"Hide panel": "Hide panel",
"(HTTP status %(httpStatus)s)": "(HTTP status %(httpStatus)s)",
"I understand the risks and wish to continue": "I understand the risks and wish to continue",
"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:": "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:",
"Invite to this room": "Invite to this room",
"Keywords": "Keywords",
"Leave": "Leave",
"Login": "Login",
"Loading bug report module": "Loading bug report module",
"Low Priority": "Low Priority",
"Members": "Members",
"Mentions only": "Mentions only",
"Messages containing my display name": "Messages containing my display name",
"Messages containing <span>keywords</span>": "Messages containing <span>keywords</span>",
"Messages containing my user name": "Messages containing my user name",
"Messages in group chats": "Messages in group chats",
"Messages in one-to-one chats": "Messages in one-to-one chats",
"Messages sent by bot": "Messages sent by bot",
"more": "more",
"Mute": "Mute",
"No rooms to show": "No rooms to show",
"Noisy": "Noisy",
"Notification targets": "Notification targets",
"Notifications": "Notifications",
"Notifications on the following keywords follow rules which cant be displayed here:": "Notifications on the following keywords follow rules which cant be displayed here:",
"Notify for all other messages/rooms": "Notify for all other messages/rooms",
"Notify me for anything else": "Notify me for anything else",
"Off": "Off",
"On": "On",
"Operation failed": "Operation failed",
"Permalink": "Permalink",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Please describe the bug. What did you do? What did you expect to happen? What actually happened?",
"Please describe the bug and/or send logs.": "Please describe the bug and/or send logs.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.",
"Please Register": "Please Register",
"powered by Matrix": "powered by Matrix",
"Quote": "Quote",
"Redact": "Redact",
"Reject": "Reject",
"Remove %(name)s from the directory?": "Remove %(name)s from the directory?",
"Remove": "Remove",
"remove %(name)s from the directory.": "remove %(name)s from the directory.",
"Remove from Directory": "Remove from Directory",
"Report a bug": "Report a bug",
"Resend": "Resend",
"Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
"Riot does not know how to join a room on this network": "Riot does not know how to join a room on this network",
"Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?",
"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.",
"Room directory": "Room directory",
"Room not found": "Room not found",
"Search": "Search",
"Search…": "Search…",
"Search for a room": "Search for a room",
"Send": "Send",
"Send logs": "Send logs",
"Settings": "Settings",
"Source URL": "Source URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> able to run Riot.",
"Start chat": "Start chat",
"The Home Server may be too old to support third party networks": "The Home Server may be too old to support third party networks",
"There are advanced notifications which are not shown here": "There are advanced notifications which are not shown here",
"The server may be unavailable or overloaded": "The server may be unavailable or overloaded",
"This Room": "This Room",
"This room is inaccessible to guests. You may be able to join if you register.": "This room is inaccessible to guests. You may be able to join if you register.",
" to room": " to room",
"Unable to fetch notification target list": "Unable to fetch notification target list",
"Unable to join network": "Unable to join network",
"Unable to look up room ID from server": "Unable to look up room ID from server",
"Unavailable": "Unavailable",
"Unhide Preview": "Unhide Preview",
"Unknown device": "Unknown device",
"unknown error code": "unknown error code",
"Unnamed room": "Unnamed room",
"Update": "Update",
"Uploaded on %(date)s by %(user)s": "Uploaded on %(date)s by %(user)s",
"Uploading report": "Uploading report",
"View Decrypted Source": "View Decrypted Source",
"View Source": "View Source",
"What's New": "What's New",
"What's new?": "What's new?",
"Waiting for response from server": "Waiting for response from server",
"When I'm invited to a room": "When I'm invited to a room",
"World readable": "World readable",
"You cannot delete this image. (%(code)s)": "You cannot delete this image. (%(code)s)",
"You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)",
"You are not receiving desktop notifications": "You are not receiving desktop notifications",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply",
"Sunday": "Sunday",
"Monday": "Monday",
"Tuesday": "Tuesday",
"Wednesday": "Wednesday",
"Thursday": "Thursday",
"Friday": "Friday",
"Saturday": "Saturday",
"Today": "Today",
"Yesterday": "Yesterday",
"OK": "OK",
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
"Welcome page": "Welcome page",
"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!": "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!",
"Welcome to Riot.im": "Welcome to Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted chat &amp; collaboration powered by [matrix]",
"Search the room directory": "Search the room directory",
"Chat with Riot Bot": "Chat with Riot Bot",
"Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!",
"General discussion about Matrix and Riot": "General discussion about Matrix and Riot",
"Discussion of all things Matrix!": "Discussion of all things Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat",
"Matrix technical discussions": "Matrix technical discussions",
"Running Matrix services": "Running Matrix services",
"Community-run support for Synapse": "Community-run support for Synapse",
"Admin support for Dendrite": "Admin support for Dendrite",
"Announcements about Synapse releases": "Announcements about Synapse releases",
"Support for those using and running matrix-appservice-irc": "Support for those using and running matrix-appservice-irc",
"Building services on Matrix": "Building services on Matrix",
"Support for those using the Matrix spec": "Support for those using the Matrix spec",
"Design and implementation of E2E in Matrix": "Design and implementation of E2E in Matrix",
"Implementing VR services with Matrix": "Implementing VR services with Matrix",
"Implementing VoIP services with Matrix": "Implementing VoIP services with Matrix",
"Discussion of the Identity Service API": "Discussion of the Identity Service API",
"Support for those using, running and writing other bridges": "Support for those using, running and writing other bridges",
"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",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!",
"Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
"You have successfully set a password!": "You have successfully set a password!",
"You can now return to your account after signing out, and sign in on other devices.": "You can now return to your account after signing out, and sign in on other devices.",
"Continue": "Continue",
"Please set a password!": "Please set a password!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "This will allow you to return to your account after signing out, and sign in on other devices.",
"You have successfully set a password and an email address!": "You have successfully set a password and an email address!",
"Remember, you can always set an email address in user settings if you change your mind.": "Remember, you can always set an email address in user settings if you change your mind."
"Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?",
"Collecting app version information": "Collecting app version information",
"Collecting logs": "Collecting logs",
"Uploading report": "Uploading report",
"Waiting for response from server": "Waiting for response from server",
"Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
"Unknown device": "Unknown device",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
"Messages containing my display name": "Messages containing my display name",
"Messages containing my user name": "Messages containing my user name",
"Messages in one-to-one chats": "Messages in one-to-one chats",
"Messages in group chats": "Messages in group chats",
"When I'm invited to a room": "When I'm invited to a room",
"Call invitation": "Call invitation",
"Messages sent by bot": "Messages sent by bot",
"Error saving email notification preferences": "Error saving email notification preferences",
"An error occurred whilst saving your email notification preferences.": "An error occurred whilst saving your email notification preferences.",
"Keywords": "Keywords",
"Enter keywords separated by a comma:": "Enter keywords separated by a comma:",
"OK": "OK",
"Failed to change settings": "Failed to change settings",
"Operation failed": "Operation failed",
"Can't update user notification settings": "Can't update user notification settings",
"Failed to update keywords": "Failed to update keywords",
"Messages containing <span>keywords</span>": "Messages containing <span>keywords</span>",
"Notify for all other messages/rooms": "Notify for all other messages/rooms",
"Notify me for anything else": "Notify me for anything else",
"Enable notifications for this account": "Enable notifications for this account",
"All notifications are currently disabled for all targets.": "All notifications are currently disabled for all targets.",
"Add an email address above to configure email notifications": "Add an email address above to configure email notifications",
"Enable email notifications": "Enable email notifications",
"Notifications on the following keywords follow rules which cant be displayed here:": "Notifications on the following keywords follow rules which cant be displayed here:",
"Unable to fetch notification target list": "Unable to fetch notification target list",
"Notification targets": "Notification targets",
"Advanced notification settings": "Advanced notification settings",
"There are advanced notifications which are not shown here": "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": "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply",
"Enable desktop notifications": "Enable desktop notifications",
"Show message in desktop notification": "Show message in desktop notification",
"Enable audible notifications in web client": "Enable audible notifications in web client",
"Off": "Off",
"On": "On",
"Noisy": "Noisy",
"Search…": "Search…",
"Search": "Search",
"This Room": "This Room",
"All Rooms": "All Rooms",
"Sunday": "Sunday",
"Monday": "Monday",
"Tuesday": "Tuesday",
"Wednesday": "Wednesday",
"Thursday": "Thursday",
"Friday": "Friday",
"Saturday": "Saturday",
"Today": "Today",
"Yesterday": "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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.",
"Dismiss": "Dismiss",
"powered by Matrix": "powered by Matrix",
"You are not receiving desktop notifications": "You are not receiving desktop notifications",
"Enable them now": "Enable them now",
"What's New": "What's New",
"Update": "Update",
"What's new?": "What's new?",
"A new version of Riot is available.": "A new version of Riot is available.",
"To return to your account in future you need to <u>set a password</u>": "To return to your account in future you need to <u>set a password</u>",
"Set Password": "Set Password",
"Error encountered (%(errorDetail)s).": "Error encountered (%(errorDetail)s).",
"Checking for an update...": "Checking for an update...",
"No update available.": "No update available.",
"Downloading update...": "Downloading update...",
"Warning": "Warning",
"Error": "Error",
"You cannot delete this image. (%(code)s)": "You cannot delete this image. (%(code)s)",
"Uploaded on %(date)s by %(user)s": "Uploaded on %(date)s by %(user)s",
"Remove": "Remove",
"Close": "Close",
"Download this file": "Download this file",
"Please describe the bug and/or send logs.": "Please describe the bug and/or send logs.",
"Loading bug report module": "Loading bug report module",
"Bug report sent": "Bug report sent",
"Thank you!": "Thank you!",
"Failed to send report: ": "Failed to send report: ",
"Cancel": "Cancel",
"Report a bug": "Report a bug",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Please describe the bug. What did you do? What did you expect to happen? What actually happened?",
"Describe your problem here.": "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:": "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 logs",
"Send": "Send",
"Unavailable": "Unavailable",
"Changelog": "Changelog",
"Back": "Back",
"Send Custom Event": "Send Custom Event",
"You must specify an event type!": "You must specify an event type!",
"Event sent!": "Event sent!",
"Failed to send custom event.": "Failed to send custom event.",
"Event Type": "Event Type",
"State Key": "State Key",
"Event Content": "Event Content",
"Send Account Data": "Send Account Data",
"Filter results": "Filter results",
"Explore Room State": "Explore Room State",
"Edit": "Edit",
"Explore Account Data": "Explore Account Data",
"Toolbox": "Toolbox",
"Developer Tools": "Developer Tools",
"You have successfully set a password!": "You have successfully set a password!",
"You have successfully set a password and an email address!": "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.": "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.": "Remember, you can always set an email address in user settings if you change your mind.",
"Continue": "Continue",
"Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
"(HTTP status %(httpStatus)s)": "(HTTP status %(httpStatus)s)",
"Please set a password!": "Please set a password!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "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)": "You cannot delete this message. (%(code)s)",
"Resend": "Resend",
"Cancel Sending": "Cancel Sending",
"Forward Message": "Forward Message",
"Reply": "Reply",
"Unpin Message": "Unpin Message",
"Pin Message": "Pin Message",
"View Source": "View Source",
"View Decrypted Source": "View Decrypted Source",
"Unhide Preview": "Unhide Preview",
"Permalink": "Permalink",
"Quote": "Quote",
"Source URL": "Source URL",
"Online": "Online",
"Away": "Away",
"Appear Offline": "Appear Offline",
"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 (noisy)": "All messages (noisy)",
"All messages": "All messages",
"Mentions only": "Mentions only",
"Mute": "Mute",
"Leave": "Leave",
"Forget": "Forget",
"Reject": "Reject",
"Favourite": "Favourite",
"Low Priority": "Low Priority",
"Direct Chat": "Direct Chat",
"View Community": "View Community",
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> 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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> 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!": "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": "I understand the risks and wish to continue",
"Couldn't load home page": "Couldn't load home page",
"Login": "Login",
"Register": "Register",
"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",
"Hide panel": "Hide panel",
"Invite to this community": "Invite to this community",
"Add rooms to this community": "Add rooms to this community",
"Failed to get protocol list from Home Server": "Failed to get protocol list from Home Server",
"The Home Server may be too old to support third party networks": "The Home Server may be too old to support third party networks",
"Failed to get public room list": "Failed to get public room list",
"The server may be unavailable or overloaded": "The server may be unavailable or overloaded",
"Unnamed room": "Unnamed room",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Delete the room alias %(alias)s and remove %(name)s from the directory?",
"Remove %(name)s from the directory?": "Remove %(name)s from the directory?",
"Remove from Directory": "Remove from Directory",
"remove %(name)s from the directory.": "remove %(name)s from the directory.",
"delete the alias.": "delete the alias.",
"Unable to join network": "Unable to join network",
"Riot does not know how to join a room on this network": "Riot does not know how to join a room on this network",
"Room not found": "Room not found",
"Couldn't find a matching Matrix room": "Couldn't find a matching Matrix room",
"Fetching third party location failed": "Fetching third party location failed",
"Unable to look up room ID from server": "Unable to look up room ID from server",
"World readable": "World readable",
"Guests can join": "Guests can join",
"Directory": "Directory",
"No rooms to show": "No rooms to show",
"Search for a room": "Search for a room",
"#example": "#example",
"more": "more",
"Expand panel": "Expand panel",
"Collapse panel": "Collapse panel",
"Filter room names": "Filter room names",
"Welcome to Riot.im": "Welcome to Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted chat &amp; collaboration powered by [matrix]",
"Search the room directory": "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!": "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!",
"Chat with Riot Bot": "Chat with Riot Bot",
"Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!",
"General discussion about Matrix and Riot": "General discussion about Matrix and Riot",
"Discussion of all things Matrix!": "Discussion of all things Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat",
"Matrix technical discussions": "Matrix technical discussions",
"Running Matrix services": "Running Matrix services",
"Community-run support for Synapse": "Community-run support for Synapse",
"Admin support for Dendrite": "Admin support for Dendrite",
"Announcements about Synapse releases": "Announcements about Synapse releases",
"Support for those using and running matrix-appservice-irc": "Support for those using and running matrix-appservice-irc",
"Building services on Matrix": "Building services on Matrix",
"Support for those using the Matrix spec": "Support for those using the Matrix spec",
"Design and implementation of E2E in Matrix": "Design and implementation of E2E in Matrix",
"Implementing VR services with Matrix": "Implementing VR services with Matrix",
"Implementing VoIP services with Matrix": "Implementing VoIP services with Matrix",
"Discussion of the Identity Service API": "Discussion of the Identity Service API",
"Support for those using, running and writing other bridges": "Support for those using, running and writing other bridges",
"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"
}

View File

@@ -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.",
@@ -18,7 +18,6 @@
"Collapse panel": "Collapse panel",
"Collecting app version information": "Collecting app version information",
"Collecting logs": "Collecting logs",
"Create new room": "Create new room",
"Couldn't find a matching Matrix room": "Couldn't find a matching Matrix room",
"Custom Server Options": "Custom Server Options",
"customServer_text": "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.",
@@ -29,7 +28,6 @@
"Directory": "Directory",
"Dismiss": "Dismiss",
"Download this file": "Download this file",
"Drop here %(toAction)s": "Drop here %(toAction)s",
"Enable audible notifications in web client": "Enable audible notifications in web client",
"Enable desktop notifications": "Enable desktop notifications",
"Enable email notifications": "Enable email notifications",
@@ -40,14 +38,12 @@
"Error saving email notification preferences": "Error saving email notification preferences",
"#example": "#example",
"Expand panel": "Expand panel",
"Failed to": "Failed to",
"Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
"Failed to change settings": "Failed to change settings",
"Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s",
"Failed to update keywords": "Failed to update keywords",
"Failed to get protocol list from Home Server": "Failed to get protocol list from Home Server",
"Failed to get public room list": "Failed to get public room list",
"Failed to join the room": "Failed to join the room",
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
"Failed to send report: ": "Failed to send report: ",
"Failed to set direct chat tag": "Failed to set direct chat tag",
@@ -58,9 +54,7 @@
"Filter room names": "Filter room names",
"Forget": "Forget",
"Forward Message": "Forward Message",
" from room": " from room",
"Guests can join": "Guests can join",
"Guest users can't invite users. Please register to invite.": "Guest users can't invite users. Please register to invite.",
"Hide panel": "Hide panel",
"I understand the risks and wish to continue": "I understand the risks and wish to continue",
"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:": "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 uncheck:",
@@ -93,10 +87,8 @@
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Please describe the bug. What did you do? What did you expect to happen? What actually happened?",
"Please describe the bug and/or send logs.": "Please describe the bug and/or send logs.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.",
"Please Register": "Please Register",
"powered by Matrix": "powered by Matrix",
"Quote": "Quote",
"Redact": "Redact",
"Reject": "Reject",
"Remove %(name)s from the directory?": "Remove %(name)s from the directory?",
"Remove": "Remove",
@@ -108,23 +100,18 @@
"Riot does not know how to join a room on this network": "Riot does not know how to join a room on this network",
"Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?",
"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.",
"Room directory": "Room directory",
"Room not found": "Room not found",
"Search": "Search",
"Search…": "Search…",
"Search for a room": "Search for a room",
"Send": "Send",
"Send logs": "Send logs",
"Settings": "Settings",
"Source URL": "Source URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> able to run Riot.",
"Start chat": "Start chat",
"The Home Server may be too old to support third party networks": "The Home Server may be too old to support third party networks",
"There are advanced notifications which are not shown here": "There are advanced notifications which are not shown here",
"The server may be unavailable or overloaded": "The server may be unavailable or overloaded",
"This Room": "This Room",
"This room is inaccessible to guests. You may be able to join if you register.": "This room is inaccessible to guests. You may be able to join if you register.",
" to room": " to room",
"Unable to fetch notification target list": "Unable to fetch notification target list",
"Unable to join network": "Unable to join network",
"Unable to look up room ID from server": "Unable to look up room ID from server",
@@ -146,7 +133,6 @@
"You cannot delete this image. (%(code)s)": "You cannot delete this image. (%(code)s)",
"You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)",
"You are not receiving desktop notifications": "You are not receiving desktop notifications",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply",
"Sunday": "Sunday",
"Monday": "Monday",
@@ -159,7 +145,6 @@
"Yesterday": "Yesterday",
"OK": "OK",
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
"Welcome page": "Welcome page",
"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!": "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!",
"Login": "Login",
"Continue": "Continue",
@@ -198,5 +183,15 @@
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"You have successfully set a password and an email address!": "You have successfully set a password and an email address!",
"Remember, you can always set an email address in user settings if you change your mind.": "Remember, you can always set an email address in user settings if you change your mind."
"Remember, you can always set an email address in user settings if you change your mind.": "Remember, you can always set an email address in user settings if you change your mind.",
"Warning": "Warning",
"Pin Message": "Pin Message",
"Unpin Message": "Unpin Message",
"Checking for an update...": "Checking for an update...",
"Error encountered (%(errorDetail)s).": "Error encountered (%(errorDetail)s).",
"No update available.": "No update available.",
"Downloading update...": "Downloading update...",
"To return to your account in future you need to <u>set a password</u>": "To return to your account in future you need to <u>set a password</u>",
"Set Password": "Set Password",
"Couldn't load home page": "Couldn't load home page"
}

View File

@@ -1,149 +1,136 @@
{
"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 messages (noisy)": "Ĉiuj mesaĝoj (lauta)",
"All Rooms": "Ĉiuj babilejoj",
"Cancel": "Nuligi",
"Create new room": "Krei novan babilejon",
"delete the alias.": "Forviŝi la kromnomon.",
"Describe your problem here.": "Priskribi vian problemon ĉi tie.",
"Direct Chat": "Rekta babilejo",
"delete the alias.": "forigi la kromnomon.",
"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",
" from room": " el babilejo",
"Guests can join": "Gastoj povas aliĝi",
"Guest users can't invite users. Please register to invite.": "Gasta uzantoj ne povas inviti uzantojn. Bonvolu registri por inviti.",
"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 <span>keywords</span>": "Mesaĝoj enhavantaj <span>ŝlosilovortojn</span>",
"Messages containing my user name": "Mesaĝoj enhavantaj mian uzantnomon",
"Messages in group chats": "Mesaĝoj en grupaj babilejoj",
"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 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 <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Bonvolu instali <a href=\"https://www.google.com/chrome\">\"Chrome\"</a> aŭ <a href=\"https://getfirefox.com\">\"Firefox\"</a> por la plej bona sperto.",
"Please Register": "Bonvolu registri",
"powered by Matrix": "funkciigata de \"Matrix\"",
"Quote": "Citu",
"Reject": "Malakcepti",
"powered by Matrix": "funkciigata de Matrix",
"Quote": "Citi",
"Reject": "Rifuzi",
"Resend": "Resendi",
"Room directory": "Babileja dosierujo",
"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",
"Start chat": "Komenci babiladon",
"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",
"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",
"Custom Server Options": "Opcioj pri personigo de servilo",
"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.<br/>Tio permesas al vi uzi Riot per ekzistanta konto en alia Home servilo.<br/><br/>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:",
"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",
"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": "Malsukcesis",
"Failed to add tag %(tagName)s to room": "Malsukcesis aldoni etikedon %(tagName)s al la ejo",
"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 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 join the room": "Malsukcesis aliĝi al la ejo",
"Failed to remove tag %(tagName)s from room": "Malsukcesis forigi la etikedon %(tagName)s el la ejo",
"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 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 montreblas",
"Noisy": "Brua",
"Notification targets": "Celo de sciigoj",
"Notification targets": "Celoj de sciigoj",
"Notifications": "Sciigoj",
"Notifications on the following keywords follow rules which cant 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 cant 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",
"Operation failed": "La operacio malsukcesis",
"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.",
"Redact": "Redakti",
"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 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 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",
"Settings": "Agordoj",
"Source URL": "Fonta URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "Pardonu, via retumilo <b>ne kapablas</b> funkciigi 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",
"The server may be unavailable or overloaded": "La servilo povas esti maldisponebla aŭ tro ŝarĝita",
"This room is inaccessible to guests. You may be able to join if you register.": "Ci tiu ejo estas neenirebla por gastoj. Vi povus aliĝi se vi registriĝas.",
" to room": " al ejo",
"Unable to fetch notification target list": "Ne eblis obteni 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",
"Sorry, your browser is <b>not</b> able to run Riot.": "Pardonu, via foliumilo <b>ne kapablas</b> funkciigi klienton Riot.",
"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 nedisponebla aŭ troŝarĝita",
"Unable to fetch notification target list": "Malsukcesis akiri la liston de celoj por sciigoj",
"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",
"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 are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Vi uzas Riot kiel gasto. <a>Registriĝu</a> aŭ <a>ensalutu</a> por atingi pli da ejoj kaj funkcioj!",
"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",
@@ -154,49 +141,89 @@
"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.",
"Welcome page": "Paĝo de bonveno",
"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!",
"Welcome to Riot.im": "Bonvenon al Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Malcentra, ĉifrita babilejo &amp; 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!",
"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": "Bonvenu al Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Malcentra, ĉifrita babilado &amp; 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 &amp; Desktop chat": "Diskudato labortabla pri Riot/Web",
"Riot/iOS &amp; matrix-ios-sdk chat": "Diskutado pri Riot/iOS &amp; matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Diskutado pri Riot/Android &amp; 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 &amp; Desktop chat": "Babilado pri Riot ĉe reto kaj labortablo",
"Riot/iOS &amp; matrix-ios-sdk chat": "Babilado pri Riot ĉe iOS kaj matrix-ios-sdk",
"Riot/Android &amp; 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!",
"Failed to change password. Is your password correct?": "Malsukcesis ŝanĝi la pasvorton. Ĉu via pasvorto pravas?",
"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 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",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> kaj <a href=\"http://opera.com\">Opera</a> ankaŭ funkcias.",
"Drop here %(toAction)s": "Forlasi ĉi tie %(toAction)s",
"Favourite": "Plej ŝatata",
"Fetching third party location failed": "Venigado de ekstere liverita loko malsukcesis",
"Filter room names": "Filtri nomojn de ejoj"
"Favourite": "Ŝatata",
"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.",
"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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br/>Tio permesas al vi uzi klienton Riot kun jama konto de Matrix en alia hejmservilo.<br/><br/>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 <u>set a password</u>": "Por reveni al via konto estonte, vi devas <u>agordi pasvorton</u>",
"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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Bonvolu instali <chromeLink>Ĥromon</chromeLink> aŭ <firefoxLink>Fajrovulpon</firefoxLink> por plej bona sperto.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Ankaŭ <safariLink>Safario</safariLink> kaj <operaLink>Opero</operaLink> 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",
"Online": "Enreta",
"Reply": "Respondi",
"%(count)s Members|other": "%(count)s Membroj",
"%(count)s Members|one": "%(count)s Membro",
"View Community": "Vidi Komunumon"
}

View File

@@ -1,22 +1,20 @@
{
"Add an email address above to configure email notifications": "Añade una dirección de email arriba para configurar las notificaciones por email",
"Advanced notification settings": "Configuración de notificaciones avanzada",
"Add an email address above to configure email notifications": "Añade una dirección de correo arriba para configurar las notificaciones por correo",
"Advanced notification settings": "Configuración avanzada de notificaciones",
"All messages": "Todos los mensajes",
"An error occurred whilst saving your email notification preferences.": "Se ha producido un error al guardar las preferencias de notificación por email.",
"Call invitation": "Invitación a la llamada",
"Cancel Sending": "Cancelar envío",
"Can't update user notification settings": "No se puede actualizar la configuración de notificación de usuario",
"Can't update user notification settings": "No se puede actualizar la configuración de notificaciones del usuario",
"Close": "Cerrar",
"Create new room": "Crear nueva sala",
"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.<br/>Esto te permite usar Riot con una cuenta Matrix existente en un Home server distinto.<br/><br/>También puedes configurar un servidor de identidad personalizado, pero no podrás invitar usuarios por dirección de email, ni ser invitado por email por ti mismo.",
"customServer_text": "Puedes utilizar las opciones de servidor personalizadas para iniciar sesión en otros servidores Matrix especificando una URL de Home server distinta.<br/>Esto te permite usar Riot con una cuenta Matrix existente en un Home server distinto.<br/><br/>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.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "¿Borrar la sala alias %(alias)s y retirar %(name)s del directorio?",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "¿Borrar el alias de la sala %(alias)s y eliminar %(name)s del directorio?",
"Direct Chat": "Conversación directa",
"Directory": "Directorio",
"Download this file": "Descargar este archivo",
"Drop here %(toAction)s": "Suelta aquí %(toAction)s",
"Enable audible notifications in web client": "Habilitar notificaciones audibles en el cliente web",
"Enable desktop notifications": "Habilitar notificaciones de escritorio",
"Enable email notifications": "Habilitar notificaciones por email",
@@ -30,9 +28,8 @@
"Failed to change settings": "Error al cambiar la configuración",
"Failed to forget room %(errCode)s": "Falló al olvidar la sala %(errCode)s",
"Failed to update keywords": "Error al actualizar las palabras clave",
"Failed to get protocol list from Home Server": "Error al obtener la lista de protocolos de Home Server",
"Failed to get protocol list from Home Server": "Error al obtener la lista de protocolos desde el Home Server",
"Failed to get public room list": "No se pudo obtener la lista de salas públicas",
"Failed to join the room": "Falló al unirse a la sala",
"Failed to remove tag %(tagName)s from room": "Error al eliminar la etiqueta %(tagName)s de la sala",
"Failed to set direct chat tag": "Error al establecer la etiqueta de chat directo",
"Failed to set Direct Message status of room": "No se pudo establecer el estado de Mensaje Directo de la sala",
@@ -41,16 +38,14 @@
"Files": "Archivos",
"Filter room names": "Filtrar los nombres de las salas",
"Forget": "Olvidar",
" from room": " de la sala",
"Guests can join": "Los invitados se pueden unir",
"Guest users can't invite users. Please register to invite.": "Los usuarios invitados no pueden invitar usuarios. Por favor, regístrate para poder invitar.",
"Invite to this room": "Invitar a esta sala",
"Keywords": "Palabras clave",
"Leave": "Salir",
"Low Priority": "Baja Prioridad",
"Members": "Miembros",
"Mentions only": "Sólo menciones",
"Messages containing my display name": "Mensajes que contienen mi nombre para mostrar",
"Messages containing my display name": "Mensajes que contienen mi nombre",
"Messages containing my user name": "Mensajes que contienen mi nombre de usuario",
"Messages in group chats": "Mensajes en chats de grupo",
"Messages in one-to-one chats": "Mensajes en chats uno a uno",
@@ -67,9 +62,7 @@
"On": "Encendido",
"Operation failed": "Falló la operación",
"Permalink": "Enlace permanente",
"Please Register": "Por favor, regístrese",
"Quote": "Citar",
"Redact": "Redactar",
"Reject": "Rechazar",
"Remove %(name)s from the directory?": "¿Retirar %(name)s del directorio?",
"Remove": "Eliminar",
@@ -77,17 +70,12 @@
"Remove from Directory": "Retirar del Directorio",
"Resend": "Reenviar",
"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 directory": "Directorio de salas",
"Room not found": "Sala no encontrada",
"Search for a room": "Buscar sala",
"Settings": "Configuración",
"Source URL": "URL de origen",
"Start chat": "Comenzar chat",
"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",
"This room is inaccessible to guests. You may be able to join if you register.": "Esta sala es inaccesible para los invitados. Puedes unirse si te registras.",
" to room": " a la sala",
"Unable to fetch notification target list": "No se puede obtener la lista de objetivos de notificación",
"Unable to join network": "No se puede unir a la red",
"Unable to look up room ID from server": "No se puede buscar el ID de la sala desde el servidor",
@@ -112,67 +100,64 @@
"Saturday": "Sábado",
"Today": "Hoy",
"Yesterday": "Ayer",
"Welcome page": "Página de bienvenida",
"Continue": "Continuar",
"Search": "Búsqueda",
"OK": "Correcto",
"Failed to change password. Is your password correct?": "Falló al cambiar la clave, ¿Está correcta tu clave?",
"Failed to change password. Is your password correct?": "No se pudo cambiar la contraseña. ¿Está usando la correcta?",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> y <a href=\"http://opera.com\">Opera</a> 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": "Bitácora de cambios",
"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",
"Failed to": "Falló",
"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, las trazas de este cliente serán enviadas adjuntas a este informe de defecto. Si quisiera enviar el texto anterior solamente, entonces desmarque:",
"Login": "Abrir sesión",
"Report a bug": "Informe un defecto",
"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": "Informar de un fallo",
"Search…": "Buscar…",
"Send": "Enviar",
"Send logs": "Enviar trazas",
"Send logs": "Enviar registros",
"Sorry, your browser is <b>not</b> able to run Riot.": "¡Lo sentimos! Su navegador <b>no puede</b> ejecutar Riot.",
"This Room": "Esta sala",
"Unavailable": "No disponible",
"Unknown device": "Dispositivo desconocido",
"Update": "Actualizar",
"Uploading report": "Enviando informe",
"What's New": "Lo que hay de nuevo",
"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 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 en todos los objetivos.",
"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",
"Dismiss": "Omitir",
"Failed to send report: ": "Error al enviar reporte: ",
"Failed to send report: ": "Error al enviar informe: ",
"Loading bug report module": "Cargando módulo de reporte de errores",
"Messages containing <span>keywords</span>": "Mensajes que contienen <span>palabras clave</span>",
"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. 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 describe el error y/o envía los registros.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Por favor instale <a href=\"https://www.google.com/chrome\">Google Chrome</a> o <a href=\"https://getfirefox.com\">Mozilla Firefox</a> para una mejor experiencia.",
"powered by Matrix": "con el poder de Matrix",
"Riot Desktop on %(platformName)s": "Riot Desktop en %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot no está soportado en navegadores Web móviles. Quieres instalar la aplicación?",
"Riot is not supported on mobile web. Install the app?": "Riot no está soportado en navegadores Web móviles. ¿Quieres instalar la aplicación?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot usa muchas características avanzadas del navegador, algunas de las cuales no están disponibles en su navegador actual.",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Está usando Riot como invitado. ¡<a>Regístrese</a> o <a>inicie sesión</a> para acceder más salas y características!",
"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 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!",
"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 &amp; collaboration powered by [matrix]": "Conversaciones &amp; colaboración cifradas y descentralizadas con el poder de [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas &amp; 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 tips de Riot Bot!",
"Get started with some tips from Riot Bot!": "¡Comenzar con algunos consejos de Riot Bot!",
"General discussion about Matrix and Riot": "Discusión general sobre Matrix y Riot",
"Discussion of all things Matrix!": "¡Discusión sobre todas las cosas de Matrix!",
"Riot/Web &amp; Desktop chat": "Conversaciones de Riot/Web &amp; Desktop",
@@ -198,5 +183,47 @@
"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 <u>set a password</u>": "Para regresar a tu cuenta en el futuro debes <u>establecer una contraseña</u>",
"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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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. <br/> Esto te permite usar Riot con una cuenta Matrix existente en un servidor doméstico distinto. <br/><br/>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": "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 personalizado.",
"Event Type": "Tipo de Evento",
"State Key": "Clave de estado",
"Event Content": "Contenido del Evento",
"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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Por favor instala <chromeLink>Chrome</chromeLink> o <firefoxLink>Firefox</firefoxLink> para una experiencia óptima.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> y <operaLink>Opera</operaLink> también funcionan.",
"Register": "Registro",
"Rooms": "Salas",
"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",
"%(count)s Members|other": "%(count)s miembros",
"%(count)s Members|one": "%(count)s miembro",
"Online": "Conectado",
"View Community": "Ver la comunidad"
}

229
src/i18n/strings/eu.json Normal file
View File

@@ -0,0 +1,229 @@
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s bidez %(osName)s ostalarian",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> eta <a href=\"http://opera.com\">Opera</a> badabiltza ere.",
"A new version of Riot is available.": "Riot bertsio berri bat dago eskuragarri.",
"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 (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.",
"Call invitation": "Dei gonbidapena",
"Cancel": "Utzi",
"Cancel Sending": "Utzi bidaltzeari",
"Can't update user notification settings": "Ezin dira erabiltzailearen jakinarazpenen ezarpenak eguneratu",
"Changelog": "Aldaketa-egunkaria",
"Close": "Itxi",
"Collapse panel": "Tolestu panela",
"Collecting app version information": "Aplikazioaren bertsio-informazioa biltzen",
"Collecting logs": "Egunkariak biltzen",
"Couldn't find a matching Matrix room": "Ezin izan da bat datorren Matrix gela bat aurkitu",
"Custom Server Options": "Zerbitzari pertsonalizatuaren aukerak",
"customServer_text": "Zerbitzari pertsonalizatuaren aukerak erabili ditzakezu beste hasiera zerbitzari baten URLa jarrita beste Matrix zerbitzarietan saioa hasteko.<br/>Honek oraingo Matrix kontuarekin Riot beste hasiera zerbitzari batean erabiltzea ahalbidetzen dizu.<br/><br/>Identitate zerbitzari pertsonalizatu bat jar dezakezu ere baina ezin izango dituzu erabiltzaileak bere e-mail helbidea erabilita gonbidatu, edo besteek zu gonbidatu zure e-mail helbidea erabilita.",
"delete the alias.": "ezabatu ezizena.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Ezabatu gelaren %(alias)s ezizena eta kendu %(name)s direktoriotik?",
"Describe your problem here.": "Azaldu zure arazoa hemen.",
"Direct Chat": "Txat zuzena",
"Directory": "Direktorioa",
"Dismiss": "Baztertu",
"Download this file": "Deskargatu fitxategi hau",
"Enable audible notifications in web client": "Gaitu jakinarazpen entzungarriak web bezeroan",
"Enable desktop notifications": "Gaitu mahaigaineko jakinarazpenak",
"Enable email notifications": "Gaitu e-mail bidezko jakinarazpenak",
"Enable notifications for this account": "Gaitu jakinarazpenak kontu honetarako",
"Enable them now": "Gaitu orain",
"Enter keywords separated by a comma:": "Idatzi hitz gakoak koma bidez banatuta:",
"Error": "Errorea",
"Error saving email notification preferences": "Errorea e-mail jakinarazpenen hobespenak gordetzean",
"#example": "#adibidea",
"Expand panel": "Hedatu panela",
"Failed to add tag %(tagName)s to room": "Huts egin du %(tagName)s etiketa gelara gehitzean",
"Failed to change settings": "Huts egin du ezarpenak aldatzean",
"Failed to forget room %(errCode)s": "Huts egin du %(errCode)s gela ahaztean",
"Failed to update keywords": "Huts egin du hitz gakoak eguneratzean",
"Failed to get protocol list from Home Server": "Huts egin du protokoloen zerrenda hasiera zerbitzaritik jasotzean",
"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 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",
"Files": "Fitxategiak",
"Filter room names": "Iragazi gelen izenak",
"Forget": "Ahaztu",
"Forward Message": "Birbidali mezua",
"Guests can join": "Bisitariak elkartu daitezke",
"Hide panel": "Ezkutatu panela",
"(HTTP status %(httpStatus)s)": "(HTTP egoera %(httpStatus)s)",
"I understand the risks and wish to continue": "Arriskua ulertzen dut eta jarraitu nahi dut",
"Invite to this room": "Gonbidatu gela honetara",
"Keywords": "Hitz gakoak",
"Leave": "Atera",
"Login": "Hasi saioa",
"Loading bug report module": "Arazte-txosten modulua kargatzen",
"Low Priority": "Lehentasun baxua",
"Members": "Kideak",
"Mentions only": "Aipamenak besterik ez",
"Messages containing my display name": "Nire pantaila-izena duten mezuak",
"Messages containing <span>keywords</span>": "<span>Hitz gakoak</span> 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",
"more": "gehiago",
"Mute": "Mututu",
"No rooms to show": "Ez dago gelarik erakusteko",
"Noisy": "Zaratatsua",
"Notification targets": "Jakinarazpenen helburuak",
"Notifications": "Jakinarazpenak",
"Notifications on the following keywords follow rules which cant be displayed here:": "Hitz gako hauen jakinarazpenak hemen bistaratu ezin daitezkeen arauak jarraitzen dituzte:",
"Notify for all other messages/rooms": "Jakinarazi beste mezu/gela guztiak",
"Notify me for anything else": "Jakinarazi beste edozer",
"Off": "Ez",
"On": "Bai",
"Operation failed": "Eragiketak huts egin du",
"Permalink": "Esteka iraunkorra",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Deskribatu akatsa. Zer egin duzu? Zer gertatuko zela uste zenuen? Zer gertatu da?",
"Please describe the bug and/or send logs.": "Deskribatu akatsa eta/edo bidali egunkariak.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Instalatu <a href=\"https://www.google.com/chrome\">Chrome</a> edo <a href=\"https://getfirefox.com\">Firefox</a> esperientzia on baterako.",
"powered by Matrix": "Matrix mamian",
"Quote": "Aipua",
"Reject": "Baztertu",
"Remove %(name)s from the directory?": "Kendu %(name)s direktoriotik?",
"Remove": "Kendu",
"remove %(name)s from the directory.": "kendu %(name)s direktoriotik.",
"Remove from Directory": "Kendu direktoriotik",
"Report a bug": "Eman akats baten berri",
"Resend": "Birbidali",
"Riot Desktop on %(platformName)s": "Riot Desktop %(platformName)s plataforman",
"Riot does not know how to join a room on this network": "Riotek ez daki nola elkartu gela batetara sare honetan",
"Riot is not supported on mobile web. Install the app?": "Riotek ez du euskarririk mugikorrentzako webean. Instalatu aplikazioa?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riotek nabigatzaileen ezaugarri aurreratu ugari erabiltzen ditu, hauetako batzuk ez daude erabilgarri edo esperimentalak dira zure oraingo nabigatzailean.",
"Room not found": "Ez da gela aurkitu",
"Search": "Bilatu",
"Search…": "Bilatu…",
"Search for a room": "Bilatu gela bat",
"Send": "Bidali",
"Send logs": "Bidali egunkariak",
"Source URL": "Iturriaren URLa",
"Sorry, your browser is <b>not</b> able to run Riot.": "Zure nabigatzaileak <b>ez</b> du Riot erabiltzeko gaitasunik.",
"The Home Server may be too old to support third party networks": "Hasiera zerbitzaria zaharregia izan daiteke hirugarrengoen sarean onartzeko",
"There are advanced notifications which are not shown here": "Hemen erakusten ez diren jakinarazpen aurreratuak daude",
"The server may be unavailable or overloaded": "Zerbitzaria eskuraezin edo gainezka egon daiteke",
"This Room": "Gela hau",
"Unable to fetch notification target list": "Ezin izan da jakinarazpen helburuen zerrenda eskuratu",
"Unable to join network": "Ezin izan da sarera elkartu",
"Unable to look up room ID from server": "Ezin izan da gelaren IDa zerbitzarian bilatu",
"Unavailable": "Eskuraezina",
"Unhide Preview": "Ez ezkutatu aurrebista",
"Unknown device": "Gailu ezezaguna",
"unknown error code": "errore kode ezezaguna",
"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",
"View Decrypted Source": "Ikusi deszifratutako iturria",
"View Source": "Ikusi iturria",
"What's New": "Zer dago berri",
"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": "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",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Agian Riot ez beste bezero batean konfiguratu dituzu. Ezin dituzu Riot bidez doitu, baina aplikagarriak dira",
"Sunday": "Igandea",
"Monday": "Astelehena",
"Tuesday": "Asteartea",
"Wednesday": "Asteazkena",
"Thursday": "Osteguna",
"Friday": "Ostirala",
"Saturday": "Larunbata",
"Today": "Gaur",
"Yesterday": "Atzo",
"OK": "Ados",
"Warning": "Abisua",
"Checking for an update...": "Eguneraketarik dagoen egiaztatzen...",
"Error encountered (%(errorDetail)s).": "Errorea aurkitu da (%(errorDetail)s).",
"No update available.": "Ez dago eguneraketarik eskuragarri.",
"Downloading update...": "Eguneraketa deskargatzen...",
"You need to be using HTTPS to place a screen-sharing call.": "HTTPS erabili behar duzu sekretuak partekatzeko dei bat ezartzeko.",
"Welcome to Riot.im": "Ongi etorri Riot.im mezularitzara",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Deszentralizatutako eta zifratutako txat eta elkarlana [matrix] sareari esker",
"Search the room directory": "Bilatu gelen direktorioa",
"Chat with Riot Bot": "Txateatu Riot botarekin",
"Get started with some tips from Riot Bot!": "Hasi Riot botaren aholku batzuekin!",
"General discussion about Matrix and Riot": "Matrix eta Riot-i buruzko eztabaida orokorra",
"Discussion of all things Matrix!": "Matrix-ekin zerikusia duen guztiari buruzko eztabaida!",
"Riot/Web &amp; Desktop chat": "Riot/Web eta mahaigaineko txata",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS eta matrix-ios-sdk txata",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android eta matrix-android-sdk txata",
"Matrix technical discussions": "Matrix buruzko eztabaida teknikoak",
"Running Matrix services": "Matrix zerbitzuak exekutatzea",
"Community-run support for Synapse": "Synapse-rako laguntza komunitatea",
"Admin support for Dendrite": "Dendrite kudeatzaileentzako laguntza",
"Announcements about Synapse releases": "Synapse bertsio berrien iragarkiak",
"Support for those using and running matrix-appservice-irc": "matrix-appservice-irc exekutatu edo erabiltzen dutenentzako laguntza",
"Building services on Matrix": "Matrix-en gaineko zerbitzuak eraikitzea",
"Support for those using the Matrix spec": "Matrix espezifikazioa darabilenentzako laguntza",
"Design and implementation of E2E in Matrix": "Matrix-en E2E diseinu eta inplementazioa",
"Implementing VR services with Matrix": "VR zerbitzuak inplementatzea Matrix erabilita",
"Implementing VoIP services with Matrix": "VoIP zerbitzuak inplementatzea Matrix erabilita",
"Discussion of the Identity Service API": "Identitate zerbitzuaren APIari buruzko eztabaida",
"Support for those using, running and writing other bridges": "Bestelako zubiak erabili, exekutatu eta idazten dituztenentzako laguntza",
"Contributing code to Matrix and Riot": "Kodearekin lagundu Matrix eta Riot",
"Dev chat for the Riot/Web dev team": "Riot/web garapen taldearen txata",
"Dev chat for the Dendrite dev team": "Dendrite garapen taldearen txata",
"Co-ordination for Riot/Web translators": "Riot/Web itzultzaileen arteko koordinazioa",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Badauden sareetara lotutako gela ugari daude Matrixen (Slack, IRC, Gitter eta abar), baita independienteak. Begiratu direktorioa!",
"Failed to change password. Is your password correct?": "Pasahitza aldatzean huts egin du. Zuzena da pasahitza?",
"You have successfully set a password!": "Ongi ezarri duzu pasahitza!",
"You can now return to your account after signing out, and sign in on other devices.": "Zure kontura itzuli zaitezke beste gailuetan saioa amaitu eta berriro hastean.",
"Continue": "Jarraitu",
"Please set a password!": "Ezarri pasahitza mesedez!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Honek zure kontura itzultzea ahalbidetuko dizu, beste gailuetan saioa amaitu eta berriro hasi eta gero.",
"You have successfully set a password and an email address!": "Ondo ezarri dituzu pasahitza eta e-mail helbidea!",
"Remember, you can always set an email address in user settings if you change your mind.": "Gogoratu, e-mail helbide bat ezarri dezakezu erabiltzaile-ezarpenetan iritzia aldatzen baduzu.",
"To return to your account in future you need to <u>set a password</u>": "Etorkizunean kontura itzuli ahal izateko <u>pasahitz bat ezarri</u> behar duzu",
"Set Password": "Ezarri pasahitza",
"Couldn't load home page": "Ezin izan da hasiera orria kargatu",
"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!",
"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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Instalatu <chromeLink>Chrome</chromeLink> edo <firefoxLink>Firefox</firefoxLink> esperientzia onena izateko.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> eta <operaLink>Opera</operaLink> 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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br/>Horrela Riot aurretik duzun kontu batekin erabili dezakezu beste hasiera-zerbitzari batean.<br/><br/>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",
"%(count)s Members|other": "%(count)s kide",
"%(count)s Members|one": "Kide %(count)s",
"Online": "Konektatuta",
"View Community": "Ikusi komunitatea"
}

190
src/i18n/strings/fa.json Normal file
View File

@@ -0,0 +1,190 @@
{
"A new version of Riot is available.": "نسخه‌ی جدید از رایوت موجود است.",
"All messages": "همه‌ی پیام‌ها",
"All messages (noisy)": "همه‌ی پیام‌ها(بلند)",
"All Rooms": "همه‌ی گپ‌ها",
"Cancel Sending": "فرستادن را لغو کن",
"Changelog": "تغییراتِ به‌وجودآمده",
"Close": "بستن",
"Collecting app version information": "درحال جمع‌آوری اطلاعات نسخه‌ی برنامه",
"Couldn't find a matching Matrix room": "گپ‌گاه مورد نظر در ماتریکس یافت نشد",
"Direct Chat": "چت مستقیم",
"Directory": "فهرست گپ‌گاه‌ها",
"Download this file": "بارگیری کن",
"Enable audible notifications in web client": "آگاه‌سازی صدادار را در کارگزار وب فعال کن",
"Enable email notifications": "آگاه‌سازی با رایانامه را فعال کن",
"Enable notifications for this account": "آگاه سازی با رایانامه را برای این اکانت فعال کن",
"Enable them now": "همین حالا فعالشان کن",
"Enter keywords separated by a comma:": "کلیدواژه‌ها را وارد کنید؛ از کاما(,) برای جدا کردن آنها از یکدیگر استفاده کنید:",
"Error": "خطا",
"Error saving email notification preferences": "خطا در ذخیره‌سازی ترجیحات آگاهسازی با ایمیل",
"#example": "#نمونه",
"Expand panel": "پنل را بگشا",
"Failed to add tag %(tagName)s to room": "در افزودن تگ %(tagName)s موفقیت‌آمیز نبود",
"Failed to change settings": "تغییر تنظیمات موفقیت‌آمیز نبود",
"Failed to forget room %(errCode)s": "فراموش کردن گپ‌گاه %(errCode)s موفقیت‌آمیز نبود",
"Failed to update keywords": "به‌روزرسانی کلیدواژه‌ها موفقیت‌آمیز نبود",
"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 send report: ": "فرستادن گزارش موفقیت‌آمیز نبود: ",
"Favourite": "علاقه‌مندی‌ها",
"Files": "فایل‌ها",
"Forget": "فراموش کن",
"Forward Message": "هدایت پیام",
"Guests can join": "میهمان‌ها می‌توانند بپیوندند",
"Hide panel": "پنل را پنهان کن",
"I understand the risks and wish to continue": "از خطرات این کار آگاهم و مایلم که ادامه بدهم",
"Invite to this room": "دعوت به این گپ",
"Keywords": "کلیدواژه‌ها",
"Leave": "خروج",
"Login": "ورود",
"Loading bug report module": "درحال بارگذاری و اجرای ماژولِ گزارش باگ",
"Low Priority": "کم اهمیت",
"Members": "اعضا",
"Mentions only": "فقط نام‌بردن‌ها",
"Please set a password!": "لطفا یک پسورد اختیار کنید!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "این به شما اجازه خواهد داد که پس از خروج به اکانت خود بازگردید و از سایر دستگاه‌ها وارد شوید.",
"You have successfully set a password and an email address!": "تخصیص ایمیل و پسوردتان با موفقیت انجام شد!",
"Remember, you can always set an email address in user settings if you change your mind.": "به خاطر داشته باشید که اگر نظرتان عوض شد می‌توانید از بخش تنظیمات یک ایمیل را به اکانتتان متصل کنید.",
"To return to your account in future you need to <u>set a password</u>": "برای بازگشتِ دوباره به اکانتان در آینده نیاز به <u> ثبت یک پسورد </u> دارید",
"Set Password": "پسوردتان را انتخاب کنید",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">سافاری</a> و <a href=\"http://opera.com\">اپرا</a> نیز کار می‌کنند.",
"Add an email address above to configure email notifications": "آدرس ایمیلتان را به بالا بیفزایید تا بتوانید آگاه‌سازی با ایمیل را مدیریت کنید",
"Advanced notification settings": "تنظیمات پیشرفته برای آگاه‌سازی‌ها",
"Continue": "ادامه",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "بسیاری از گپ‌گاه‌های موجود در فهرستِ گپ‌ها به شبکه‌های موجود(اسلک، آی‌آر‌سی، گلیتر و...) متصل و یا مستقل‌اند؛ به آنها نگاهی بیندازید!",
"Failed to change password. Is your password correct?": "خطا در تغییر گذرواژه. آیا از درستی گذرواژه‌تان اطمینان دارید؟",
"You can now return to your account after signing out, and sign in on other devices.": "اکنون می‌توانید پس از خروج به اکانتتان بازگردید و با دستگاه‌های دیگری وارد شوید.",
"Co-ordination for Riot/Web translators": "هماهنگی برای مترجمان رایوت/وب",
"Contributing code to Matrix and Riot": "کمک به برنامه‌نویسی در ماتریکس و رایوت",
"(HTTP status %(httpStatus)s)": "(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:": "برای بهبود و رفع مشکلات، گزارش‌هایی از این کارخواه به عنوان مستنداتی از یک باگ ارسال خوهند شد. اگر ترجیح می‌دهید که فقط متن بالا ارسال شود لطفا تیک را بردارید",
"Messages containing <span>keywords</span>": "پیا‌م‌های دارای <span> این کلیدواژه‌ها </span>",
"Messages containing my user name": "پیام‌های شامل نامِ کاربری من",
"Messages in group chats": "پیام‌های درون چت‌های گروهی",
"Messages in one-to-one chats": "پیام‌های درون چت‌های یک‌به‌یک",
"Messages sent by bot": "پیام‌های ارسال شده توسط ربات",
"more": "بیشتر",
"Mute": "سکوت",
"No rooms to show": "هیچ گپی برای نشان دادن موجود نیست",
"Noisy": "پرسروصدا",
"Notification targets": "هدف‌های آگاه‌سازی",
"Notifications": "آگاه‌سازی‌ها",
"Notify me for anything else": "مرا برای هرچیز دیگری باخبر کن",
"Off": "خاموش",
"On": "روشن",
"Operation failed": "عملیات شکست خورد",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "لطفا برای بهترین تجربه‌ی کاربری از<a href=\"https://www.google.com/chrome\">کروم</a> یا <a href=\"https://getfirefox.com\">فایرفاکس</a> استفاده کنید",
"powered by Matrix": "قدرت‌یافته از ماتریکس",
"Quote": "گفتآورد",
"Reject": "پس زدن",
"Remove": "حذف کن",
"Remove %(name)s from the directory?": "آیا مطمئنید می‌خواهید %(name)s را از فهرست گپ‌ها حذف کنید؟",
"remove %(name)s from the directory.": "%(name)s را از فهرست گپ‌ها حذف کن",
"Remove from Directory": "از فهرستِ گپ‌ها حذف کن",
"Report a bug": "باگ‌ها را گزارش کنید",
"Resend": "بازفرست",
"Riot Desktop on %(platformName)s": "رایوت دسکتاپ بر %(platformName)s",
"Riot does not know how to join a room on this network": "رایوت از چگونگی ورود به یک گپ در این شبکه اطلاعی ندارد",
"Riot is not supported on mobile web. Install the app?": "رایوت در موبایل‌ها پشتیبانی نمیشود؛ تمایلی دارید که اپ را نصب کنید؟",
"Room not found": "گپ یافت نشد",
"Search": "جستجو",
"Search…": "جستجو…",
"Search for a room": "جستجوی برای یک گپ",
"Send": "ارسال",
"Send logs": "ارسال گزارش‌ها",
"Sorry, your browser is <b>not</b> able to run Riot.": "متاسفانه مرورگر شما <b>نمی‌تواند</b> رایوت را اجرا کند.",
"There are advanced notifications which are not shown here": "آگاه‌سازی‌های پیشرفته‌ای هستند که در اینجا نشان داده نشده‌اند",
"The server may be unavailable or overloaded": "این سرور ممکن است ناموجود یا بسیار شلوغ باشد",
"This Room": "این گپ",
"Unable to join network": "خطا در ورود به شبکه",
"Unavailable": "غیرقابل‌دسترسی",
"Unknown device": "دستگاه ناشناخته",
"unknown error code": "کد خطای ناشناخته",
"Unnamed room": "گپ نام‌گذاری نشده",
"Update": "به‌روزرسانی",
"Uploading report": "در حال بارگذاری گزارش",
"Downloading update...": "در حال بارگیریِ به‌روزرسانی...",
"Cancel": "لغو",
"Call invitation": "دعوت به تماس",
"An error occurred whilst saving your email notification preferences.": "خطایی در حین ذخیره‌ی ترجیجات شما درباره‌ی رایانامه رخ داد.",
"Describe your problem here.": "مشکلتان را در اینجا توضیح دهید.",
"Enable desktop notifications": "آگاه‌سازی دسکتاپ را فعال کن",
"Permalink": "پایاپیوند",
"Please describe the bug and/or send logs.": "لطفا باگ را توصیف کنید و یا گزارش‌ها را بفرستید",
"Unhide Preview": "پیش‌نمایش را نمایان کن",
"View Source": "دیدن منبع",
"What's New": "تازه‌ها",
"World readable": "خواندن جهانی",
"You cannot delete this image. (%(code)s)": "شما نمی‌توانید این تصویر را پاک کنید. (%(code)s)",
"You cannot delete this message. (%(code)s)": "شما نمی‌توانید این پیام را پاک کنید. (%(code)s)",
"Sunday": "یکشنبه",
"Monday": "دوشنبه",
"Tuesday": "سه‌شنبه",
"Wednesday": "چهارشنبه",
"Thursday": "پنج‌شنبه",
"Friday": "آدینه",
"Saturday": "شنبه",
"Today": "امروز",
"Yesterday": "دیروز",
"OK": "باشه",
"Warning": "هشدار",
"No update available.": "هیچ به روزرسانی جدیدی موجود نیست.",
"Welcome to Riot.im": "به Riot.im خوش‌آمدید",
"Chat with Riot Bot": "با رایوت‌بات چت کنید",
"Get started with some tips from Riot Bot!": "با کمی راهنمایی از رایوت‌بات شروع کنید!",
"General discussion about Matrix and Riot": "بحث‌های کلی درمورد ماتریکس و رایوت",
"Dev chat for the Dendrite dev team": "چت توسعه‌دهندگان برای تیم Dendrite",
"Dev chat for the Riot/Web dev team": "چت توسعه‌دهندگان برای تیم رایوت/وب",
"Support for those using, running and writing other bridges": "پشتیبانی برای آنان که یک پل را استفاده اجرا کرده و یا می‌نویسند",
"Admin support for Dendrite": "پشتیبانی ادمین برای Dendrite",
"Community-run support for Synapse": "پشتیبانی سیناپس اداره‌شده توسط جامعه‌ی کاربری",
"Matrix technical discussions": "بحث‌های فنی درباره‌ی ماتریکس",
"Search the room directory": "در فهرست گپ‌ها جستجو کنید",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "چت مرکزگریز و رمزنگاری‌شده &amp; ارائه‌ای از ماتریکس",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s از طریق %(browserName)s بر %(osName)s",
"All notifications are currently disabled for all targets.": "همه‌ی آگاه‌سازی‌ها برای تمام هدف‌ها غیرفعال‌اند.",
"Can't update user notification settings": "امکان به‌روزرسانی تنظیمات آگاه‌سازی کاربر وجود ندارد",
"Collecting logs": "درحال جمع‌آوری گزارش‌ها",
"Custom Server Options": "تنظیمات سفارشی برای سرور",
"delete the alias.": "نام مستعار را پاک کن.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "آیا مطمئنید که می‌خواهید نام مستعار گپ %(alias)s را پاک و %(name)s را از فهرست حذف کنید؟",
"Dismiss": "نادیده بگیر",
"Failed to set direct chat tag": "تنظیم تگ برای چت مستقیم موفقیت‌آمیز نبود",
"Filter room names": "جستجو در گپ‌ها",
"Notify for all other messages/rooms": "برای همه‌ی پیام‌ها/گپ‌های دیگر آگاه‌سازی کن",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "لطفا باگ را دقیقا تشریح کنید. چه کار کردید؟ انتظار داشتید چه اتفاقی بیفتد؟ دقیقا چه اتفاقی افتاد؟",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "رایوت از بسیاری از ویژگی‌های پیشرفته در مروگرها استفاده می‌کند، برخی از این ویژگی‌ها در مرورگر کنونی شما موجود نیستند و یا در حالت آزمایشی قرار دارند.",
"Source URL": "آدرس مبدا",
"Unable to fetch notification target list": "ناتوانی در تطبیق لیست آگاه‌سازی‌های هدف",
"Uploaded on %(date)s by %(user)s": "آپلود شده در تاریخ %(date)s توسط %(user)s",
"View Decrypted Source": "دیدن منبع رمزگشایی شده",
"Waiting for response from server": "در انتظار پاسخی از سمت سرور",
"When I'm invited to a room": "وقتی من به گپی دعوت میشوم",
"You are not receiving desktop notifications": "شما آگاه‌سازی‌های دسکتاپ را دریافت نمی‌کنید",
"Checking for an update...": "درحال بررسی به‌روزرسانی‌ها...",
"Error encountered (%(errorDetail)s).": "خطای رخ داده (%(errorDetail)s).",
"You need to be using HTTPS to place a screen-sharing call.": "شما باید از ارتباط امن HTTPS برای به‌راه‌اندازی یک چتِ شامل به اشتراک‌گذاری صفحه‌ی کامیپوتر استفاده کنید.",
"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!": "با مرورگر کنونی شما، ظاهر و حس استفاده از برنامه ممکن است کاملا اشتباه باشد و برخی یا همه‌ی ویژگی‌ها ممکن است کار نکنند. می‌توانید به استفاده ادامه دهید اما مسئولیت هر مشکلی که به آن بربخورید بر عهده‌ی خودتان است!",
"Discussion of all things Matrix!": "بحث درمورد تمام چیز‌های مربوط به ماتریکس!",
"Riot/Web &amp; Desktop chat": "رایوت/وب &amp; چت دسکتاپ",
"Riot/iOS &amp; matrix-ios-sdk chat": "رایوت/آی‌او‌اس &amp; چت در مورد matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "رایوت/اندروید &amp; چت در مورد matrix-android-sdk",
"Running Matrix services": "اجرای سرویس‌های ماتریکسی",
"Announcements about Synapse releases": "اطلاعیه‌ها درباره‌ی نسخه‌ها و انتشار سیناپس",
"Support for those using and running matrix-appservice-irc": "پشتیبانی برای کسانی که matrix-appservice-irc را اجرا و استفاده می‌کنند",
"Design and implementation of E2E in Matrix": "طراحی و پیاده‌سازی رمزگذاری E2E در ماتریکس",
"Implementing VR services with Matrix": "پیاده‌سازی سرویس‌های VR با ماتریکس",
"Implementing VoIP services with Matrix": "پیاده‌سازی سرویس‌های VoIP با ماتریکس",
"Discussion of the Identity Service API": "بحث درمورد API سرویس هویت",
"You have successfully set a password!": "شما با موفقیت رمزتان را انتخاب کردید!",
"Collapse panel": "پنل را ببند",
"Failed to set Direct Message status of room": "تنظیم حالت پیام مستقیم برای گپ موفقیت‌آمیز نبود",
"Fetching third party location failed": "تطبیق اطلاعات از منابع‌ دسته سوم با شکست مواجه شد",
"Messages containing my display name": "پیام‌های حاوی نمای‌نامِ من",
"What's new?": "تازه‌ها",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "ممکن است شما این تنظیمات را در کارخواهی به جز رایوت اعمال کرده باشید. شما نمی‌توانید انها را تغییر دهید اما آنها همچنان تاثیر خود را دارند",
"Building services on Matrix": "ساخت سرویس بر روی ماتریکس",
"Support for those using the Matrix spec": "پشتیبانی برای آنان که از مستندات ماتریکس استفاده می‌کنند"
}

View File

@@ -1,3 +1,229 @@
{
"Sunday": "Sunnuntai"
"Sunday": "Sunnuntai",
"A new version of Riot is available.": "Uusi Riot-versio on saatavilla.",
"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 (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.",
"Call invitation": "Puhelukutsu",
"Cancel": "Peruuta",
"Cancel Sending": "Peruuta lähetys",
"Can't update user notification settings": "Käyttäjän ilmoitusasetusten päivittäminen epäonnistui",
"Changelog": "Muutosloki",
"Close": "Sulje",
"Couldn't find a matching Matrix room": "Vastaavaa Matrix-huonetta ei löytynyt",
"delete the alias.": "poista alias.",
"Describe your problem here.": "Kuvaa ongelmasi tähän.",
"Direct Chat": "Suora viestittely",
"Directory": "Hakemisto",
"Dismiss": "Hylkää",
"Download this file": "Lataa tiedosto",
"Error": "Virhe",
"#example": "#esimerkki",
"Favourite": "Suosikki",
"Files": "Tiedostot",
"Forget": "Unohda",
"I understand the risks and wish to continue": "Ymmärrän riskit ja haluan jatkaa",
"Invite to this room": "Kutsu käyttäjiä",
"Keywords": "Avainsanat",
"Leave": "Poistu",
"Login": "Kirjaudu sisään",
"Low Priority": "Matala prioriteetti",
"Members": "Jäsenet",
"Mentions only": "Vain maininnat",
"more": "lisää",
"Mute": "Vaimenna",
"No rooms to show": "Ei huoneita näytettäväksi",
"Noisy": "Äänekäs",
"Notifications": "Ilmoitukset",
"Off": "Pois päältä",
"On": "Päällä",
"Operation failed": "Toiminto epäonnistui",
"Permalink": "Pysyvä linkki",
"Quote": "Lainaa",
"Reject": "Hylkää",
"Remove": "Poista",
"Report a bug": "Ilmoita ongelmasta",
"Resend": "Lähetä uudelleen",
"Room not found": "Huonetta ei löytynyt",
"Search": "Haku",
"Search…": "Haku…",
"Search for a room": "Hae huonetta",
"Send": "Lähetä",
"Send logs": "Lähetä lokit",
"Source URL": "Lähde URL",
"This Room": "Tämä huone",
"Unable to join network": "Verkkoon liittyminen epäonnistui",
"Unavailable": "Ei saatavilla",
"Unknown device": "Tuntematon laite",
"unknown error code": "tuntematon virhekoodi",
"Unnamed room": "Nimeämätön huone",
"Update": "Päivitä",
"View Source": "Näytä lähde",
"Waiting for response from server": "Odotetaan vastausta palvelimelta",
"Monday": "Maanantai",
"Tuesday": "Tiistai",
"Wednesday": "Keskiviikko",
"Thursday": "Torstai",
"Friday": "Perjantai",
"Saturday": "Lauantai",
"Today": "Tänään",
"Yesterday": "Eilen",
"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 -palveluun",
"Search the room directory": "Hae hakemistosta",
"Continue": "Jatka",
"Set Password": "Aseta salasana",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> ja <a href=\"http://opera.com\">Opera</a> toimivat myös.",
"Collapse panel": "Piilota paneeli",
"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.<br/>Näin voit käyttää Riotia toisella kotipalvelimella sijaitsevan Matrix-käyttäjän kanssa. <br/><br/>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",
"Enter keywords separated by a comma:": "Anna avainsanat eroteltuna pilkuin:",
"Expand panel": "Avaa paneeli",
"Error saving email notification preferences": "Virhe tallennettaessa sähköposti-ilmoitusasetuksia",
"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",
"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",
"Failed to add tag %(tagName)s to room": "Tagin %(tagName)s lisäämineen huoneelle ei onnistunut",
"Failed to get protocol list from Home Server": "Protokollalistan hakeminen Kotipalvelimelta ei onnistunut",
"Failed to get public room list": "Julkisten huoneiden listan hakeminen epäonnistui",
"Failed to remove tag %(tagName)s from room": "Tagin %(tagName)s poistaminen huoneelta epäonnistui",
"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",
"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": "Viestit joissa mainitaan nimimerkkini",
"Messages containing <span>keywords</span>": "<span>Avainsanoja</span> 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",
"Notification targets": "Ilmoituksen kohteet",
"Notifications on the following keywords follow rules which cant be displayed here:": "Seuraaviin avainsanoihin liittyvät ilmoitukset seuraavat sääntöjä joita ei voida näyttää tässä:",
"Notify me for anything else": "Ilmoita minulle kaikesta muusta",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Ole hyvä ja kuvaile virhe. Mitä teit? Mitä oletit tapahtuvan? Mitä itse asiassa tapahtui?",
"Please describe the bug and/or send logs.": "Ole hyvä ja kuvaile virhe sekä/tai lähetä lokitiedot.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Ole hyvä ja asenna <a href=\"https://www.google.com/chrome\">Chrome</a> tai <a href=\"https://getfirefox.com\">Firefox</a> parhaan kokemuksen saavuttamiseksi.",
"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 %(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 <b>not</b> able to run Riot.": "Valitettavasti Riot <b>ei</b> toimi selaimessasi.",
"The Home Server may be too old to support third party networks": "Kotipalvelin saattaa olla liian vanha tukeakseen kolmannen osapuolen verkkoja",
"The server may be unavailable or overloaded": "Palvelin saattaa olla saavuttamaton tai ylikuormitettu",
"Unable to fetch notification target list": "Ilmoituskohdelistan haku epäonnistui",
"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 raporttia",
"View Decrypted Source": "Näytä purettu lähdekoodi",
"What's New": "Mikä on uutta",
"What's new?": "Mikä on uutta?",
"When I'm invited to a room": "Kun minut kutsutaan huoneeseen",
"World readable": "Kaikkien luettavissa",
"You cannot delete this image. (%(code)s)": "Et voi poistaa tätä kuvaa. (%(code)s)",
"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 -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!": "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 &amp; Desktop chat": "Riot/Web & Työpöytä-keskustelu",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk -keskustelu",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk -keskustelu",
"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": "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",
"Discussion of the Identity Service API": "Keskustelu Identity Service rajapinnasta",
"Support for those using, running and writing other bridges": "Tuki niille jotka käyttävät, ajavat ja ohjelmoivat muita siltoja",
"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 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.",
"Please set a password!": "Ole hyvä ja aseta salasana!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Tämä mahdollistaa sinut palamaan tilillesi uloskirjautumisen jälkeen sekä kirjautumaan muilla laitteilla.",
"You have successfully set a password and an email address!": "Olet onnistuneesti asettanut salasanan ja sähköpostiosoitteen!",
"Remember, you can always set an email address in user settings if you change your mind.": "Muista että voit aina asettaa sähköpostiosoitteen käyttäjäasetuksista jos muutat mielesi.",
"To return to your account in future you need to <u>set a password</u>": "Voidaksesi tulevaisuudessa palata tilillesi sinut pitää <u>asettaa salasana</u>",
"Couldn't load home page": "Kotisivun lataus epäonnistui",
"Bug report sent": "Virheraportti lähetetty",
"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",
"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 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 &amp; 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",
"Send Custom Event": "Lähetä kustomoitu tapahtuma",
"Send Custom State Event": "Lähetä kustomoitu tilatapahtuma",
"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 ilmoituskeskuksessa",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br/>Tämän avulla voit käyttää Riot:ia olemassa olevalla toisen Matrix palvelimen käyttäjätilillä.<br/><br/>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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Asenna <chromeLink>Chrome</chromeLink> tai <firefoxLink>Firefox</firefoxLink> parhaan käyttökokemuksen saavuttamiseksi.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> ja <operaLink>Opera</operaLink> ovat myös tuettuja.",
"Register": "Rekisteröidy",
"Rooms": "Huoneet",
"Invite to this community": "Kutsu käyttäjiä",
"Add rooms to this community": "Lisää huoneita yhteisöön",
"Reply": "Vastaa",
"View Community": "Näytä yhteisö",
"%(count)s Members|other": "%(count)s jäsentä",
"%(count)s Members|one": "%(count)s jäsen"
}

View File

@@ -1,53 +1,45 @@
{
"Add an email address above to configure email notifications": "Ajouter une adresse email pour la configuration des notifications par email",
"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 notifications par e-mail.",
"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",
"Can't update user notification settings": "Impossible de mettre à jour les notifications utilisateur",
"Can't update user notification settings": "Impossible de mettre à jour les paramètres de notification de l'utilisateur",
"Close": "Fermer",
"Create new room": "Créer un nouveau salon",
"Couldn't find a matching Matrix room": "Impossible de trouver un salon Matrix",
"Couldn't find a matching Matrix room": "Impossible de trouver un salon Matrix correspondant",
"Custom Server Options": "Options de serveur personnalisées",
"delete the alias.": "supprimer l'alias.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Supprimer l'alias %(alias)s du salon et supprimer %(name)s du répertoire ?",
"Direct Chat": "Conversation Directe",
"Direct Chat": "Discussion directe",
"Directory": "Répertoire",
"Dismiss": "Ignorer",
"Download this file": "Télécharger ce fichier",
"Drop here %(toAction)s": "Déposer ici %(toAction)s",
"Enable audible notifications in web client": "Activer les notifications sonores pour le client web",
"Enable desktop notifications": "Activer les notifications de bureau",
"Enable email notifications": "Activer les notifications par e-mail",
"Enable notifications for this account": "Activer les notifications pour ce compte",
"Enable them now": "Les activer maintenant",
"Enter keywords separated by a comma:": "Entrez les mots clés séparés par une virgule :",
"Enter keywords separated by a comma:": "Entrez les mots-clés séparés par une virgule :",
"Error": "Erreur",
"Error saving email notification preferences": "Erreur lors de la sauvegarde des notifications par email",
"Error saving email notification preferences": "Erreur lors de la sauvegarde des préférences de notification par e-mail",
"#example": "#exemple",
"Failed to": "Échec pour",
"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 join the room": "Échec de l'adhésion au salon",
"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 le chat direct",
"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é",
"Please Register": "Veuillez vous enregistrer",
"powered by Matrix": "propulsé par Matrix",
"Quote": "Citer",
"Redact": "Rédiger",
"Reject": "Rejeter",
"Remove %(name)s from the directory?": "Supprimer %(name)s du répertoire ?",
"Remove": "Supprimer",
"Resend": "Renvoyer",
"Settings": "Paramètres",
"Start chat": "Démarrer une discussion",
"unknown error code": "Code erreur inconnu",
"View Source": "Voir la source",
"You cannot delete this image. (%(code)s)": "Vous ne pouvez pas supprimer cette image. (%(code)s)",
@@ -62,33 +54,29 @@
"Saturday": "Samedi",
"Today": "Aujourd'hui",
"Yesterday": "Hier",
"Welcome page": "Page d'accueil",
"Call invitation": "Appel entrant",
"Failed to set Direct Message status of room": "Échec de la configuration de l'état de Message Direct du salon",
"Failed to set Direct Message status of room": "Échec du réglage de l'état du salon en Discussion directe",
"Fetching third party location failed": "Échec de la récupération de la localisation tierce",
"Files": "Fichiers",
"Filter room names": "Filtrer les salons par nom",
"Forget": "Oublier",
" from room": " du salon",
"Guest users can't invite users. Please register to invite.": "Les visiteurs ne peuvent démarrer une discussion. Merci de vous enregistrer pour pouvoir démarrer une discussion.",
"Invite to this room": "Inviter dans ce salon",
"Keywords": "Mots-clés",
"Leave": "Quitter",
"Low Priority": "Priorité Basse",
"Low Priority": "Priorité basse",
"Members": "Membres",
"Mentions only": "Seulement les mentions",
"Messages containing my display name": "Messages contenant mon nom",
"Messages containing my display name": "Messages contenant mon nom affiché",
"Messages containing my user name": "Message contenant mon nom d'utilisateur",
"Messages in group chats": "Messages dans les conversations de groupe",
"Messages in one-to-one chats": "Messages dans les conversations directes",
"Messages in group chats": "Messages dans les discussions de groupe",
"Messages in one-to-one chats": "Messages dans les discussions directes",
"Messages sent by bot": "Messages envoyés par des robots",
"more": "plus",
"Mute": "Couper le son",
"Mute": "Mettre en sourdine",
"No rooms to show": "Aucun salon à afficher",
"Noisy": "Activer le son",
"Noisy": "Bruyant",
"Notification targets": "Appareils recevant les notifications",
"Notifications": "Notifications",
"Notifications on the following keywords follow rules which cant be displayed here": "Les mots-clés suivants suivent des règles de notification qui ne peuvent être affichées ici",
"Notify for all other messages/rooms": "Me notifier pour tous les autres messages/salons",
"Notify me for anything else": "Me notifier pour tout le reste",
"Off": "Désactivé",
@@ -97,35 +85,32 @@
"remove %(name)s from the directory.": "supprimer %(name)s du répertoire.",
"Remove from Directory": "Supprimer du répertoire",
"Riot does not know how to join a room on this network": "Riot ne peut pas joindre un salon sur ce réseau",
"Room directory": "Répertoire des salons",
"Room not found": "Salon non trouvé",
"Search for a room": "Chercher un salon",
"Source URL": "URL source",
"The Home Server may be too old to support third party networks": "Le Home Server semble trop ancien pour supporter des réseaux tiers",
"Search for a room": "Rechercher un salon",
"Source URL": "URL de la source",
"The Home Server may be too old to support third party networks": "Le serveur d'accueil semble trop ancien pour supporter des réseaux tiers",
"There are advanced notifications which are not shown here": "Il existe une configuration avancée des notifications qui ne peut être affichée ici",
"The server may be unavailable or overloaded": "Le serveur est indisponible ou surchargé",
"This room is inaccessible to guests. You may be able to join if you register.": "Ce salon n'est pas ouvert aux visiteurs. Vous pourrez peut-être le rejoindre si vous vous enregistrez.",
"Unable to fetch notification target list": "Impossible de récupérer la liste des appareils recevant les notifications",
"Unable to join network": "Impossible de rejoindre le réseau",
"Unable to look up room ID from server": "Impossible de récupérer l'ID du salon sur le serveur",
"Unhide Preview": "Dévoiler l'aperçu",
"Unnamed room": "Salon anonyme",
"Unnamed room": "Salon sans nom",
"Uploaded on %(date)s by %(user)s": "Téléchargé le %(date)s par %(user)s",
"View Decrypted Source": "Voir la source décryptée",
"View Decrypted Source": "Voir la source déchiffrée",
"When I'm invited to a room": "Quand je suis invité dans un salon",
"World readable": "Visible par tout le monde",
"World readable": "Lisible publiquement",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Vous les avez probablement configurées dans un autre client que Riot. Vous ne pouvez pas les configurer dans Riot mais elles s'appliquent quand même",
"Guests can join": "Ouvert aux visiteurs",
" to room": " au salon",
"Guests can join": "Les invités peuvent rejoindre le salon",
"Advanced notification settings": "Paramètres de notification avancés",
"customServer_text": "Vous pouvez utiliser l'option de serveur personnalisé pour vous connectez à d'autres serveurs Matrix, en spécifiant une adresse de homerserver différente.<br/>Cela permet d'utiliser Riot avec un compte existant sur un homeserver différent.<br/><br/>Vous pouvez aussi indiquer un serveur d'identité personnel mais vous ne pourrez plus inviter des utilisateurs par email, ou être invité par email.",
"customServer_text": "Vous pouvez utiliser les options de serveur personnalisées pour vous connecter à d'autres serveurs Matrix, en spécifiant une adresse de serveur d'accueil différente.<br/>Cela permet d'utiliser Riot avec un compte Matrix existant sur un serveur d'accueil différent.<br/><br/>Vous pouvez aussi indiquer un serveur d'identité personnalisé mais vous ne pourrez pas inviter d'utilisateurs par e-mail ou être invité par e-mail.",
"Notifications on the following keywords follow rules which cant be displayed here:": "Les notifications pour les mots-clés suivant répondent à des critères qui ne peuvent pas être affichés ici :",
"Collapse panel": "Cacher le panneau",
"Expand panel": "Dévoiler le panneau",
"I understand the risks and wish to continue": "Je comprends les risques et souhaite continuer",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utilise de nombreuses fonctionnalités avancées du navigateur, certaines ne sont pas disponibles ou expérimentales dans votre navigateur actuel.",
"Sorry, your browser is <b>not</b> able to run Riot.": "Désolé, Riot n'est <b>pas</b> supporté par votre navigateur.",
"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!": "Depuis votre navigateur actuel, le visuel et le ressenti de l'application pourraient être complètement incorrects, et certaines fonctionnalités pourraient ne pas être supportées. Vous pouvez continuer malgré tout, mais vous n'aurez pas de support si vous rencontrez des problèmes !",
"Sorry, your browser is <b>not</b> able to run Riot.": "Désolé, Riot <b>n'</b>est <b>pas</b> supporté par votre navigateur.",
"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!": "Depuis votre navigateur actuel, le visuel et le ressenti de l'application pourraient être complètement erronés, et certaines fonctionnalités pourraient ne pas être supportées. Vous pouvez continuer malgré tout, mais vous n'aurez aucune aide si vous rencontrez des problèmes !",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Veuillez installer <a href=\"https://www.google.com/chrome\">Chrome</a> ou <a href=\"https://getfirefox.com\">Firefox</a> pour une expérience optimale.",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> et <a href=\"http://opera.com\">Opera</a> fonctionnent aussi.",
"Messages containing <span>keywords</span>": "Messages contenant des <span>mots-clés</span>",
@@ -133,71 +118,113 @@
"A new version of Riot is available.": "Une nouvelle version de Riot est disponible.",
"All Rooms": "Tous les salons",
"Cancel": "Annuler",
"Changelog": "Journal des modif",
"Collecting app version information": "Récupération des info de version de lapplication",
"Collecting logs": "Récupération des traces",
"Changelog": "Journal des modifications",
"Collecting app version information": "Récupération des informations de version de lapplication",
"Collecting logs": "Récupération des journaux",
"Describe your problem here.": "Décrivez votre problème ici.",
"Failed to send report: ": "Échec de lenvoi du rapport : ",
"Forward Message": "Transférer le message",
"Hide panel": "Cacher le panneau",
"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:": "Afin de diagnostiquer le problème, les traces de ce client vont être envoyées avec ce rapport derreur. Si vous préférez seulement envoyer le texte ci-dessus, décochez la case :",
"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:": "Afin de diagnostiquer les problèmes, les journaux de ce client vont être envoyés avec ce rapport derreur. Si vous préférez n'envoyer que le texte ci-dessus, décochez la case :",
"Loading bug report module": "Chargement du module de rapport derreur",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Veuillez décrire le problème. Quavez-vous fait ? Quel comportement vous attendiez vous à voir ? Que sest-il effectivement passé ?",
"Please describe the bug and/or send logs.": "Veuillez décrire le problème et/ou envoyer les traces.",
"Report a bug": "Reporter un problème",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Veuillez décrire l'erreur. Qu'avez-vous fait ? Quel était le comportement attendu ? Que s'est-il réellement passé ?",
"Please describe the bug and/or send logs.": "Veuillez décrire le problème et/ou envoyer les journaux.",
"Report a bug": "Signaler un problème",
"Riot Desktop on %(platformName)s": "Version bureau de Riot sur %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot Web nest pas supporté sur mobile. Installer lapplication ?",
"Riot is not supported on mobile web. Install the app?": "Riot nest pas supporté sur les appareils mobiles. Installer lapplication ?",
"Search": "Rechercher",
"Search…": "Rechercher…",
"Send": "Envoyer",
"Send logs": "Envoyer les traces",
"Send logs": "Envoyer les journaux",
"This Room": "Ce salon",
"Unavailable": "Indisponible",
"Unknown device": "Appareil inconnu",
"Update": "Mettre à jour",
"Uploading report": "Téléchargement du rapport",
"Uploading report": "Envoi du rapport",
"What's New": "Nouveautés",
"What's new?": "Nouveautés ?",
"Waiting for response from server": "En attente dune réponse du serveur",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Vous utilisez Riot en tant que visiteur. <a>Enregistrez-vous</a> ou <a>identifiez-vous</a> pour accéder à plus de salons et de fonctionnalités !",
"You need to be using HTTPS to place a screen-sharing call.": "Vous devez utiliser HTTPS pour effectuer un appel en partage décran.",
"OK": "OK",
"Failed to change password. Is your password correct?": "Échec du changement de mot de passe. Votre mot de passe est-il correct ?",
"You have successfully set a password!": "Vous avez paramétré un mot de passe avec succès !",
"You have successfully set a password!": "Vous avez défini un mot de passe avec succès !",
"Continue": "Continuer",
"Please set a password!": "Veuillez définir un mot de passe !",
"You can now return to your account after signing out, and sign in on other devices.": "Vous pouvez maintenant revenir sur votre compte après vous être déconnecté, et vous identifier sur d'autres appareils.",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Cela vous permettra de retourner sur votre compte après vous être déconnecté, et de vous identifier sur d'autres appareils.",
"Welcome to Riot.im": "Bienvenue sur Riot.im",
"(HTTP status %(httpStatus)s)": "(statut HTTP %(httpStatus)s)",
"Login": "S'identifier",
"(HTTP status %(httpStatus)s)": "(état HTTP %(httpStatus)s)",
"Login": "Connexion",
"Chat with Riot Bot": "Discussion avec Riot Bot",
"Search the room directory": "Rechercher dans le répertoire de salon",
"Search the room directory": "Rechercher dans le répertoire de salons",
"Get started with some tips from Riot Bot!": "Démarrer avec quelques astuces de Riot Bot !",
"Riot/Android &amp; matrix-android-sdk chat": "Discussions Riot/Android &amp; matrix-android-sd",
"Riot/iOS &amp; matrix-ios-sdk chat": "Discussions Riot/iOS &amp; matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Discussions sur Riot/Android &amp; matrix-android-sdk",
"Riot/iOS &amp; matrix-ios-sdk chat": "Discussions sur Riot/iOS &amp; matrix-ios-sdk",
"General discussion about Matrix and Riot": "Discussion générale sur Matrix et Riot",
"Riot/Web &amp; Desktop chat": "Discussions Riot/Web &amp; Desktop",
"Running Matrix services": "Execution de services Matrix",
"Riot/Web &amp; Desktop chat": "Discussions sur Riot/Web &amp; Bureau",
"Running Matrix services": "Exécution de services Matrix",
"Admin support for Dendrite": "Support admin pour Dendrite",
"Announcements about Synapse releases": "Communiqués sur les nouvelles versions de Synapse",
"Matrix technical discussions": "Discussions techniques sur Matrix",
"Community-run support for Synapse": "Support communautaire sur Synape",
"Community-run support for Synapse": "Support communautaire sur Synapse",
"Support for those using and running matrix-appservice-irc": "Support pour ceux qui utilisent et exécutent matrix-appservice-irc",
"Building services on Matrix": "Développement de services sur Matrix",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Discussion &amp; collaboration décentralisées et encryptées propulsé par [matrix]",
"Discussion of all things Matrix!": "Discussion de tous les sujets Matrix !",
"Support for those using the Matrix spec": "Support pour les utilisateurs de la spec Matrix",
"Design and implementation of E2E in Matrix": "Définition et implémentation de la crypto dans Matrix",
"Implementing VR services with Matrix": "Implémentation de de services de réalité virtuelle avec Matrix",
"Implementing VoIP services with Matrix": "Implémentation de de services de voix sur IP avec Matrix",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Discussion &amp; collaboration décentralisées et chiffrées, propulsées par [matrix]",
"Discussion of all things Matrix!": "Discussion sur tout ce qui concerne Matrix !",
"Support for those using the Matrix spec": "Support pour les utilisateurs de la spécification de Matrix",
"Design and implementation of E2E in Matrix": "Définition et implémentation du chiffrement de bout en bout dans Matrix",
"Implementing VR services with Matrix": "Implémentation de services de réalité virtuelle avec Matrix",
"Implementing VoIP services with Matrix": "Implémentation de services de voix sur IP avec Matrix",
"Discussion of the Identity Service API": "Discussion sur lAPI du Service Identité",
"Support for those using, running and writing other bridges": "Support pour les utilisateurs, administrateurs et développeurs de passerelles",
"Contributing code to Matrix and Riot": "Contribuer à Matrix et Riot",
"Dev chat for the Riot/Web dev team": "Forum pour les discussions sur les développements de Riot/Web",
"Dev chat for the Dendrite dev team": "Forum pour les discussion sur les développements de Dendrite",
"Support for those using, running and writing other bridges": "Support pour les utilisateurs, administrateurs et développeurs d'autres passerelles",
"Contributing code to Matrix and Riot": "Contribuer du code à Matrix et Riot",
"Dev chat for the Riot/Web dev team": "Discussions de l'équipe de développeurs de Riot/Web",
"Dev chat for the Dendrite dev team": "Discussion pour l'équipe de développeurs de Dendrite",
"Co-ordination for Riot/Web translators": "Coordination des traducteurs de Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Beaucoup de salons existent déjà dans Matrix, liés à des réseaux existants (Slsck, IRC, Gitter etc) ou indépendants. Jetez un oeil au répertoire !",
"You have successfully set a password and an email address!": "Vous avez configuré un mot de passe et une adresse e-mail avec succès !",
"Remember, you can always set an email address in user settings if you change your mind.": "Souvenez-vous que vous pourrez toujours définir une adresse e-mail dans la configuration utilisateur si vous changez davis."
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "De nombreux salons existent déjà dans Matrix, liés à des réseaux existants (Slack, IRC, Gitter etc) ou indépendants. Jetez un œil au répertoire !",
"You have successfully set a password and an email address!": "Vous avez défini un mot de passe et une adresse e-mail avec succès !",
"Remember, you can always set an email address in user settings if you change your mind.": "Souvenez-vous que vous pourrez toujours définir une adresse e-mail dans les paramètres de l'utilisateur si vous changez davis.",
"Warning": "Attention",
"Checking for an update...": "Recherche de mise à jour...",
"Error encountered (%(errorDetail)s).": "Erreur rencontrée (%(errorDetail)s).",
"No update available.": "Aucune mise à jour disponible.",
"Downloading update...": "Mise à jour en cours de téléchargement...",
"To return to your account in future you need to <u>set a password</u>": "Pour pouvoir retrouver votre compte dans le futur, vous devez <u>définir un mot de passe</u>",
"Set Password": "Définir un mot de passe",
"Couldn't load home page": "Impossible de charger la page d'accueil",
"Bug report sent": "Rapport d'erreur envoyé",
"Thank you!": "Merci !",
"Back": "Retour",
"Developer Tools": "Outils de développement",
"Filter results": "Filtrer les résultats",
"You must specify an event type!": "Vous devez spécifier un type d'événement !",
"Event sent!": "Événement envoyé !",
"Event Type": "Type d'événement",
"Event Content": "Contenu de l'événement",
"Failed to send custom event.": "Échec de l'envoi de l'événement personnalisé.",
"Send Custom Event": "Envoyer l'événement personnalisé",
"Send Custom State Event": "Envoyer l'événement d'état personnalisé",
"Explore Room State": "Parcourir l'état du salon",
"State Key": "Clé d'état",
"Unpin Message": "Dépingler le message",
"Add rooms to this community": "Ajouter des salons à cette communauté",
"Show message in desktop notification": "Afficher le message dans les notifications de bureau",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.": "Vous pouvez utiliser les options de serveur personnalisé pour vous connecter à d'autres serveurs Matrix en précisant un serveur d'accueil différent.<br/>Cela vous permet d'utiliser Riot avec un compte Matrix existant sur un autre serveur d'accueil.<br/><br/>Vous pouvez aussi renseigner un serveur d'identité personnalisé mais vous ne pourrez pas inviter d'utilisateurs avec leur adresse e-mail, ou être invité avec votre adresse e-mail.",
"Edit": "Modifier",
"Pin Message": "Épingler le message",
"Register": "S'inscrire",
"Rooms": "Salons",
"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",
"Appear Offline": "Apparaître Hors ligne",
"Away": "Absent",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Veuillez installer <chromeLink>Chrome</chromeLink> ou <firefoxLink>Firefox</firefoxLink> pour une expérience optimale.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> et <operaLink>Opera</operaLink> fonctionnent également.",
"Reply": "Répondre",
"%(count)s Members|other": "%(count)s membres",
"%(count)s Members|one": "%(count)s membre",
"Online": "En ligne",
"View Community": "Voir la communauté"
}

230
src/i18n/strings/gl.json Normal file
View File

@@ -0,0 +1,230 @@
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s vía %(browserName)s en %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> e <a href=\"http://opera.com\">Opera</a> tamén serven.",
"A new version of Riot is available.": "Está dispoñible unha nova versión de Riot.",
"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 (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.",
"Back": "Atrás",
"Bug report sent": "Enviado o informe de fallo",
"Call invitation": "Convite de chamada",
"Cancel": "Cancelar",
"Cancel Sending": "Cancelar o envío",
"Can't update user notification settings": "Non se poden actualizar os axutes de notificación",
"Changelog": "Rexistro de cambios",
"Close": "Pechar",
"Collapse panel": "Agochar panel",
"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": "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.<br/>Esto permítelle utilizar Riot con unha conta existente de Matrix nun servidor diferente.<br/><br/>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?",
"Describe your problem here.": "Describa aquí o seu problema.",
"Developer Tools": "Ferramentas para desenvolver",
"Direct Chat": "Chat directo",
"Directory": "Directorio",
"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",
"Enable email notifications": "Habilitar notificacións de correo",
"Enable notifications for this account": "Habilitar notificacións para esta conta",
"Enable them now": "Habilitalas agora",
"Enter keywords separated by a comma:": "Introduza palabras chave separadas por vírgulas:",
"Error": "Fallo",
"Error saving email notification preferences": "Fallo ao cargar os axustes de notificacións",
"#example": "#exemplo",
"Expand panel": "Expandir panel",
"Failed to add tag %(tagName)s to room": "Fallo ao engadir a etiqueta %(tagName)s a sala",
"Failed to change settings": "Fallo ao cambiar os axustes",
"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",
"Failed to remove tag %(tagName)s from room": "Fallo ao eliminar a etiqueta %(tagName)s da sala",
"Failed to send custom event.": "Fallo ao enviar evento personalizado.",
"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": "Favorita",
"Fetching third party location failed": "Fallo ao obter a localización de terceiros",
"Files": "Ficheiros",
"Filter results": "Filtrar resultados",
"Filter room names": "Filtrar nomes de sala",
"Forget": "Esquecer",
"Forward Message": "Reenviar mensaxe",
"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",
"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 poder diagnosticar o problema, os rexistros de este cliente enviaranse neste informe de fallo. Si prefire enviar só o texto superior, desmarque:",
"Invite to this room": "Convidar a esta sala",
"Keywords": "Palabras chave",
"Leave": "Saír",
"Login": "Conectar",
"Loading bug report module": "Cargando o módulo de informe de fallos",
"Low Priority": "Baixa prioridade",
"Members": "Membresía",
"Mentions only": "Só mencións",
"Messages containing my display name": "Mensaxes que conteñen o meu nome público",
"Messages containing <span>keywords</span>": "Mensaxes que conteñen <span>palabras chave</span>",
"Messages containing my user name": "Mensaxes que conteñen o meu nome de usuaria",
"Messages in group chats": "Mensaxes en grupos de chat",
"Messages in one-to-one chats": "Mensaxes en chats un-a-un",
"Messages sent by bot": "Mensaxes enviadas por bot",
"more": "máis",
"Mute": "Acalar",
"No rooms to show": "Sen salas que mostrar",
"Noisy": "Ruidoso",
"Notification targets": "Obxetivos das notificacións",
"Notifications": "Notificacións",
"Notifications on the following keywords follow rules which cant be displayed here:": "Notificacións das reglas de seguimento das seguintes palabras que non se mostrarán aquí:",
"Notify for all other messages/rooms": "Notificar para todas as outras mensaxes/salas",
"Notify me for anything else": "Notificarme todo o demáis",
"Off": "Off",
"On": "On",
"Operation failed": "Fallou a operación",
"Permalink": "Ligazón permanente",
"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 <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Por favor instale <a href=\"https://www.google.com/chrome\">Chrome</a> ou <a href=\"https://getfirefox.com\">Firefox</a> para ter a mellor experiencia de uso.",
"powered by Matrix": "funciona grazas a Matrix",
"Quote": "Cita",
"Reject": "Rexeitar",
"Remove %(name)s from the directory?": "Eliminar %(name)s do directorio?",
"Remove": "Eliminar",
"remove %(name)s from the directory.": "eliminar %(name)s do directorio.",
"Remove from Directory": "Eliminar do directorio",
"Report a bug": "Informar de un fallo",
"Resend": "Voltar a enviar",
"Riot Desktop on %(platformName)s": "Riot Desktop en %(platformName)s",
"Riot does not know how to join a room on this network": "Riot non sabe cómo conectar con unha sala en esta rede",
"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": "Busca",
"Search…": "Buscar…",
"Search for a room": "Buscar unha sala",
"Send": "Enviar",
"Send logs": "Enviar informes",
"Send Custom Event": "Enviar evento personalizado",
"Send Custom State Event": "Enviar evento de estado personalizado",
"Explore Room State": "Explorar estado da sala",
"Source URL": "URL fonte",
"Sorry, your browser is <b>not</b> able to run Riot.": "Desculpe, o seu navegador <b>non pode</b> executar Riot.",
"The Home Server may be too old to support third party networks": "O servidor de inicio podería ser demasiando antigo como para aceptar redes de terceiros",
"There are advanced notifications which are not shown here": "Existen notificacións avanzadas que non se mostran aquí",
"The server may be unavailable or overloaded": "O servidor podería non estar dispoñible ou sobrecargado",
"This Room": "Esta sala",
"Unable to fetch notification target list": "Non se puido procesar a lista de obxetivo de notificacións",
"Unable to join network": "Non se puido conectar a rede",
"Unable to look up room ID from server": "Non se puido atopar o ID da sala do servidor",
"Unavailable": "Non dispoñible",
"Unhide Preview": "Desagochar a vista previsa",
"Unknown device": "Dispositivo 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",
"Uploading report": "Informe da subida",
"View Decrypted Source": "Ver a fonte descifrada",
"View Source": "Ver fonte",
"What's New": "Qué hai de novo",
"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 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",
"You must specify an event type!": "Debe indicar un tipo de evento!",
"Thank you!": "Grazas!",
"Sunday": "Domingo",
"Monday": "Luns",
"Tuesday": "Martes",
"Wednesday": "Mércores",
"Thursday": "Xoves",
"Friday": "Venres",
"Saturday": "Sábado",
"Today": "Hoxe",
"Yesterday": "Onte",
"OK": "OK",
"Warning": "Aviso",
"Checking for an update...": "Comprobando as actualizacións...",
"Error encountered (%(errorDetail)s).": "Houbo un erro (%(errorDetail)s).",
"Event sent!": "Evento enviado!",
"Event Type": "Tipo de evento",
"Event Content": "Contido do evento",
"State Key": "Chave do estado",
"No update available.": "Sen actualizacións.",
"Downloading update...": "Descargando actualización...",
"You need to be using HTTPS to place a screen-sharing call.": "Precisa utilizar HTTPS para establecer unha chamada de 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!": "Co seu navegador actual a apareciencia e uso do aplicativo poderían estar totalmente falseadas, e algunhas características poderían non funcionar. Se quere pode continuar, pero debe ser consciente de que poden haber fallos!",
"Welcome to Riot.im": "Benvida a Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat &amp; colaboración descentralizados e cifrados grazas a [matrix]",
"Search the room directory": "Buscar no directorio de salas",
"Chat with Riot Bot": "Chat co Bot de Riot",
"Get started with some tips from Riot Bot!": "Iníciese con algúns consellos do Bot de Riot!",
"General discussion about Matrix and Riot": "Discusión xeral sobre Matrix e Riot",
"Discussion of all things Matrix!": "Conversa sobre to o relativo a Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; chat de Escritorio",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; chat matrix-ios-sdk",
"Matrix technical discussions": "Discusións técnicas sobre Matrix",
"Running Matrix services": "Servizos correndo sobre Matrix",
"Community-run support for Synapse": "Axuda da comunidade para Synapse",
"Admin support for Dendrite": "Axuda administrador para Dendrite",
"Announcements about Synapse releases": "Anuncios sobre lanzamentos de Synapse",
"Support for those using and running matrix-appservice-irc": "Axuda para quen usa matrix-appservice-irc",
"Building services on Matrix": "Deseñando servizos sobre Matrix",
"Support for those using the Matrix spec": "Axuda para quen usa a especificación Matrix",
"Design and implementation of E2E in Matrix": "Deseño e implementación de E2E en Matrix",
"Implementing VR services with Matrix": "Implementando servizos de RV con Matrix",
"Implementing VoIP services with Matrix": "Implementación de servizos VoIP con Matrix",
"Discussion of the Identity Service API": "Conversa sobre a Identity Service API",
"Support for those using, running and writing other bridges": "Axuda para que utiliza, executa e desenvolve outras pontes",
"Contributing code to Matrix and Riot": "Contribuíndo ao código en Matrix e Riot",
"Dev chat for the Riot/Web dev team": "Chat para o equipo de desenvolvemento do Riot/Web",
"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?": "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",
"Please set a password!": "Por favor estableza un contrasinal!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Esto permitiralle voltar a súa conta tras desconectarse, e conectarse en outros dispositivos.",
"You have successfully set a password and an email address!": "Estableceu correctamente un contrasinal e enderezo de correo!",
"Remember, you can always set an email address in user settings if you change your mind.": "Lembre, sempre poderá poñer un enderezo de correo nos axustes de usuario si cambia de idea.",
"To return to your account in future you need to <u>set a password</u>": "Para voltar a súa conta no futuro debe <u>establecer un contrasinal>/u>",
"Set Password": "Establecer contrasinal",
"Couldn't load home page": "Non se cargou a páxina de inicio",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Pode que os configurase nun cliente diferente de Riot. Non pode establecelos desde Riot pero aínda así aplicaranse",
"Riot/Android &amp; matrix-android-sdk chat": "Chat para Riot/Android &amp; matrix-android-sdk",
"Show message in desktop notification": "Mostrar mensaxe nas notificacións de escritorio",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.": "Vostede pode utilizar as opcións de servidor personalizado para conectarse a outros servidores Matrix indicando o enderezo URL do Servidor.</br>Esto permítelle utilizar Riot con unha conta Matrix existente en outro servidor.<br/><br/>Tamén pode indicar un servidor de identidade pero non poderá convidar a usarias polo seu enderezo de correo electrónico, o ser convidada vostede por correo electrónico.",
"Toolbox": "Ferramentas",
"Edit": "Editar",
"Send Account Data": "Enviar datos da conta",
"Explore Account Data": "Explorar datos da conta",
"Unpin Message": "Desfixar mensaxe",
"Pin Message": "Fixar mensaxe",
"Register": "Rexistar",
"Rooms": "Salas",
"Invite to this community": "Convidar 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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Por favor instale <chromeLink>Chrome</chromeLink> ou <firefoxLink>Firefox</firefoxLink> para a mellor experiencia de usuaria.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> e <operaLink>Opera</operaLink> tamén funcionan.",
"Reply": "Resposta",
"Online": "En liña",
"View Community": "Ver Comunidade",
"%(count)s Members|other": "%(count)s Membros",
"%(count)s Members|one": "%(count)s Membro"
}

View File

@@ -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.": "קרתה שגיאה בזמן שמירת הגדרות התראה באמצעות הדואר האלקטרוני.",
@@ -16,7 +16,6 @@
"Collapse panel": "סגור פאנל",
"Collecting app version information": "אוסף מידע על גרסת האפליקציה",
"Collecting logs": "אוסף לוגים",
"Create new room": "צור חדר חדש",
"Couldn't find a matching Matrix room": "לא נמצא חדר כזה ב Matrix",
"Custom Server Options": "הגדרות שרת מותאמות אישית",
"customServer_text": "אפשר להשתמש בהגדרות שרת מותאמות אישית בכדי להתחבר לשרתים אחרים באמצעות בחירת כתובת שרת בית שונה.<br/>זה יאפשר לך להשתמש ב Riot עם חשבון קיים ב Matrix אבל אל מול שרת בית שונה. <br/><br/>כמו כן אפשר להגדיר זהות מותאמת אישית אבל אז לא תהיה אפשרות להזמין משתמשים באמצעות כתובת אימייל, או להזמין את עצמך באמצעות כתובת האימייל.",
@@ -37,14 +36,12 @@
"Error saving email notification preferences": "שגיאה בעת שמירת הגדרות התראה באמצעות הדואר האלקטרוני",
"#example": "#דוגמא",
"Expand panel": "הרחב פנאל",
"Failed to": "נכשל ב",
"Failed to add tag %(tagName)s to room": "נכשל בעת הוספת תג %(tagName)s לחדר",
"Failed to change settings": "נכשל בעת שינוי הגדרות",
"Failed to forget room %(errCode)s": "נכשל בעת בקשה לשכוח חדר %(errCode)s",
"Failed to update keywords": "נכשל עדכון מילים",
"Failed to get protocol list from Home Server": "נכשל בעת נסיון קבלת רשימת פרוטוקולים משרת הבית",
"Failed to get public room list": "נכשלה קבלת רשימת חדרים ציבוריים",
"Failed to join the room": "הצטרפות לחדר נכשלה",
"Failed to remove tag %(tagName)s from room": "נכשל בעת נסיון הסרת תג %(tagName)s מהחדר",
"Failed to send report: ": "נכשל בעת שליחת דו\"ח: ",
"Failed to set direct chat tag": "נכשל בעת סימון תג לשיחה ישירה",
@@ -55,9 +52,7 @@
"Filter room names": "מיין לפי שמות חדרים",
"Forget": "שכח",
"Forward Message": "העבר הודעה",
" from room": " מחדר",
"Guests can join": "אורחים יכולים להצטרף",
"Guest users can't invite users. Please register to invite.": "משתמש אורח לא יכול להזמין משתמשים אחרים. נא להרשם בכדי להזמין.",
"Hide panel": "הסתר פנאל",
"I understand the risks and wish to continue": "אני מבין את הסיכונים אבל מבקש להמשיך",
"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:": "בכדי לנתח את הבעיות, ישלח דוח עם פרטי הבעיה. אם ברצונך רק לשלוח את שנאמר למעלה, נא הסר את הסימון:",
@@ -90,7 +85,6 @@
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "נא תאר את הבאג. מה עשית? מה ציפית שיקרה? מה קרה בפועל?",
"Please describe the bug and/or send logs.": "נא תאר את הבאג ו/או שלח את הלוגים.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "נא התקן <a href=\"https://www.google.com/chrome\"> כרום</a> או <a href=\"https://getfirefox.com\"> פיירפוקס</a> לשימוש מייטבי.",
"Please Register": "נא להרשם",
"powered by Matrix": "מופעל ע\"י Matrix",
"Quote": "ציטוט",
"Reject": "דחה",
@@ -104,23 +98,18 @@
"Riot does not know how to join a room on this network": "Riot אינו יודע כיצד להצטרף לחדר ברשת זו",
"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.": "Riot משתמש במספר רב של אפשרויות מתקדמות בדפדפן, חלק מהן לא זמינות או בשלבי נסיון בדפדפן שבשימושך כרגע.",
"Room directory": "רשימת חדרים",
"Room not found": "חדר לא נמצא",
"Search": "חפש",
"Search…": "חפש…",
"Search for a room": "חפש חדר",
"Send": "שלח",
"Send logs": "שלח לוגים",
"Settings": "הגדרות",
"Source URL": "כתובת אתר המקור",
"Sorry, your browser is <b>not</b> able to run Riot.": "מצטערים, הדפדפן שלך הוא <b> אינו</b> יכול להריץ את Riot.",
"Start chat": "התחל שיחה",
"The Home Server may be too old to support third party networks": "שרת הבית ישן ואינו יכול לתמוך ברשתות צד שלישי",
"There are advanced notifications which are not shown here": "ישנן התראות מתקדמות אשר אינן מוצגות כאן",
"The server may be unavailable or overloaded": "השרת אינו זמין או עמוס",
"This Room": "החדר הזה",
"This room is inaccessible to guests. You may be able to join if you register.": "החדר אינו זמין לאורחים. יש באפשרותך להצטרף רק אחרי רישום.",
" to room": " אל חדר",
"Unable to fetch notification target list": "לא ניתן לאחזר רשימת יעדי התראה",
"Unable to join network": "לא ניתן להצטרף לרשת",
"Unable to look up room ID from server": "לא ניתן לאתר מזהה חדר על השרת",
@@ -142,7 +131,6 @@
"You cannot delete this image. (%(code)s)": "אי אפשר למחוק את התמונה. (%(code)s)",
"You cannot delete this message. (%(code)s)": "לא ניתן למחוק הודעה זו. (%(code)s)",
"You are not receiving desktop notifications": "אתה לא מקבל התראות משולחן העבודה",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "אתה משתמש ב Riot כאורח. <a>הרשם</a> או <a> התחבר</a> בכדי לגשת לחדרים נוספים!",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "יתכן כי בצעת את ההגדרות בצד לקוח ולא ב Riot. לא תוכל לווסת אותם ב Riot אבל הם עדיין תקפים",
"Sunday": "ראשון",
"Monday": "שני",
@@ -155,7 +143,6 @@
"Yesterday": "אתמול",
"OK": "בסדר",
"You need to be using HTTPS to place a screen-sharing call.": "עליך להשתמש ב HTTPS בכדי לבצע שיחה משותפת.",
"Welcome page": "מסך פתיחה",
"Welcome to Riot.im": "ברוכים הבאים ל Riot.im",
"Search the room directory": "חפש ברשימת החדרים",
"Chat with Riot Bot": "שיחה עם Riot בוט",
@@ -191,9 +178,7 @@
"This will allow you to return to your account after signing out, and sign in on other devices.": "זה יאפשר לך לחזור לחשבונך אחרי התנתקות ולהתחבר באמצעות התקנים אחרים.",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s באמצעות הדפדפן %(browserName)s על גבי %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\"> ספארי</a> ו <a href=\"http://opera.com\"> אופרה</a> עובדים גם כן.",
"Drop here %(toAction)s": "זרוק כאן %(toAction)s",
"Notifications on the following keywords follow rules which cant be displayed here:": "התראה על מילות המפתח הבאות עוקבת אחר החוקים שאינם יכולים להיות מוצגים כאן:",
"Redact": "אדום",
"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!": "באמצעות הדפדפן הנוכחי שלך המראה של האפליקציה יכול להיות שגוי לחלוטין וחלק מהאפשרויות לא תתפקדנה. אם תרצה לנסות בכל זאת תוכל אבל אז הסיכון חל עליך!",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "צ'ט מוצפן &amp; ושת\"פ נעשה ע\"י ה [matrix]"
}

View File

@@ -1,121 +1,108 @@
{
"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",
"Add an email address above to configure email notifications": "E-mail értesítések beállításához adj meg egy e-mail címet",
"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.",
"An error occurred whilst saving your email notification preferences.": "Hiba történt az e-mail értesítési beállításaid mentése közben.",
"Call invitation": "Hívás meghívó",
"Cancel Sending": "Küldés megszakítása",
"Can't update user notification settings": "Nem sikerül frissíteni az értesítési beállításokat",
"Close": "Bezár",
"Create new room": "Új szoba létrehozása",
"Can't update user notification settings": "Nem lehet frissíteni az értesítési beállításokat",
"Close": "Bezárás",
"Couldn't find a matching Matrix room": "Nem található a keresett Matrix szoba",
"Custom Server Options": "Egyedi szerver beállítások",
"Custom Server Options": "Egyedi szerverbeállítások",
"delete the alias.": "becenév törlése.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Törlöd a(z) %(alias)s szobát és kiveszed a könyvrból ezt: %(name)s?",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Törlöd a szoba nevét (%(alias)s) és eltávolítod a listából ezt: %(name)s?",
"Direct Chat": "Közvetlen csevegés",
"Directory": "Könyvtár",
"Dismiss": "Eltűntet",
"Dismiss": "Eltüntet",
"Download this file": "Fájl letöltése",
"Drop here %(toAction)s": "%(toAction)s -t húzd ide",
"Enable audible notifications in web client": "Hallható értesítések engedélyezése a webes kliensben",
"Enable audible notifications in web client": "Hangértesítések engedélyezése a webkliensben",
"Enable desktop notifications": "Asztali értesítések engedélyezése",
"Enable email notifications": "E-mail értesítések engedélyezése",
"Enable notifications for this account": "Értesítések engedélyezése a fiókhoz",
"Enable notifications for this account": "Értesítések engedélyezése ehhez a fiókhoz",
"Enable them now": "Engedélyezés most",
"Enter keywords separated by a comma:": "Kulcsszavak vesszővel elválasztva:",
"Error": "Hiba",
"Error saving email notification preferences": "Hiba email értesítés beállításának mentésénél",
"Error saving email notification preferences": "Hiba az e-mail értesítési beállítások mentésekor",
"#example": "#példa",
"Failed to": "Nem lehet",
"Failed to add tag %(tagName)s to room": "Nem lehet a címkét hozzáadni a szobához: %(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 join the room": "Nem lehet csatlakozni a szobához",
"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 set Direct Message status of room": "Nem lehet beállítani a Közvetlen beszélgetés státuszt a szobához",
"Failed to add tag %(tagName)s to room": "Nem sikerült hozzáadni a szobához ezt: %(tagName)s",
"Failed to change settings": "A beállítások megváltoztatása nem sikerült",
"Failed to forget room %(errCode)s": "Nem sikerült elfelejteni a szobát: %(errCode)s",
"Failed to update keywords": "Nem lehet frissíteni a kulcsszavakat",
"Failed to get protocol list from Home Server": "Nem sikerült a protokoll listát lekérni a saját szerverről",
"Failed to get public room list": "Nem sikerült lekérdezni a nyilvános szobák listáját",
"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 szoba közvetlen beszélgetés státuszát",
"Favourite": "Kedvenc",
"Fetching third party location failed": "Nem sikerült lekérdezni a harmadik felet",
"Fetching third party location failed": "Nem sikerült lekérdezni a harmadik fél helyét",
"Files": "Fájlok",
"Filter room names": "Szoba nevek szűrése",
"Filter room names": "Szobanevek szűrése",
"Forget": "Elfelejt",
" from room": " szobából",
"Guests can join": "Vendégek csatlakozhatnak",
"Guest users can't invite users. Please register to invite.": "Vendég felhasználó nem küldhet meghívót. Kérlek regisztrálj meghívó küldéshez.",
"Guests can join": "Vendégek is csatlakozhatnak",
"Invite to this room": "Meghívás a szobába",
"Keywords": "Kulcsszavak",
"Leave": "Elhagy",
"Low Priority": "Alacsony priorítás",
"Low Priority": "Alacsony prioritás",
"Members": "Résztvevők",
"Mentions only": "Csak ha megemlítenek",
"Messages containing my display name": "Az üzenet tartalmazza a nevem",
"Messages containing my user name": "Az üzenet tartalmazza a felhasználói nevem",
"Messages in group chats": "Üzenetek a csoportszobában",
"Messages in one-to-one chats": "Üzenetek közvetlen beszélgetésekben",
"Messages sent by bot": "Botok által küldött üzenetek",
"more": "további",
"Messages containing my display name": "A profilnevemet tartalmazó üzenetek",
"Messages containing my user name": "A felhasználónevemet tartalmazó üzenetek",
"Messages in group chats": "Csoportszobák üzenetei",
"Messages in one-to-one chats": "Személyes beszélgetések üzenetei",
"Messages sent by bot": "Botok üzenetei",
"more": "tovább",
"Mute": "Elnémít",
"No rooms to show": "Nincs megjeleníthető szoba",
"No rooms to show": "Nincsenek megjeleníthető szobák",
"Noisy": "Hangos",
"Notification targets": "Értesítések célpontja",
"Notifications": "Értesítések",
"Notify for all other messages/rooms": "Értesítés minden más üzenethez/szobához",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a>val és <a href=\"http://opera.com\">Opera</a>val is működik.",
"Collapse panel": "Panel bezárása",
"Collapse panel": "Panel becsukása",
"customServer_text": "Egyedi Matrix szervert használhatsz a Saját szerver URL beállításával.<br/> Ezzel meglévő Matrix fiókot használhatsz Riot klienssel és egyedi szerverrel.<br/><br/>Beállíthatsz egyedi \"identity\" szervert de akkor nem tudsz e-maillel meghívni felhasználót és téged sem tudnak meghívni e-maillel.",
"Expand panel": "Panel kinyitása",
"I understand the risks and wish to continue": "Megértettem a kockázatot és folytatom",
"Notifications on the following keywords follow rules which cant be displayed here:": "A kulcsszavakhoz tartozó értesítések olyan szabályokat követnek amiket nem lehet itt megjeleníteni:",
"Notifications on the following keywords follow rules which cant be displayed here:": "Az alábbi kulcsszavakról jövő értesítések szabályait nem lehet itt megjeleníteni:",
"Notify me for anything else": "Értesíts minden egyéb esetben",
"Off": "Ki",
"On": "Be",
"Operation failed": "Művelet sikertelen",
"Operation failed": "Sikertelen művelet",
"Permalink": "Állandó hivatkozás",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "A legjobb élmény érdekében telepíts <a href=\"https://www.google.com/chrome\">Chrome</a>ot vagy <a href=\"https://getfirefox.com\">Firefox</a>ot.",
"Please Register": "Regisztrálj",
"powered by Matrix": "Matrixon alapul",
"Quote": "Idézet",
"Redact": "Szerkeszt",
"powered by Matrix": "A Matrix hajtja",
"Quote": "Idéz",
"Reject": "Elutasít",
"Remove %(name)s from the directory?": "Törlöd a %(name)s szobát a listából?",
"Remove": "Töröl",
"Remove %(name)s from the directory?": "Törlöd ezt a szobát a listából: %(name)s?",
"Remove": "Eltávolítás",
"remove %(name)s from the directory.": "%(name)s szoba törlése a listából.",
"Remove from Directory": "Törlés a szobák listából",
"Resend": "Újraküld",
"Riot does not know how to join a room on this network": "Riot nem tudja, hogy csatlakozzon ehhez a szobához ezen a hálózaton",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot sok haladó képességét használja a böngészőnek amik közül lehet, hogy nem mind érhető el a most használt böngészőben vagy még csak kísérleti jellegű.",
"Room directory": "Szobák listája",
"Remove from Directory": "Törlés a listából",
"Resend": "Küldés újra",
"Riot does not know how to join a room on this network": "A Riot nem tud csatlakozni szobához ezen a hálózaton",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "A Riot sok fejlett böngészőfunkciót használ, amelyeknek egy része egyáltalán nem, vagy csak kísérleti jelleggel érhető el a jelenlegi böngésződben.",
"Room not found": "A szoba nem található",
"Search for a room": "Szoba keresése",
"Settings": "Beállítások",
"Source URL": "Forrás URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "Elnézést, a böngésződ <b>nem</b> képes futtatni a Riotot.",
"Start chat": "Csevegés indítása",
"The Home Server may be too old to support third party networks": "A Saját szerver lehet, hogy túl régi ahhoz, hogy más hálózatokhoz tudjon kapcsolódni",
"There are advanced notifications which are not shown here": "Vannak haladó értesítések amik itt nincsenek megjelenítve",
"The server may be unavailable or overloaded": "A szerver nem érhető el vagy túl van terhelve",
"This room is inaccessible to guests. You may be able to join if you register.": "A szoba vendégek számára elérhetetlen. Csak regisztráció után tudsz csatlakozni.",
" to room": " szobába",
"Sorry, your browser is <b>not</b> able to run Riot.": "Elnézést, a böngésződben <b>nem</b> fut a Riot.",
"The Home Server may be too old to support third party networks": "Lehet, hogy a saját szerver túl régi és nem támogatja a csatlakozást más hálózatokhoz",
"There are advanced notifications which are not shown here": "Vannak itt nem látható, haladó értesítések",
"The server may be unavailable or overloaded": "A szerver nem elérhető vagy túlterhelt",
"Unable to fetch notification target list": "Nem sikerült letölteni az értesítési célok listáját",
"Unable to join network": "Nem sikerült kapcsolódni a hálózathoz",
"Unable to look up room ID from server": "Nem lehet lekérdezni a szoba ID-ját a szervertől",
"Unhide Preview": "Előkép felfedése",
"unknown error code": "ismeretlen hiba kód",
"Unnamed room": "Név nélküli szoba",
"Uploaded on %(date)s by %(user)s": "Feltöltés: %(date)s, %(user)s",
"Unable to look up room ID from server": "Nem lehet a szoba azonosítóját megkeresni a szerveren",
"Unhide Preview": "Előnézet mutatása",
"unknown error code": "ismeretlen hibakód",
"Unnamed room": "Névtelen szoba",
"Uploaded on %(date)s by %(user)s": "Feltöltötte %(user)s ekkor: %(date)s",
"View Decrypted Source": "Visszafejtett forrás megjelenítése",
"View Source": "Forrás megjelenítése",
"When I'm invited to a room": "Amikor meghívtak a szobába",
"World readable": "Mindenki olvashatja",
"When I'm invited to a room": "Amikor meghívnak egy szobába",
"World readable": "Nyilvános",
"You cannot delete this image. (%(code)s)": "Nem törölheted ezt a képet. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Nem törölheted ezt az üzenetet. (%(code)s)",
"You are not receiving desktop notifications": "Nem fogadsz asztali értesítéseket",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Valószínűleg Riottól eltérő klienssel állítottad be. Riotból nem állítható de érvényben van",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Egy másik, nem Riot-klienssel állítothattad be. A Riotban módosítani nem tudod ezeket, de érvényben vannak",
"Sunday": "Vasárnap",
"Monday": "Hétfő",
"Tuesday": "Kedd",
@@ -125,78 +112,119 @@
"Saturday": "Szombat",
"Today": "Ma",
"Yesterday": "Tegnap",
"Welcome page": "Üdvözlő oldal",
"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!": "A jelenlegi bőngésződdel teljesen hibás lehet az alkalmazás kinézete és bizonyos funkciók, ha nem az összes, nem fog működni. Ha mindenképpen ki akarod próbálni, folytathatod de egyedül vagy minden felbukkanó problémával!",
"Messages containing <span>keywords</span>": "Az üzenet <span>kulcsszavakat</span> tartalmaz",
"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!": "Ebben a böngészőben az alkalmazás felülete tele lehet hibával, és az is lehet, hogy egyáltalán nem működik. Ha így is ki szeretnéd próbálni, megteheted, de ha valami gondod van, nem tudunk segíteni!",
"Messages containing <span>keywords</span>": "<span>Kulcsszavakat</span> tartalmazó üzenetek",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s alkalmazás %(browserName)s böngészőn %(osName)s rendszeren",
"A new version of Riot is available.": "Új verzió érhető el a Riot-ból.",
"All Rooms": "Minden szoba",
"A new version of Riot is available.": "Elérhető egy új Riot verzió.",
"All Rooms": "Minden szobában",
"Cancel": "Mégse",
"Changelog": "Változások",
"Collecting app version information": "Alkalmazás verzió információk összegyűjtése",
"Collecting logs": "Naplók összegyűjtése",
"Describe your problem here.": "Írd le a problémád itt.",
"Failed to send report: ": "A jelentést nem lehetett elküldeni: ",
"Forward Message": "Üzenet továbbküldése",
"Describe your problem here.": "Írd le ide a problémádat.",
"Failed to send report: ": "A jelentést nem sikerült elküldeni: ",
"Forward Message": "Üzenet továbbítása",
"Hide panel": "Panel elrejtése",
"Loading bug report module": "Hibabejelentő modul betöltése",
"Please describe the bug and/or send logs.": "Írd le a hibát és/vagy küld el a naplókat.",
"Please describe the bug and/or send logs.": "Kérünk, írd le a hibát és/vagy küldd el a naplófájlokat.",
"Report a bug": "Hiba bejelentése",
"Riot Desktop on %(platformName)s": "Riot Desktop ezen: %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot nem támogatott mobil webböngészőn. Telepíted az alkalmazást?",
"Riot Desktop on %(platformName)s": "Riot Desktop itt: %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "A mobilböngésző nem támogatja a Riotot. Telepíted inkább az alkalmazást?",
"Search": "Keresés",
"Search…": "Keresés…",
"Send": "Küld",
"Send logs": "Naplók elküldése",
"This Room": "Ez a szoba",
"Send": "Elküld",
"Send logs": "Naplófájlok elküldése",
"This Room": "Ebben a szobában",
"Unavailable": "Elérhetetlen",
"Unknown device": "Ismeretlen eszköz",
"Unknown device": "Ismeretlen készülék",
"Update": "Frissítés",
"Uploading report": "Jelentés feltöltése",
"What's New": "Mik az újdonságok",
"What's New": "Újdonságok",
"What's new?": "Mik az újdonságok?",
"Waiting for response from server": "Válasz várása a szervertől",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Vendégként használod a Riot-ot. <a>Regisztrálj</a> vagy <a>jelentkezz be</a> további szobák és lehetőségek eléréséhez!",
"Waiting for response from server": "Várakozás a szerver válaszára",
"OK": "Rendben",
"You need to be using HTTPS to place a screen-sharing call.": "HTTPS-t kell használnod hogy képernyőmegosztásos hívást kezdeményezz.",
"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:": "A problémák diagnosztizálása érdekében erről a kliensről a hibajelentésben naplók lesznek elküldve. Ha csak az alábbi szöveget szeretnéd elküldeni akkor ezt ne jelöld meg:",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Írd le a hibát. Mit csináltál? Mi az amit szerettél volna ha történik? Ezzel szemben mi az ami történt?",
"You need to be using HTTPS to place a screen-sharing call.": "Képernyőmegosztás indításához HTTPS-t kell használnod.",
"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:": "A hibajelentésben naplófájlokat küldünk erről a kliensről, hogy feltárjuk a hibákat. Ha inkább csak a fenti szöveget szeretnéd elküldeni, töröld a pipát:",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Kérünk, írd le a hibát. Mit csináltál? Minek kellett volna történnie? Mi történt végül?",
"Login": "Bejelentkezés",
"Welcome to Riot.im": "Üdvözlünk a Riot.im-en",
"Welcome to Riot.im": "Üdvözöl a Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizált, titkosított csevegés és kollaboráció [matrix] alapokon",
"Search the room directory": "Keresés a szobák jegyzékében",
"Search the room directory": "Keresés a szobajegyzékben",
"Chat with Riot Bot": "Csevegés a Riot Robottal",
"Get started with some tips from Riot Bot!": "Kezdd el a Riot használatát a Riot Robot tippjei segítségével!",
"Get started with some tips from Riot Bot!": "Kezdj a Riot Robot néhány tippjével!",
"General discussion about Matrix and Riot": "Általános beszélgetések a Matrixról és a Riotról",
"Discussion of all things Matrix!": "Beszélgetések mindenről, ami a Matrixhoz kapcsolódik!",
"Riot/Web &amp; Desktop chat": "Riot/Web és asztali csevegés",
"Discussion of all things Matrix!": "Beszélgetés mindenről, ami Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web és Desktop csevegés",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS és matrix-ios-sdk csevegés",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android és matrix-android-sdk csevegés",
"Matrix technical discussions": "Technikai jellegű beszélgetések a Matrixról",
"Community-run support for Synapse": "Közösségi támogatás a Synapse-hez",
"Admin support for Dendrite": "Adminisztrációs támogatás a Dendrite-hoz",
"Announcements about Synapse releases": "Bejelentések a Synapse kiadásairól",
"Running Matrix services": "Matrixszolgáltatások működtetése",
"Support for those using and running matrix-appservice-irc": "Támogatás a matrix-appservice-irc használatáról és működtetéséről",
"Building services on Matrix": "Szolgáltatások fejlesztése a Matrixra",
"Support for those using the Matrix spec": "Támogatás a Matrix specifikáció használatáról",
"Admin support for Dendrite": "Admin támogatás a Dendrite-hoz",
"Announcements about Synapse releases": "Hírek a Synapse kiadásairól",
"Running Matrix services": "Matrix szolgáltatások működtetése",
"Support for those using and running matrix-appservice-irc": "Támogatás a matrix-appservice-irc használóinak és működtetőinek",
"Building services on Matrix": "Szolgáltatások fejlesztése Matrixra",
"Support for those using the Matrix spec": "Támogatás a Matrix specifikáció használóinak",
"Design and implementation of E2E in Matrix": "A végponttól végpontig történő titkosítás (E2E) tervezése és implementációja a Matrixban",
"Implementing VR services with Matrix": "A Matrixszal együttműködő virtuális valóság (VR) szolgáltatások implementációja",
"Implementing VoIP services with Matrix": "A Matrixszal együttműködő VoIP szolgáltatások implementációja",
"Discussion of the Identity Service API": "Beszélgetések az Identity Service API-ról",
"Support for those using, running and writing other bridges": "Támogatás egyéb hídak használáról, működtetéséről és fejlesztéséről",
"Implementing VR services with Matrix": "VR szolgáltatások implementációja Matrixba",
"Implementing VoIP services with Matrix": "VoIP szolgáltatások implementációja Matrixba",
"Discussion of the Identity Service API": "Beszélgetés az Identity Service API-ról",
"Support for those using, running and writing other bridges": "Támogatás azoknak, akik egyéb hidakat használnak, működtetnek vagy készítenek",
"Contributing code to Matrix and Riot": "Hozzájárulás a Matrix és Riot programkódjának fejlesztéséhez",
"Dev chat for the Riot/Web dev team": "Csevegés a Riot/Web fejlesztői csapatával fejlesztőknek",
"Dev chat for the Dendrite dev team": "Csevegés a Dendrite fejlesztői csapatával fejlesztőknek",
"Co-ordination for Riot/Web translators": "Egyeztetés a Riot/Web fordítóival",
"Failed to change password. Is your password correct?": "Nem sikerült megváltoztatni a jelszót. Helyesen írtad be a jelszavadat?",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Már sok létező szoba van a Matrixon, melyek más hálózatokkal vannak összekapcsolva (Slack, IRC, Gitter stb.) vagy függetlenek. Látogasd meg a szobajegyzéket!",
"You have successfully set a password!": "Sikeresen állítottál be jelszót!",
"You can now return to your account after signing out, and sign in on other devices.": "Most már visszatérhetsz a fiókodhoz kijelentkezés után, és más eszközökkel is be tudsz jelentkezni.",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Már sok szoba van a Matrixon: más hálózatokkal (Slack, IRC, Gitter stb.) összekapcsolt és függetlenek szobák is. Nézd meg a szobajegyzéket!",
"You have successfully set a password!": "Sikerült beállítani a jelszót!",
"You can now return to your account after signing out, and sign in on other devices.": "Most már kijelentkezés után is vissza tudsz lépni a fiókodba, és más készülékekről is be tudsz lépni.",
"Continue": "Folytatás",
"Please set a password!": "Kérlek, állíts be egy jelszót!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Ezzel visszatérhetsz kijelentkezés után a fiókodhoz és más eszközökkel is be tudsz jelentkezni.",
"(HTTP status %(httpStatus)s)": "(HTTP állapot %(httpStatus)s)",
"You have successfully set a password and an email address!": "Sikeresen beállítottad a jelszavad és e-mail címed!",
"Remember, you can always set an email address in user settings if you change your mind.": "Ha meggondolod magad, bármikor beállíthatod az e-mail címed a felhasználói beállításoknál."
"Please set a password!": "Állíts be egy jelszót!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Így kijelentkezés után is vissza tudsz lépni a fiókodba, illetve más készülékekről is be tudsz lépni.",
"(HTTP status %(httpStatus)s)": "(HTTP állapot: %(httpStatus)s)",
"You have successfully set a password and an email address!": "Sikerült beállítani a jelszavad és e-mail címed!",
"Remember, you can always set an email address in user settings if you change your mind.": "Ha meggondolod magad, bármikor beállíthatod az e-mail címed a felhasználói beállításoknál.",
"To return to your account in future you need to <u>set a password</u>": "Hogy később visszaléphess a fiókodba, be kell állítanod egy <u>jelszót</u>",
"Set Password": "Jelszó beállítása",
"Warning": "Figyelmeztetés",
"Checking for an update...": "Frissítés keresése...",
"Error encountered (%(errorDetail)s).": "Hiba történt (%(errorDetail)s).",
"No update available.": "Nincs elérhető frissítés.",
"Downloading update...": "Frissítés letöltése...",
"Couldn't load home page": "Nem sikerült betölteni a kezdőlapot",
"Bug report sent": "Hibajelentés elküldve",
"Thank you!": "Köszönjük!",
"Back": "Vissza",
"Developer Tools": "Fejlesztői eszközök",
"Failed to send custom event.": "Nem sikerült elküldeni az egyéni eseményt.",
"Send Custom Event": "Egyéni esemény elküldése",
"Send Custom State Event": "Egyéni állapot esemény küldése",
"Explore Room State": "Szoba állapot felderítése",
"Event sent!": "Az esemény elküldve!",
"Event Type": "Esemény típusa",
"Event Content": "Esemény tartalma",
"State Key": "Állapotkulcs",
"Filter results": "Találatok szűrése",
"You must specify an event type!": "Meg kell jelölnöd az eseménytípust!",
"Show message in desktop notification": "Üzenetek megjelenítése az asztali értesítéseknél",
"Pin Message": "Üzenet rögzítése",
"Unpin Message": "Üzenet levétele",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.": "Az egyedi szerverbeállításoknál megadhatod egy másik szerver URL-jét, így be tudsz jelentkezni más Matrix szerverre is.<br/>Így a Riotot tudod használni egy már máshol meglévő Matrix fiókkal is.<br/><br/>Beállíthatsz egyéni identitásszervert is, de akkor nem tudsz más felhasználókat e-mail címmel meghívni, illetve ők sem tudnak téged.",
"Edit": "Szerkeszt",
"Register": "Regisztráció",
"Rooms": "Szobák",
"Invite to this community": "Meghívás ebbe a közösségbe",
"Add rooms to this community": "Szobák hozzáadása ehhez a közösséghez",
"Toolbox": "Eszköztár",
"Send Account Data": "Fiókadatok küldése",
"Explore Account Data": "Fiókadatok felderítése",
"Appear Offline": "Offline látszik",
"Away": "Távol",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "A legjobb élmény érdekében telepíts <chromeLink>Chrome</chromeLink> vagy <firefoxLink>Firefox</firefoxLink> böngészőt.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safarival</safariLink> és <operaLink>Operával</operaLink> is működik.",
"Reply": "Válasz",
"%(count)s Members|other": "%(count)s tag",
"%(count)s Members|one": "%(count)s tag",
"Online": "Online",
"View Community": "Közösség megtekintése"
}

View File

@@ -1 +1,200 @@
{}
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s melalui %(browserName)s di %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> dan <a href=\"http://opera.com\">Opera</a> juga berfungsi.",
"A new version of Riot is available.": "Riot versi baru telah tersedia.",
"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 (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.",
"Call invitation": "Undangan panggilan",
"Cancel": "Batal",
"Cancel Sending": "Batalkan pengiriman",
"Can't update user notification settings": "Tidak dapat memperbarui pengaturan notifikasi pengguna",
"Changelog": "Daftar perubahan",
"Close": "Tutup",
"Collapse panel": "Lipat panel",
"Collecting app version information": "Mengumpukan informasi versi aplikasi",
"Collecting logs": "Mengumpulkan catatan",
"Couldn't find a matching Matrix room": "Tidak dapat menemukan ruang Matrix yang sesuai",
"Custom Server Options": "Pilihan Server Khusus",
"customServer_text": "Anda dapat menggunakan opsi server khusus untuk masuk ke server Matrix lain dengan menyebutkan URL server Home.<br/>Hal ini memperbolehkan Anda untuk menggunakan Riot dengan akun Matrix yang sudah ada di server Home yang berbeda.<br/><br/>Anda juga bisa mengatur server identitas khusus tapi Anda tidak akan dapat mengundang pengguna melalui alamat email, atau diundang dengan alamat email Anda.",
"delete the alias.": "hapus alias.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Hapus alias ruang %(alias)s dan hapus %(name)s dari direktori?",
"Describe your problem here.": "Jelaskan masalah anda di sini.",
"Direct Chat": "Obrolan Langsung",
"Directory": "Direktori",
"Dismiss": "Abaikan",
"Download this file": "Unduh file ini",
"Enable audible notifications in web client": "Aktifkan notifikasi suara di klien web",
"Enable desktop notifications": "Aktifkan notifikasi desktop",
"Enable email notifications": "Aktifkan notifikasi email",
"Enable notifications for this account": "Aktifkan notifikasi untuk akun ini",
"Enable them now": "Aktifkan sekarang",
"Enter keywords separated by a comma:": "Masukkan kata kunci dipisahkan oleh koma:",
"Error": "Terjadi Kesalahan",
"Error saving email notification preferences": "Terjadi kesalahan saat menyimpan pilihan notifikasi email",
"#example": "#contoh",
"Expand panel": "Luaskan panel",
"Failed to add tag %(tagName)s to room": "Gagal menambahkan tag %(tagName)s ke ruang",
"Failed to change settings": "Gagal mengubah pengaturan",
"Failed to forget room %(errCode)s": "Gagal melupakan ruang %(errCode)s",
"Failed to update keywords": "Gagal memperbarui kata kunci",
"Failed to get protocol list from Home Server": "Gagal mendapatkan daftar protokol dari Server Home",
"Failed to get public room list": "Gagal mendapatkan daftar ruang publik",
"Failed to remove tag %(tagName)s from room": "Gagal menghapus tag %(tagName)s dari ruang",
"Failed to send report: ": "Gagal mengirim laporan: ",
"Failed to set direct chat tag": "Gagal mengatur tag obrolan langsung",
"Failed to set Direct Message status of room": "Gagal mengatur status Pesan Langsung dari ruang",
"Favourite": "Favorit",
"Fetching third party location failed": "Gagal mengambil lokasi pihak ketiga",
"Files": "Files",
"Filter room names": "Saring nama ruang",
"Forget": "Lupakan",
"Forward Message": "Teruskan Pesan",
"Guests can join": "Tamu dapat gabung",
"Hide panel": "Sembunyikan panel",
"(HTTP status %(httpStatus)s)": "(status HTTP %(httpStatus)s)",
"I understand the risks and wish to continue": "Saya mengerti resikonya dan berharap untuk melanjutkan",
"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:": "Untuk diagnosis permasalahannya, catatan dari klien ini akan dikirimkan bersama laporan bug. Jika Anda memilih untuk hanya mengirimkan pesan di atas, mohon hapus centang:",
"Invite to this room": "Undang ke ruang ini",
"Keywords": "Kata Kunci",
"Leave": "Tinggalkan",
"Login": "Masuk",
"Loading bug report module": "Memuat modul laporan bug",
"Low Priority": "Prioritas Rendah",
"Members": "Anggota",
"Mentions only": "Hanya jika disinggung",
"Messages containing my display name": "Pesan mengandung nama tampilan saya",
"Messages containing <span>keywords</span>": "Pesan mengandung <span>kata kunci</span>",
"Messages containing my user name": "Pesan mengandung nama pengguna saya",
"Messages in group chats": "Pesan di obrolan grup",
"Messages in one-to-one chats": "Pesan di obrolan satu-ke-satu",
"Messages sent by bot": "Pesan dikirim oleh bot",
"more": "lagi",
"Mute": "Bisu",
"No rooms to show": "Tidak ada ruang ditunjukkan",
"Noisy": "Berisik",
"Notification targets": "Target notifikasi",
"Notifications": "Notifikasi",
"Notifications on the following keywords follow rules which cant be displayed here:": "Notifikasi pada kata kunci berikut mengikuti aturan dimana tidak dapat ditampilkan di sini:",
"Notify for all other messages/rooms": "Beritau semua pesan/ruang",
"Notify me for anything else": "Beritau saya untuk lainnya",
"Off": "Mati",
"On": "Nyala",
"Operation failed": "Operasi gagal",
"Permalink": "Permalink",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Harap jelaskan bug. Apa yang Anda lakukan? Apa yang Anda harap terjadi? Apa yang sebenarnya terjadi?",
"Please describe the bug and/or send logs.": "Harap jelaskan bug dan/atau kirim catatan.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Harap install <a href=\"https://www.google.com/chrome\">Chrome</a> atau <a href=\"https://getfirefox.com\">Firefox</a> untuk pengalaman terbaik.",
"powered by Matrix": "didukung oleh Matrix",
"Quote": "Kutip",
"Reject": "Tolak",
"Remove %(name)s from the directory?": "Hapus %(name)s dari direktori?",
"Remove": "Hapus",
"remove %(name)s from the directory.": "hapus %(name)s dari direktori.",
"Remove from Directory": "Hapus dari DIrektori",
"Report a bug": "Laporkan bug",
"Resend": "Kirim Ulang",
"Riot Desktop on %(platformName)s": "Riot Desktop di %(platformName)s",
"Riot does not know how to join a room on this network": "Riot tidak tau bagaimana gabung ruang di jaringan ini",
"Riot is not supported on mobile web. Install the app?": "Riot tidak mendukung web seluler. Install aplikasi?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot menggunakan banyak fitur terdepan dari browser, dimana tidak tersedia atau dalam fase eksperimen di browser Anda.",
"Room not found": "Ruang tidak ditemukan",
"Search": "Cari",
"Search…": "Cari…",
"Search for a room": "Cari ruang obrolan",
"Send": "Kirim",
"Send logs": "Kirim catatan",
"Source URL": "URL sumber",
"Sorry, your browser is <b>not</b> able to run Riot.": "Maaf, browser Anda <b>tidak</b> dapat menjalankan Riot.",
"The Home Server may be too old to support third party networks": "Server Home mungkin terlalu kuno untuk mendukung jaringan pihak ketiga",
"There are advanced notifications which are not shown here": "Ada notifikasi lanjutan yang tidak ditampilkan di sini",
"The server may be unavailable or overloaded": "Server mungkin tidak tersedia atau kelebihan muatan",
"This Room": "Ruang ini",
"Unable to fetch notification target list": "Tidak dapat mengambil daftar notifikasi target",
"Unable to join network": "Tidak dapat bergabung di jaringan",
"Unable to look up room ID from server": "Tidak dapat mencari ID ruang dari server",
"Unavailable": "Tidak Tersedia",
"Unhide Preview": "Tampilkan Pratinjau",
"Unknown device": "Perangkat Tidak Diketahui",
"unknown error code": "kode kesalahan tidak diketahui",
"Unnamed room": "Ruang tanpa nama",
"Update": "Perbarui",
"Uploaded on %(date)s by %(user)s": "Diunggah pada %(date)s oleh %(user)s",
"Uploading report": "Unggah laporan",
"View Decrypted Source": "Tampilkan Sumber Terdekripsi",
"View Source": "Tampilkan Sumber",
"What's New": "Apa Yang Baru",
"What's new?": "Apa yang baru?",
"Waiting for response from server": "Menunggu respon dari server",
"When I'm invited to a room": "Ketika Saya diundang ke ruang",
"World readable": "Terpublikasi Umum",
"You cannot delete this image. (%(code)s)": "Anda tidak dapat menghapus gambar ini. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Anda tidak dapat menghapus pesan ini. (%(code)s)",
"You are not receiving desktop notifications": "Anda tidak menerima notifikasi desktop",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Anda mungkin sudah konfigurasi di klien selain Riot. Anda tidak dapat setel di Riot tetap berlaku",
"Sunday": "Minggu",
"Monday": "Senin",
"Tuesday": "Selasa",
"Wednesday": "Rabu",
"Thursday": "Kamis",
"Friday": "Jumat",
"Saturday": "Sabtu",
"Today": "Hari Ini",
"Yesterday": "Kemarin",
"OK": "OK",
"Warning": "Peringatan",
"Checking for an update...": "Cek pembaruan...",
"Error encountered (%(errorDetail)s).": "Terjadi kesalahan (%(errorDetail)s).",
"No update available.": "Tidak ada pembaruan.",
"Downloading update...": "Unduh pembaruan...",
"You need to be using HTTPS to place a screen-sharing call.": "Anda perlu menggunakan HTTPS untuk melakukan panggilan berbagi-layar.",
"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!": "Dengan browser ini, tampilan dari aplikasi mungkin tidak sesuai, dan beberapa atau bahkan semua fitur mungkin tidak berjalan. Jika Anda ingin tetap mencobanya, Anda bisa melanjutkan, tapi Anda tanggung sendiri jika muncul masalah yang terjadi!",
"Welcome to Riot.im": "Selamat datang di Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Obrolan terenkripsi, terdesentralisasi &amp; kolaborasi didukung oleh [matrix]",
"Search the room directory": "Cari di direktori ruang",
"Chat with Riot Bot": "Mengobrol dengan bot Riot",
"Get started with some tips from Riot Bot!": "Mulai dengan beberapa tip dari Bot Riot!",
"General discussion about Matrix and Riot": "Diskusi umum tentang Matrix dan Riot",
"Discussion of all things Matrix!": "Diskusi semua tentang Matrix!",
"Riot/Web &amp; Desktop chat": "Obrolan Riot/Web &amp; Desktop",
"Riot/iOS &amp; matrix-ios-sdk chat": "Obrolan Riot/iOS &amp; matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Obrolan Riot/Android &amp; matrix-android-sdk",
"Matrix technical discussions": "Diskusi teknis Matrix",
"Running Matrix services": "Mengoperasikan layanan Matrix",
"Community-run support for Synapse": "Dukungan komunitas untuk Synapse",
"Admin support for Dendrite": "Dukungan Admin untuk Dendrite",
"Announcements about Synapse releases": "Pengumuman tentang rilis Synapse",
"Support for those using and running matrix-appservice-irc": "Dukungan untuk pengguna dan penyedia matrix-appservice-irc",
"Building services on Matrix": "Membangun layanan dengan Matrix",
"Support for those using the Matrix spec": "Dukungan untuk pengguna Matrix spec",
"Design and implementation of E2E in Matrix": "Desain dan implementasi E2E di Matrix",
"Implementing VR services with Matrix": "Implementasi layanan VR dengan Matrix",
"Implementing VoIP services with Matrix": "Implementasi layanan VoIP dengan Matrix",
"Discussion of the Identity Service API": "Diskusi tentang API Identity Service",
"Support for those using, running and writing other bridges": "Dukungan untuk pengguna, penyedia dan penulis jembatan lainnya",
"Contributing code to Matrix and Riot": "Kontribusi kode untuk Matrix dan Riot",
"Dev chat for the Riot/Web dev team": "Obrolan Developer untuk tim developer Riot/Web",
"Dev chat for the Dendrite dev team": "Obrolan Developer untuk tim developer Dendrite",
"Co-ordination for Riot/Web translators": "Koordinasi untuk penerjemah Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Banyak ruang sudah tersedia di Matrix, terhubung ke jaringan yang sudah ada (Slack, IRC, Gitter dls) atau independen. Cek direktori!",
"Failed to change password. Is your password correct?": "Gagal untuk mengubah password. Apakah password Anda benar?",
"You have successfully set a password!": "Anda berhasil mengubah password!",
"You can now return to your account after signing out, and sign in on other devices.": "Anda dapat kembali ke akun setelah keluar dan masuk kembali di perangkat lain.",
"Continue": "Lanjut",
"Please set a password!": "Mohon isi password!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Hal ini akan memperbolehkan anda kembali ke akun setelah keluar dan masuk kembali di perangkat lain.",
"You have successfully set a password and an email address!": "Anda telah berhasil mengubah password dan alamat email!",
"Remember, you can always set an email address in user settings if you change your mind.": "Ingat, Anda selalu dapat mengubah alamat email di pengaturan pengguna jika anda berubah pikiran.",
"To return to your account in future you need to <u>set a password</u>": "Untuk kembali ke akun di lain waktu, Anda perlu <u>mengisi password</u>",
"Set Password": "Ubah Password",
"Couldn't load home page": "Tidak dapat memuat halaman utama",
"Show message in desktop notification": "Tampilkan pesan pada desktop",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.": "Anda dapat menggunakan opsi lain untuk mendaftar pada server Matrix yang berbeda dengan memasukkan URL server yang sesuai. <br/>Hal ini memungkinkan anda untuk menggunakan Riot dengan akun matrix yang telah tersedia pada Home server yang berbeda.<br/><br/>Anda juga dapat melakukan pengubahan identitas server akan tetapi akan berakibat tidak dapat mengundang pengguna melalui email, atau diundang melalui email.",
"Bug report sent": "Laporan bug terkirim",
"Thank you!": "Terima kasih!",
"Back": "Kembali"
}

View File

@@ -1,12 +1,12 @@
{
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "Anche <a href=\"http://apple.com/safari\">Safari</a> e <a href=\"http://opera.com\"> Opera</a> funzionano.",
"A new version of Riot is available.": "È disponibile una nuova versione di Riot.",
"Add an email address above to configure email notifications": "Specifica un indirizzo email per configurazione le notifiche via email",
"Advanced notification settings": "Impostazioni notifiche avanzate",
"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.": "È avvenuto un errore durante il salvataggio delle tue preferenze sulle notifiche email.",
"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",
"Cancel": "Annulla",
"Cancel Sending": "Annulla invio",
@@ -14,20 +14,19 @@
"Changelog": "Cambiamenti",
"Close": "Chiudi",
"Collapse panel": "Riduci pannello",
"Collecting app version information": "Raccolta delle informazioni sulla versione dell'applicazione",
"Collecting logs": "Raccolta del registro",
"Create new room": "Crea una nuova stanza",
"Collecting app version information": "Raccolta di informazioni sulla versione dell'applicazione",
"Collecting logs": "Sto recuperando i log",
"Couldn't find a matching Matrix room": "Impossibile trovare una stanza Matrix corrispondente",
"Custom Server Options": "Opzioni server personale",
"customServer_text": "Puoi utilizzare un server personale per entrare in altri server Matrix specificando un diverso indirizzo per il server Home.<br/>Questo ti permetterà di usare Riot con un account Matrix già esistente su un altro server.<br/><br/>Puoi anche specificare un diverso server di identità ma non sarai in grado di invitare utenti o di essere invitato tramite indirizzo email.",
"delete the alias.": "Elimina gli alias.",
"Custom Server Options": "Opzioni Server Personalizzate",
"customServer_text": "Puoi utilizzare un server personale per accedere su altri server Matrix specificando un diverso indirizzo URL per il server Home.<br/>Questo ti permetterà di usare Riot con un account Matrix già esistente su un altro server.<br/><br/>Puoi anche specificare un diverso server di identità ma non sarai in grado di invitare utenti, o di essere invitato tramite indirizzo email.",
"delete the alias.": "elimina l'alias.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Eliminare l'alias %(alias)s e rimuovere %(name)s dalla lista?",
"Describe your problem here.": "Descrivi qui il tuo problema.",
"Direct Chat": "Chat diretta",
"Direct Chat": "Chat Diretta",
"Directory": "Lista",
"Dismiss": "Scarta",
"Download this file": "Scarica questo file",
"Enable audible notifications in web client": "Abilita notifiche audio nel client Web",
"Enable audible notifications in web client": "Abilita notifiche audio nel client web",
"Enable desktop notifications": "Abilita le notifiche desktop",
"Enable email notifications": "Abilita le notifiche email",
"Enable notifications for this account": "Abilita le notifiche per questo account",
@@ -37,29 +36,195 @@
"Error saving email notification preferences": "Errore nel salvataggio delle preferenze di notifica email",
"#example": "#esempio",
"Expand panel": "Espandi il pannello",
"Failed to": "Non si è riuscito a",
"Failed to add tag %(tagName)s to room": "Non si è riuscito ad aggiungere l'etichetta %(tagName)s alla stanza",
"Failed to change settings": "Non si è riuscito ad aggiornare le impostazioni",
"Failed to update keywords": "Non si è riuscito ad aggiornare le parole chiave",
"Failed to get protocol list from Home Server": "Non si è riuscito ad ottenere la lista protocollo dal server Home",
"Failed to get public room list": "Non si è riuscito ad ottenere la lista delle stanze pubbliche",
"Failed to join the room": "Non si è riuscito a entrare nella stanza",
"Failed to remove tag %(tagName)s from room": "Non si è riuscito a rimuovere il tag %(tagName)s dalla stanza",
"Failed to send report: ": "Non si è riuscito ad inviare il resoconto: ",
"Failed to set direct chat tag": "Non si è riuscito a impostare l'etichetta di chat diretta",
"Failed to set Direct Message status of room": "Non si è riuscito ad impostare lo stato di Messaggio Diretto alla stanza",
"Failed to add tag %(tagName)s to room": "Impossibile aggiungere l'etichetta %(tagName)s alla stanza",
"Failed to change settings": "Impossibile modificare le impostazioni",
"Failed to update keywords": "Impossibile aggiornare le parole chiave",
"Failed to get protocol list from Home Server": "Impossibile ottenere la lista di protocolli dal server Home",
"Failed to get public room list": "Impossibile ottenere la lista delle stanze pubbliche",
"Failed to remove tag %(tagName)s from room": "Impossibile rimuovere l'etichetta %(tagName)s dalla stanza",
"Failed to send report: ": "Impossibile inviare il resoconto: ",
"Failed to set direct chat tag": "Impossibile impostare l'etichetta di chat diretta",
"Failed to set Direct Message status of room": "Impossibile impostare lo stato di Messaggio Diretto alla stanza",
"Favourite": "Preferito",
"Files": "File",
"Filter room names": "Filtra i nomi delle stanze",
"Forget": "Dimentica",
"Forward Message": "Inoltra messaggio",
" from room": " dalla stanza",
"Guests can join": "Gli ospiti sono ammessi",
"Guest users can't invite users. Please register to invite.": "Gli utenti ospite non possono invitare altri utenti. Registrati per invitare.",
"Hide panel": "Nascondi pannello",
"I understand the risks and wish to continue": "Sono consapevole dei rischi e vorrei continuare",
"Invite to this room": "Invita a entrare in questa stanza",
"Invite to this room": "Invita in questa stanza",
"Keywords": "Parole chiave",
"Leave": "Abbandona",
"Login": "Entra"
"Login": "Entra",
"All notifications are currently disabled for all targets.": "Tutte le notifiche sono disabilitate per tutti gli obbiettivi.",
"Failed to forget room %(errCode)s": "Impossibile dimenticare la stanza %(errCode)s",
"Fetching third party location failed": "Rilevazione posizione di terze parti fallita",
"(HTTP status %(httpStatus)s)": "(stato 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:": "Per diagnosticare i problemi, i log da questo client verranno inviati con questo bug report. Se vuoi solo mandare il testo sopra, togli la spunta a:",
"Loading bug report module": "Caricamento modulo di segnalazione errori",
"Low Priority": "Priorità bassa",
"Members": "Membri",
"Mentions only": "Solo le citazioni",
"Messages containing my display name": "Messaggi contenenti il mio nome visualizzato",
"Messages containing my user name": "Messaggi contenenti il mio nome utente",
"Messages in group chats": "Messaggi nelle chat di gruppo",
"Messages in one-to-one chats": "Messaggi in chat uno-a-uno",
"Messages sent by bot": "Messaggi inviati dai bot",
"more": "altro",
"Mute": "Silenzia",
"No rooms to show": "Nessuna stanza da mostrare",
"Noisy": "Rumoroso",
"Notifications": "Notifiche",
"Notify for all other messages/rooms": "Notifica per tutti gli altri messaggi/stanze",
"Notify me for anything else": "Notificami per qualsiasi altra cosa",
"Off": "Spento",
"On": "Acceso",
"Operation failed": "Operazione fallita",
"Permalink": "Link permanente",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Per favore descrivi l'errore. Cosa hai fatto? Cosa ti aspettavi accadesse? Cos'è successo invece?",
"Please describe the bug and/or send logs.": "Per favore descrivi l'errore e/o invia i log.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Per favore installa<a href=\"https://www.google.com/chrome\">Chrome</a> o <a href=\"https://getfirefox.com\">Firefox</a> per un'esperienza migliore.",
"powered by Matrix": "offerto da Matrix",
"Quote": "Cita",
"Reject": "Rifiuta",
"Remove %(name)s from the directory?": "Rimuovere %(name)s dalla lista?",
"Remove": "Rimuovi",
"remove %(name)s from the directory.": "rimuovi %(name)s dalla lista.",
"Remove from Directory": "Rimuovi dalla lista",
"Report a bug": "Segnala un errore",
"Resend": "Reinvia",
"Riot Desktop on %(platformName)s": "Riot Desktop su %(platformName)s",
"Riot does not know how to join a room on this network": "Riot non sa come entrare nella stanza su questa rete",
"Riot is not supported on mobile web. Install the app?": "Riot non è supportato sul web mobile. Vuoi installare l'applicazione?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utilizza molte funzioni avanzate del browser, alcune delle quali non sono disponibili o sono sperimentali nel tuo browser attuale.",
"Room not found": "Stanza non trovata",
"Search": "Cerca",
"Search…": "Cerca…",
"Search for a room": "Cerca una stanza",
"Send": "Invia",
"Send logs": "Invia i log",
"Source URL": "URL d'origine",
"Sorry, your browser is <b>not</b> able to run Riot.": "Spiacenti, ma il tuo browser <b>non</b> è in grado di utilizzare Riot.",
"Messages containing <span>keywords</span>": "Messaggi contenenti <span>parole chiave</span>",
"Notification targets": "Obiettivi di notifica",
"Notifications on the following keywords follow rules which cant be displayed here:": "Le notifiche alle seguenti parole chiave seguono regole che non possono essere mostrate qui:",
"The Home Server may be too old to support third party networks": "Il server Home potrebbe essere troppo vecchio per supportare reti di terze parti",
"There are advanced notifications which are not shown here": "Ci sono notifiche avanzate che non sono mostrate qui",
"The server may be unavailable or overloaded": "Il server potrebbe essere non disponibile o sovraccarico",
"This Room": "Questa stanza",
"Unable to join network": "Impossibile collegarsi alla rete",
"Unable to look up room ID from server": "Impossibile consultare l'ID stanza dal server",
"Unavailable": "Non disponibile",
"Unhide Preview": "Mostra anteprima",
"Unknown device": "Dispositivo sconosciuto",
"unknown error code": "codice errore sconosciuto",
"Unnamed room": "Stanza senza nome",
"Update": "Aggiornamento",
"Uploaded on %(date)s by %(user)s": "Caricato il %(date)s da %(user)s",
"Uploading report": "Sto caricando il report",
"View Decrypted Source": "Visualizza sorgente decifrato",
"View Source": "Visualizza sorgente",
"What's New": "Novità",
"What's new?": "Cosa c'è di nuovo?",
"Waiting for response from server": "In attesa di una risposta dal server",
"When I'm invited to a room": "Quando vengo invitato/a in una stanza",
"You cannot delete this image. (%(code)s)": "Non puoi eliminare quest'immagine. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Non puoi eliminare questo messaggio. (%(code)s)",
"You are not receiving desktop notifications": "Non stai ricevendo le notifiche sul desktop",
"World readable": "Leggibile da tutti",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Potresti averli configurati in un client diverso da Riot. Non puoi cambiarli in Riot ma sono comunque applicati",
"Sunday": "Domenica",
"Monday": "Lunedì",
"Tuesday": "Martedì",
"Wednesday": "Mercoledì",
"Thursday": "Giovedì",
"Friday": "Venerdì",
"Saturday": "Sabato",
"Today": "Oggi",
"Yesterday": "Ieri",
"OK": "OK",
"Warning": "Attenzione",
"Checking for an update...": "Controllo aggiornamenti...",
"Error encountered (%(errorDetail)s).": "Errore riscontrato (%(errorDetail)s).",
"No update available.": "Nessun aggiornamento disponibile.",
"Downloading update...": "Scaricamento aggiornamento...",
"You need to be using HTTPS to place a screen-sharing call.": "Devi usare HTTPS per utilizzare una chiamata con condivisione schermo.",
"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!": "Con il tuo attuale browser, l'aspetto e la sensazione generale dell'applicazione potrebbero essere completamente sbagliati e alcune delle funzionalità potrebbero non funzionare. Se vuoi provare comunque puoi continuare, ma non riceverai aiuto per qualsiasi problema tu possa riscontrare!",
"Welcome to Riot.im": "Benvenuto/a su Riot.im",
"Search the room directory": "Cerca nella lista delle stanze",
"Chat with Riot Bot": "Chatta con Riot Bot",
"Get started with some tips from Riot Bot!": "Inizia con alcuni consigli di Riot Bot!",
"General discussion about Matrix and Riot": "Discussioni generali riguardo Matrix e Riot",
"Couldn't load home page": "Impossibile caricare la pagina principale",
"Riot/Web &amp; Desktop chat": "Chat su Riot/Web &amp; Desktop",
"Riot/iOS &amp; matrix-ios-sdk chat": "Chat su Riot/iOS &amp; matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Chat su Riot/Android &amp; matrix-android-sdk",
"Matrix technical discussions": "Discussioni tecniche su Matrix",
"Running Matrix services": "Esecuzione servizi Matrix",
"Community-run support for Synapse": "Supporto per Synapse dalla comunità",
"Admin support for Dendrite": "Supporto amministrativo per Dendrite",
"Announcements about Synapse releases": "Annunci riguardo i rilasci di Synapse",
"Support for those using and running matrix-appservice-irc": "Supporto per chi usa e amministra matrix-appservice-irc",
"Building services on Matrix": "Costruzione servizi su Matrix",
"Support for those using the Matrix spec": "Supporto per chi utilizza le specifiche Matrix",
"Design and implementation of E2E in Matrix": "Design e implementazione di E2E in Matrix",
"Implementing VR services with Matrix": "Implementazione servizi VR con Matrix",
"Implementing VoIP services with Matrix": "Implementazione servizi VoIP con Matrix",
"Discussion of the Identity Service API": "Discussione sull'Identity Service API",
"Support for those using, running and writing other bridges": "Supporto per chi usa, amministra e scrive altri bridge",
"Contributing code to Matrix and Riot": "Contributi al codice di Matrix e Riot",
"Co-ordination for Riot/Web translators": "Coordinamento per i traduttori di Riot/Web",
"Failed to change password. Is your password correct?": "Modifica password fallita. La tua password è corretta?",
"You have successfully set a password!": "Hai impostato una password con successo!",
"You can now return to your account after signing out, and sign in on other devices.": "Ora puoi tornare al tuo account dopo esserti disconnesso e accedere su altri dispositivi.",
"Continue": "Continua",
"Please set a password!": "Imposta una password!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Questo ti permetterà di ritornare al tuo account dopo esserti disconnesso e accedere in altri dispositivi.",
"You have successfully set a password and an email address!": "Hai impostato con successo una password e un indirizzo email!",
"Remember, you can always set an email address in user settings if you change your mind.": "Ricorda, puoi sempre specificare un indirizzo email nelle impostazioni utente se cambi idea.",
"To return to your account in future you need to <u>set a password</u>": "Per tornare nel tuo account in futuro devi <u>impostare una password</u>",
"Set Password": "Imposta Password",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s su %(osName)s",
"Unable to fetch notification target list": "Impossibile ottenere la lista di obiettivi notifiche",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat &amp; collaborazione decentralizzata e criptata offerta da [matrix]",
"Discussion of all things Matrix!": "Discussione su tutto quanto riguardi Matrix!",
"Dev chat for the Riot/Web dev team": "Chat per gli sviluppatori di Riot/Web",
"Dev chat for the Dendrite dev team": "Chat per gli sviluppatori di Dendrite",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti già esistenti (Slack, IRC, Gitter ecc) o indipendenti. Dai un'occhiata all'elenco!",
"Thank you!": "Grazie!",
"Bug report sent": "Rapporto inviato",
"Back": "Indietro",
"Developer Tools": "Strumenti per Sviluppatori",
"Failed to send custom event.": "Impossibile inviare evento personalizzato.",
"Filter results": "Filtra risultati",
"Send Custom Event": "Invia Evento Personalizzato",
"Send Custom State Event": "Invia Evento di Stato Personalizzato",
"Explore Room State": "Esplora Stato Stanza",
"You must specify an event type!": "Devi specificare un tipo di evento!",
"Event sent!": "Evento inviato!",
"Event Type": "Tipo di Evento",
"Event Content": "Contenuto dell'Evento",
"State Key": "Chiave dello Stato",
"Show message in desktop notification": "Mostra i messaggi nelle notifiche desktop",
"Edit": "Modifica",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br/> Questo permette di usare Matrix con un account esistente su un home server diverso.<br/><br/>È 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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Installa <chromeLink>Chrome</chromeLink> o <firefoxLink>Firefox</firefoxLink> per la migliore esperienza d'uso.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Anche <safariLink>Safari</safariLink> e <operaLink>Opera</operaLink> vanno bene.",
"Register": "Registrati",
"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 a questa comunità",
"Online": "Online",
"View Community": "Vedi la comunità",
"%(count)s Members|other": "%(count)s membri",
"%(count)s Members|one": "%(count)s membro"
}

77
src/i18n/strings/ja.json Normal file
View File

@@ -0,0 +1,77 @@
{
"All messages": "全ての発言",
"All messages (noisy)": "全ての発言(通知音あり)",
"Cancel": "取消",
"Close": "閉じる",
"Direct Chat": "対話",
"Favourite": "お気に入り",
"Hide panel": "右欄を非表示",
"Invite to this room": "この部屋へ招待",
"Low Priority": "低優先度",
"Members": "参加者",
"Mentions only": "呼び掛けられた時のみ",
"Mute": "通知しない",
"Notifications": "通知",
"Report a bug": "バグを報告",
"Resend": "再送信",
"Riot is not supported on mobile web. Install the app?": "Riotはスマートフォンでの表示に対応していません。できればアプリをインストールして頂けませんでしょうか?",
"Room not found": "部屋が見つかりません",
"Search": "検索",
"Search…": "検索…",
"Send": "送信",
"Sorry, your browser is <b>not</b> able to run Riot.": "申し訳ありません。あなたのブラウザではRiotは<b>動作できません</b>。",
"This Room": "この部屋",
"Waiting for response from server": "サーバからの応答を待っています",
"You cannot delete this message. (%(code)s)": "あなたはこの発言を削除できません (%(code)s)",
"Sunday": "日曜日",
"Monday": "月曜日",
"Tuesday": "火曜日",
"Wednesday": "水曜日",
"Thursday": "木曜日",
"Friday": "金曜日",
"Saturday": "土曜日",
"Today": "今日",
"Yesterday": "昨日",
"Warning": "警告",
"No update available.": "更新はありません。",
"Welcome to Riot.im": "Riot.imへようこそ",
"Search the room directory": "部屋一覧を検索",
"Failed to change password. Is your password correct?": "パスワード変更に失敗しました。パスワードは正しいですか?",
"Set Password": "パスワードを設定",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a>と<a href=\"http://opera.com\">Opera</a>でも動作します。",
"A new version of Riot is available.": "新しいバージョンのRiotが利用可能です。",
"All Rooms": "全ての部屋",
"Changelog": "変更履歴",
"Directory": "部屋一覧",
"Download this file": "この添付ファイルをダウンロード",
"Enable desktop notifications": "デスクトップ画面に通知を行う",
"Enable email notifications": "電子メールでの通知を行う",
"Enable notifications for this account": "このアカウントで通知を行う",
"Failed to change settings": "設定の変更に失敗しました",
"Failed to get public room list": "公開部屋一覧の取得に失敗しました",
"Filter room names": "部屋名検索",
"Forget": "忘れる",
"Leave": "退室",
"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 <span>keywords</span>": "<span>keywords</span>を含むメッセージ",
"Add an email address above to configure email notifications": "メール通知を設定するためには、メールアドレスを追加してください",
"Call invitation": "通話への招待"
}

View File

@@ -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.": "이메일 알림을 설정하다가 오류가 일어났어요.",
@@ -16,7 +16,6 @@
"Collapse panel": "패널 접기",
"Collecting app version information": "앱 버전 정보를 수집하는 중",
"Collecting logs": "로그 수집 중",
"Create new room": "새 방 만들기",
"Couldn't find a matching Matrix room": "일치하는 매트릭스 방을 찾을 수 없어요",
"Custom Server Options": "사용자 지정 서버 설정",
"delete the alias.": "가명을 지울게요.",
@@ -25,7 +24,7 @@
"Directory": "목록",
"Dismiss": "없애기",
"Download this file": "이 파일 받기",
"Enable desktop notifications": "데스크탑에서 알림 받기",
"Enable desktop notifications": "컴퓨터에서 알림 받기",
"Enable email notifications": "이메일로 알림 받기",
"Enable notifications for this account": "이 계정의 알림 받기",
"Error": "오류",
@@ -34,7 +33,6 @@
"Expand panel": "확장 패널",
"Forget": "잊기",
"Hide panel": "패널 숨기기",
"Guest users can't invite users. Please register to invite.": "손님은 사용자를 초대할 수 없어요. 초대하려면 계정을 등록해주세요.",
"I understand the risks and wish to continue": "위험할 수 있는 걸 알고 계속하기를 바라요",
"Invite to this room": "이 방에 초대하기",
"Leave": "떠나기",
@@ -51,10 +49,8 @@
"On": "켜기",
"Permalink": "고유주소",
"Please describe the bug and/or send logs.": "오류를 적어주시거나 로그를 보내주세요.",
"Please Register": "계정을 등록해주세요",
"powered by Matrix": "매트릭스의 지원을 받고 있어요",
"Quote": "인용하기",
"Redact": "지우기",
"Reject": "거절하기",
"Remove %(name)s from the directory?": "목록에서 %(name)s을 지우시겠어요?",
"Remove": "지우기",
@@ -62,19 +58,16 @@
"Remove from Directory": "목록에서 지우기",
"Report a bug": "오류 보고하기",
"Resend": "다시 보내기",
"Riot Desktop on %(platformName)s": "%(platformName)s에서 라이엇 데스크탑",
"Riot Desktop on %(platformName)s": "%(platformName)s에서 라이엇 컴퓨터판",
"Riot is not supported on mobile web. Install the app?": "라이엇은 모바일 사이트를 지원하지 않아요. 앱을 설치하시겠어요?",
"Room directory": "방 목록",
"Room not found": "방을 찾지 못했어요",
"Search": "찾기",
"Search…": "찾기…",
"Search for a room": "방에서 찾기",
"Send": "보내기",
"Send logs": "로그 보내기",
"Settings": "설정",
"Source URL": "출처 주소",
"Source URL": "출처 URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "죄송해요. 브라우저에서 라이엇을 켤 수가 <b>없어요</b>.",
"Start chat": "이야기하기",
"This Room": "방",
"Unavailable": "이용할 수 없음",
"Unknown device": "알 수 없는 장치",
@@ -87,7 +80,7 @@
"Waiting for response from server": "서버에서 응답을 기다리는 중",
"You cannot delete this image. (%(code)s)": "이 사진을 지우실 수 없어요. (%(code)s)",
"You cannot delete this message. (%(code)s)": "이 메시지를 지우실 수 없어요. (%(code)s)",
"You are not receiving desktop notifications": "데스크탑 알림을 받지 않고 있어요",
"You are not receiving desktop notifications": "컴퓨터 알림을 받지 않고 있어요",
"Sunday": "일요일",
"Monday": "월요일",
"Tuesday": "화요일",
@@ -98,7 +91,6 @@
"Today": "오늘",
"Yesterday": "어제",
"OK": "알았어요",
"Welcome page": "환영 화면",
"Welcome to Riot.im": "라이엇에 오신 걸 환영해요",
"Chat with Riot Bot": "Riot 봇과 이야기하기",
"You have successfully set a password!": "비밀번호를 설정했어요!",
@@ -106,20 +98,17 @@
"Please set a password!": "비밀번호를 설정해주세요!",
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)s의 %(browserName)s을 통한 %(appName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">사파리</a>와 <a href=\"http://opera.com\">오페라</a>에서도 작동해요.",
"customServer_text": "사용자 지정 서버 설정에서 다른 홈 서버 주소를 지정해 다른 매트릭스 서버에 로그인할 수 있어요.<br/>이를 통해 라이엇과 다른 홈 서버의 기존 매트릭스 계정을 함께 쓸 수 있죠.<br/><br/>사용자 지정 ID 서버를 설정할 수도 있지만 이메일 주소로 사용자를 초대하거나 초대받을 수는 없답니다.",
"customServer_text": "사용자 지정 서버 설정에서 다른 홈 서버 URL을 지정해 다른 매트릭스 서버에 로그인할 수 있어요.<br/>이를 통해 라이엇과 다른 홈 서버의 기존 매트릭스 계정을 함께 쓸 수 있죠.<br/><br/>사용자 지정 ID 서버를 설정할 수도 있지만 이메일 주소로 사용자를 초대하거나 초대받을 수는 없답니다.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "방 가명 %(alias)s 을 지우고 목록에서 %(name)s를 지우시겠어요?",
"Drop here %(toAction)s": "여기에 놓아주세요 %(toAction)s",
"Enable audible notifications in web client": "웹 클라이언트에서 알림 소리 켜기",
"Enable them now": "지금 켜기",
"Enter keywords separated by a comma:": "키워드를 쉼표로 구분해 입력해주세요:",
"Failed to": "실패했어요",
"Failed to add tag %(tagName)s to room": "방에 %(tagName)s로 지정하지 못했어요",
"Failed to change settings": "설정을 바꾸지 못했어요",
"Failed to forget room %(errCode)s": "방 %(errCode)s를 잊지 못했어요",
"Failed to update keywords": "키워드를 갱신하지 못했어요",
"Failed to get protocol list from Home Server": "홈 서버에서 프로토콜 목록을 얻지 못했어요",
"Failed to get public room list": "공개한 방 목록을 얻지 못했어요",
"Failed to join the room": "방에 들어가지 못했어요",
"Failed to remove tag %(tagName)s from room": "방에서 %(tagName)s 지정을 지우지 못했어요",
"Failed to send report: ": "보고를 보내지 못했어요: ",
"Failed to set direct chat tag": "직접 이야기 지정을 설정하지 못했어요",
@@ -129,7 +118,6 @@
"Files": "파일",
"Filter room names": "방 이름 거르기",
"Forward Message": "메시지 전달",
" from room": " 방에서",
"Guests can join": "손님이 들어올 수 있어요",
"(HTTP status %(httpStatus)s)": "(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:": "문제를 진단하기 위해서, 이 클라이언트의 로그를 오류 보고서와 같이 보낼 거에요. 위 내용만 보내시려면, 체크를 해제하세요:",
@@ -153,8 +141,6 @@
"The Home Server may be too old to support third party networks": "타사 네트워크를 지원하기에는 홈 서버가 너무 오래된 걸 수 있어요",
"There are advanced notifications which are not shown here": "여기 보이지 않는 고급 알림이 있어요",
"The server may be unavailable or overloaded": "서버를 쓸 수 없거나 과부하일 수 있어요",
"This room is inaccessible to guests. You may be able to join if you register.": "이 방은 손님이 들어가실 수 없어요. 계정을 등록하시면 들어가실 수 있을 거에요.",
" to room": " 방에서",
"Unable to fetch notification target list": "알림 대상 목록을 불러올 수 없어요",
"Unable to join network": "네트워크에 들어갈 수 없어요",
"Unable to look up room ID from server": "서버에서 방 ID를 찾아볼 수 없어요",
@@ -171,7 +157,7 @@
"Get started with some tips from Riot Bot!": "라이엇 봇에게 조언을 받고 시작하세요!",
"General discussion about Matrix and Riot": "매트릭스와 라이엇에 대한 일반 논의",
"Discussion of all things Matrix!": "매트릭스의 모든 것에 대한 토론!",
"Riot/Web &amp; Desktop chat": "라이엇/웹 &amp; 데스크탑 대화",
"Riot/Web &amp; Desktop chat": "라이엇/웹 &amp; 컴퓨터 이야기",
"Riot/iOS &amp; matrix-ios-sdk chat": "라이엇/IOS &amp; matrix-ios-sdk 대화",
"Riot/Android &amp; matrix-android-sdk chat": "매트릭스/안드로이드 &amp; matrix-ios-sdk 대화",
"Matrix technical discussions": "매트릭스 기술 논의",
@@ -197,6 +183,22 @@
"This will allow you to return to your account after signing out, and sign in on other devices.": "이런 식으로 로그아웃한 뒤 계정으로 돌아가, 다른 장치에서 로그인하실 수 있어요.",
"You have successfully set a password and an email address!": "비밀번호와 이메일 주소를 설정했어요!",
"Remember, you can always set an email address in user settings if you change your mind.": "잊지마세요, 마음이 바뀌면 언제라도 사용자 설정에서 이메일 주소를 바꾸실 수 있다는 걸요.",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "손님으로 라이엇에 들어오셨네요. <a>계정을 등록하거나</a> <a>로그인하시고</a> 더 많은 방과 기능을 즐기세요!",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "라이엇이 아닌 다른 클라이언트에서 구성하셨을 수도 있어요. 라이엇에서 조정할 수는 없지만 여전히 적용되있을 거에요"
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "라이엇이 아닌 다른 클라이언트에서 구성하셨을 수도 있어요. 라이엇에서 조정할 수는 없지만 여전히 적용되있을 거에요",
"To return to your account in future you need to <u>set a password</u>": "나중에 계정으로 돌아가려면 <u>비밀번호 설정</u>을 해야만 해요",
"Set Password": "비밀번호 설정",
"Warning": "주의",
"Checking for an update...": "업데이트를 확인하는 중...",
"Error encountered (%(errorDetail)s).": "오류가 일어났어요 (%(errorDetail)s).",
"No update available.": "업데이트가 없어요.",
"Downloading update...": "업데이트를 받는 중...",
"Couldn't load home page": "중심 화면을 불러올 수 없어요",
"Show message in desktop notification": "컴퓨터 알림에서 내용 보이기",
"Appear Offline": "미접속으로 표시하기",
"Bug report sent": "오류 보고서를 보냈어요",
"Thank you!": "감사합니다!",
"Back": "돌아가기",
"Edit": "수정하기",
"Toolbox": "도구상자",
"Developer Tools": "개발자 도구",
"Register": "등록"
}

223
src/i18n/strings/lt.json Normal file
View File

@@ -0,0 +1,223 @@
{
"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 darbalaukio pranešimus",
"Sunday": "Sekmadienis",
"Monday": "Pirmadienis",
"Tuesday": "Antradienis",
"Wednesday": "Trečiadienis",
"Thursday": "Ketvirtadienis",
"Friday": "Penktadienis",
"Saturday": "Šeštadienis",
"Today": "Šiandien",
"Yesterday": "Vakar",
"powered by Matrix": "palaikomas Matrix",
"What's New": "Kas naujo",
"What's new?": "Kas naujo?",
"A new version of Riot is available.": "Yra nauja Riot versija.",
"To return to your account in future you need to <u>set a password</u>": "Ateityje norėdami prisijungti prie savo paskyros turite <u>susigalvoti slaptažodį</u>",
"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 paveikslėlio. (%(code)s)",
"Remove": "Šalinti",
"Close": "Užverti",
"Download this file": "Atsisiųsti šį failą",
"Thank you!": "Ačiū!",
"Cancel": "Atšaukti",
"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, kad įvyks? Kas iš tikrųjų įvyko?",
"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": "Įrankinė",
"You have successfully set a password!": "Jūs sėkmingai įrašėte slaptažodį!",
"You have successfully set a password and an email address!": "Jūs sėkmingai įrašė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šau įrašykite slaptažodį!",
"You cannot delete this message. (%(code)s)": "Jūs negalite trinti šios žinutės. (%(code)s)",
"Cancel Sending": "Atšaukti siuntimą",
"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 <b>not</b> able to run Riot.": "Atleiskite, jūsų naršyklė <b>negali</b> 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",
"Riot is not supported on mobile web. Install the app?": "Riot nėra palaikoma naršant svetainėje mobiliaisiais įrenginiais. Įdiegti programėlę?",
"Riot Desktop on %(platformName)s": "Riot darbalaukis %(platformName)s",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s ant %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Norint skambinti su ekrano dalijimosi funkcija būtina naudoti HTTPS.",
"Messages containing my display name": "Žinutės, kuriose paminėtas mano vardas",
"Messages containing my user name": "Žinutės, kuriose paminėtas mano vartotojo vardas",
"Messages in one-to-one chats": "Žinutės privačiuose pokalbiuose",
"Messages in group chats": "Žinutės grupiniuose pokalbiuose",
"When I'm invited to a room": "Kai aš esu pakviestas į pokalbių kambarį",
"Call invitation": "Pakvietimas skambinant",
"Messages sent by bot": "Roboto siunčiamos žinutės",
"Error saving email notification preferences": "Klaidos pranešimų saugant el. pašto adresą nustatymai",
"An error occurred whilst saving your email notification preferences.": "Pasirodė klaida saugant el. pašto adreso pranešimų nustatymus.",
"Can't update user notification settings": "Nėra galimybės atnaujinti vartotojo pranešimų nustatymų",
"Messages containing <span>keywords</span>": "Žinutės turinčios <span>keywords</span>",
"Notify for all other messages/rooms": "Įspėti apie visas kitas žinutes/pokalbių kambarius",
"Notify me for anything else": "Įspėti mane apie visa kita",
"Enable notifications for this account": "Įjungti pranešimus šiai paskyrai",
"All notifications are currently disabled for all targets.": "Šiuo metu visi pranešimai yra išjungti visiems objektams.",
"Add an email address above to configure email notifications": "Norėdami gauti pranešimus el. paštu įveskite į aukščiau esantį laukelį el. pašto adresą",
"Notifications on the following keywords follow rules which cant be displayed here:": "Pranešimai šiems raktažodžiams yra uždrausti taisyklėmis:",
"Unable to fetch notification target list": "Nėra galimybės rasti pranešimo objektų sąrašui",
"Notification targets": "Pranešimo objektai",
"There are advanced notifications which are not shown here": "Yra išplėstinių pranešimų, kurie nėra čia rodomi",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Jūs turbūt juos sukonfigūravote kitoje programėlėje nei Riot. Negalite jų koreguoti Riot programėlėje, bet jie vistiek yra taikomi",
"Show message in desktop notification": "Rodyti žinutes darbalaukio pranešimuose",
"Enable audible notifications in web client": "Įgalinti garsinius pranešimus internetinėje aplinkoje",
"Off": "Išjungta",
"On": "Įjungta",
"Noisy": "Triukšmingas",
"Search…": "Paieška…",
"Search": "Ieškoti",
"This Room": "Šis pokalbių kambarys",
"All Rooms": "Visi pokalbių kambariai",
"Custom Server Options": "Pasirinktiniai serverio nustatymai",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.": "Norėdami jungtis prie kito nei Matrix serverio galite pasirinktinio serverio nustatymuose nurodyti kito serverio URL adresą.<br/>Ši funkcija leis naudoti Riot su esama Matrix serverio paskyrą kituose serveriuose.<br/><br/>Taip pat galite nurodyti pasirinktinį identifikavimo serverį, bet tuomet negalėsite kviesti kitų vartotojų el. paštu ar jie jūsų.",
"Dismiss": "Nutraukti",
"You are not receiving desktop notifications": "Jūs negaunate darbalaukio pranešimų",
"Enable them now": "Įgalinti juos dabar",
"Update": "Atnaujinti",
"Error encountered (%(errorDetail)s).": "Gauta klaida (%(errorDetail)s).",
"Uploaded on %(date)s by %(user)s": "Atnaujinta %(date)s vartotojo %(user)s",
"Please describe the bug and/or send logs.": "Prašau apibūdinkite programos klaidą ir/arba išsiųskite žurnalo įrašus.",
"Loading bug report module": "Įkraunamas klaidų ataskaitų modulis",
"Bug report sent": "Klaidos ataskaita išsiųsta",
"Failed to send report: ": "Nepavyko išsiųsti ataskaitos: ",
"Report a bug": "Siųsti klaidos ataskaitą",
"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:": "Tam, kad nustatytume problemas, iš šio kliento bus išsiųsti žurnalai kartu su klaidos ataskaita. Jeigu norite siųsti tik žemiau esantį tekstą nuimkite šia varnelę:",
"Send logs": "Siųsti žurnalus",
"Send": "Siųsti",
"Unavailable": "Neprieinamas",
"Send Custom Event": "Siųsti pasirinktinį įvykį",
"Failed to send custom event.": "Nepavyko išsiųsti pasirinktinio įvykio.",
"State Key": "Būklės raktas",
"Event Content": "Įvykio turinys",
"Send Account Data": "Siųsti paskyros duomenis",
"Filter results": "Išfiltruoti rezultatus",
"Explore Room State": "Peržiūrėti pokalbių kambario būseną",
"Edit": "Koreguoti",
"Explore Account Data": "Peržiūrėti paskyros duomenis",
"Developer Tools": "Programuotojo įrankiai",
"You can now return to your account after signing out, and sign in on other devices.": "Po atsijungimo galite grįžti prie savo paskyros ir prisijungti kituose įrenginiuose.",
"Remember, you can always set an email address in user settings if you change your mind.": "Nepamirškite, kad galite, bet kada įrašyti savo el. pašto adresą paskyros nustatymuose.",
"Failed to change password. Is your password correct?": "Nepavyko pakeisti slaptažodžio. Ar Jūsų slaptažodis teisingas?",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Tai leis Jums grįžti prie paskyros po atsijungimo ir prisijungti kituose įrenginiuose.",
"Resend": "Siųsti iš naujo",
"Reply": "Atsakyti",
"View Source": "Peržiūrėti šaltinį",
"View Decrypted Source": "Peržiūrėti iššifruotą šaltinį",
"Unhide Preview": "Rodyti paržiūrą",
"Quote": "Citata",
"Source URL": "Šaltinio URL adresas",
"Online": "Prisijungęs",
"Away": "Neaktyvus",
"Appear Offline": "Neprisijungęs",
"Failed to set Direct Message status of room": "Nepavyko nustatyti tiesioginio pranešimo kambario būklės",
"Failed to forget room %(errCode)s": "Nepavyko pašalinti pokalbių kambario %(errCode)s",
"All messages (noisy)": "Visos žinutės (triukšmingas)",
"All messages": "Visos žinutės",
"Mentions only": "Tik paminėjimai",
"Mute": "Užtildyti",
"Leave": "Atsijungti",
"Forget": "Pamiršti",
"Favourite": "Svarbūs",
"Low Priority": "Nesvarbūs",
"Direct Chat": "Tiesioginis pokalbis",
"View Community": "Peržiūrėti bendruomenes",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot naudoja daug išplėstinių naršyklės funkcionalumų, kai kurie iš jų yra neprieinami ar eksperimentinei Jūsų naršyklėje.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Prašau įdiekite <chromeLink>Chrome</chromeLink> arba <firefoxLink>Firefox</firefoxLink> geriausiam rezultatui gauti.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Naudojant <safariLink>Safari</safariLink> ir <operaLink>Opera</operaLink> taip pat gerai veikia.",
"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!": "Naudojant šią naršyklę aplikacija gali atrodyti ir reaguoti neteisingai. Kai kurios arba visos funkcijos gali neveikti. Jei vis tiek norite pabandyti gali tęsti, tačiau iškilusios problemos yra jūsų pačių reikalas!",
"Couldn't load home page": "Nepavyksta užkrauti namų puslapio",
"Members": "Nariai",
"%(count)s Members|other": "%(count)s nariai",
"%(count)s Members|one": "%(count)s narys",
"Invite to this room": "Pakviesti į šį kambarį",
"Add rooms to this community": "Įtraukti kambarius į šią bendruomenę",
"Failed to get protocol list from Home Server": "Nepavyko gauti protokolų sąrašo iš serverio",
"The Home Server may be too old to support third party networks": "Serveris gali būti per senas ir negali palaikyti trečių šalių tinklų",
"Failed to get public room list": "Nepavyko gauti viešų pokalbių kambarių sąrašo",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Ar ištrinti kambarį %(alias)s ir %(name)s kambario pavadinimą iš katalogo?",
"Remove %(name)s from the directory?": "Ar ištrinti %(name)s iš katalogo?",
"delete the alias.": "ištrinti slapyvardį.",
"Fetching third party location failed": "Nepavyko gauti trečios šalies vietos",
"Unable to look up room ID from server": "Nepavyko gauti kambario ID iš serverio",
"World readable": "Visiems skaitomas",
"Guests can join": "Svečiai gali prisijungti",
"No rooms to show": "Nėra kambarių rodymui",
"Search for a room": "Ieškoti kambario",
"Filter room names": "Filtruoti kambarių pavadinimus",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizuotas, šifruotas čatas; bendradarbiavimas palaikomas [matrix]",
"Search the room directory": "Ieškoti kambarių kataloge",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Daugybė kambarių yra prisijungę prie Matrix, kurie yra susieti su egzistuojančiais tinklais (Slack, IRC, Gitter etc) arba nepriklausomi. Patikrinkite kambarių katalogą!",
"Get started with some tips from Riot Bot!": "Pradėkite su patarimais nuo Riot roboto!",
"Discussion of all things Matrix!": "Diskusijos apie viską Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Darbalaukio čatas",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat",
"Running Matrix services": "Vykdant Matrix servisus",
"Community-run support for Synapse": "Bendruomenės Synapse palaikymas",
"Admin support for Dendrite": "Administratoriaus Dendrite palaikymas",
"Announcements about Synapse releases": "Pranešimai apie Synapse naujinimus",
"Support for those using and running matrix-appservice-irc": "Palaikymas skirtas matrix-appservice-irc naudotojams",
"Building services on Matrix": "Servisų kūrimas ant Matrix",
"Support for those using the Matrix spec": "Palaikymas skirtas Matrix spec",
"Design and implementation of E2E in Matrix": "E2E dizainas ir įgyvendinimas Matrix'e",
"Implementing VR services with Matrix": "VR serviso įgyvendinimas su Matrix",
"Implementing VoIP services with Matrix": "VoIP serviso įgyvendinimas su Matrix",
"Discussion of the Identity Service API": "Diskusijos apie identifikavimo serviso API",
"Support for those using, running and writing other bridges": "Palaikymas skirtas tiems kas naudoja kitus tiltus",
"Contributing code to Matrix and Riot": "Contributing code to Matrix and Riot",
"Dev chat for the Riot/Web dev team": "Kūrėjų čatas Riot/Web dev team",
"Dev chat for the Dendrite dev team": "Kūrėjų čatas Dendrite dev team",
"Co-ordination for Riot/Web translators": "Riot/Web vertėjų koordinacija"
}

227
src/i18n/strings/lv.json Normal file
View File

@@ -0,0 +1,227 @@
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s caur %(browserName)s un %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "darbojas arī <a href=\"http://apple.com/safari\">Safari</a> un <a href=\"http://opera.com\">Opera</a>.",
"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 (ar skaņu)",
"All Rooms": "Visas istabas",
"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": "Neizdodas atjaunot lietotāja paziņojumu iestatījumus",
"Changelog": "Izmaiņu saraksts (vēsture)",
"Close": "Aizvērt",
"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.<br/>Tas atļaus Tev izmantot Riot ar jau eksistējošu Matrix kontu citā serverī.<br/><br/>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 (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 šeit savu problēmu.",
"Direct Chat": "Tiešais čats",
"Directory": "Katalogs",
"Dismiss": "Atteikums",
"Download this file": "Lejupielādēt šo failu",
"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 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 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 istabai noņemt birku %(tagName)s",
"Failed to send report: ": "Neizdevās nosūtīt atskaiti: ",
"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 nomainīt paroli. Vai tā ir pareiza?",
"Favourite": "Tava izlase (favorīti)",
"Mute": "Kluss (noklusināt)",
"Notifications": "Paziņojumi",
"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": "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",
"Forward Message": "Pārsūtīt ziņu",
"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 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": "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 <span>keywords</span>": "Ziņas, kuras satur <span>atslēgvārdus</span>",
"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, kuras parādīt",
"Noisy": "Trokšņains",
"Notification targets": "Paziņojuma mērķi",
"Notifications on the following keywords follow rules which cant 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ē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. 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 <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Lūdzu instalē <a href=\"https://www.google.com/chrome\">Chrome</a> vai <a href=\"https://getfirefox.com\">Firefox</a> pārlūku labākai pārlūkošanas pieredzei.",
"Quote": "Citāts",
"Reject": "Noraidīt",
"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": "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 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 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": "Sūtīt",
"Send logs": "Nosūtīt logfailus",
"Source URL": "Avota URL adrese",
"Sorry, your browser is <b>not</b> able to run Riot.": "Atvaino, diemžēl tavs tīmekļa pārlūks <b>nespēj</b> 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": "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": "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": "Gaidam atbildi no servera",
"When I'm invited to a room": "Kad esmu uzaicināts/a istabā",
"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": "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 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": "Esiet gaidīti Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizēta, šifrēta čata &amp; 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",
"Discussion of all things Matrix!": "Diskusija par visām ar Matrix saistītajām lietām!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; darbvirsmas čats",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk čats",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk čats",
"Matrix technical discussions": "Matrix tehniskās diskusijas",
"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": "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": "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-ā 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 pārdomāsi.",
"To return to your account in future you need to <u>set a password</u>": "Lai nākotnē atgrieztos savā kontā, nepieciešams <u>iestatīt paroli</u>",
"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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br> Tas atļaus tev lietot Riot ar esošo Matrix kontu uz cita mājasservera.<br/><br/>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 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 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.": "Individuālo 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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Labāko lietošanas pieredzi gūsi uzstādot pārlūkprogrammu <chromeLink>Chromium</chromeLink> vai <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> un <operaLink>Opera</operaLink> arī nav skādējami.",
"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 kopienai",
"Reply": "Atbildēt"
}

View File

@@ -1,6 +1,196 @@
{
"Add an email address above to configure email notifications": "ഇ മെയില്‍ അറിയിപ്പുകൾ ലഭിക്കാന്‍ മുകളില്‍ ഇ-മെയില്‍ വിലാസം നല്‍കൂ",
"All messages": "എല്ലാ സന്ദേശങ്ങളും",
"All messages (loud)": "എല്ലാ സന്ദേശങ്ങളും (ഉച്ചത്തിൽ)",
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)sല് %(browserName)s വഴി %(appName)s"
"All messages (noisy)": "എല്ലാ സന്ദേശങ്ങളും (ഉച്ചത്തിൽ)",
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)sല് %(browserName)s വഴി %(appName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">സഫാരിയിലും</a>പിന്നെ <a href=\"http://opera.com\">ഓപ്പേറയിലും</a>പ്രവര്‍ത്തിക്കുന്നു.",
"A new version of Riot is available.": "റയട്ടിന്റെ ഒരു പുതിയ പതിപ്പ് ലഭ്യമാണ്.",
"Advanced notification settings": "അറിയപ്പുകളുടെ സങ്കീര്‍ണമായ സജ്ജീകരണങ്ങള്‍",
"All Rooms": "എല്ലാ മുറികളും കാണുക",
"All notifications are currently disabled for all targets.": "അറിയിപ്പുകളെല്ലാം നിര്‍ത്തിയിരിയ്ക്കുന്നു.",
"An error occurred whilst saving your email notification preferences.": "ഇ-മെയില്‍ വഴി അറിയിയ്ക്കാനുള്ള നിങ്ങളുടെ സജ്ജീകരണങ്ങള്‍ സൂക്ഷിക്കുന്നതില്‍ ഒരു പ്രശ്നമുണ്ടായി.",
"Call invitation": "വിളിയ്ക്കുന്നു",
"Cancel": "റദ്ദാക്കുക",
"Cancel Sending": "അയയ്ക്കുന്നത് റദ്ദാക്കുക",
"Can't update user notification settings": "ഉപയോക്താവിനെ അറിയിയ്ക്കാനുള്ള സജ്ജീകരണം പുതുക്കാനായില്ല",
"Changelog": "മാറ്റങ്ങളുടെ നാള്‍വഴി",
"Close": "അടയ്ക്കുക",
"Collapse panel": "പാനല്‍ കൊളാപ്സ് ചെയ്യുക",
"Collecting app version information": "ആപ്പ് പതിപ്പു വിവരങ്ങള്‍ ശേഖരിക്കുന്നു",
"Collecting logs": "നാള്‍വഴി ശേഖരിക്കുന്നു",
"Couldn't find a matching Matrix room": "ആവശ്യപ്പെട്ട മാട്രിക്സ് റൂം കണ്ടെത്താനായില്ല",
"Custom Server Options": "കസ്റ്റം സെര്‍വര്‍ ഓപ്ഷനുകള്‍",
"delete the alias.": "ഏലിയാസ് നീക്കം ചെയ്യുക.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "റൂം ഏലിയാസ് %(alias)s നീക്കം ചെയ്യുകയും %(name)s കള്‍ ഡയറക്ടറിയില്‍ നിന്നും നീക്കം ചെയ്യുകയും ചെയ്യുക ?",
"Describe your problem here.": "നിങ്ങള്‍ നേരിട്ട പ്രശ്നം ഇവിടെ വിവരിക്കാം.",
"Direct Chat": "നേരിട്ടുള്ള ചാറ്റ്",
"Directory": "ഡയറക്ടറി",
"Dismiss": "ഒഴിവാക്കുക",
"Download this file": "ഈ ഫയല്‍ ഡൌണ്‍ലോഡ് ചെയ്യുക",
"Enable audible notifications in web client": "വെബ് പതിപ്പിലെ അറിയിപ്പുകള്‍ കേള്‍ക്കാവുന്നതാക്കുക",
"Enable desktop notifications": "ഡെസ്ക്ടോപ്പ് നോട്ടിഫിക്കേഷനുകള്‍ ഇനേബിള്‍ ചെയ്യുക",
"Enable email notifications": "ഇമെയില്‍ നോട്ടിഫിക്കേഷനുകള്‍ ഇനേബിള്‍ ചെയ്യുക",
"Enable notifications for this account": "ഈ അക്കൌണ്ടില്‍ നോട്ടിഫിക്കേഷനുകള്‍ ഇനേബിള്‍ ചെയ്യുക",
"Enable them now": "ഇപ്പോള്‍ ഇനേബിള്‍ ചെയ്യുക",
"Enter keywords separated by a comma:": "കീവേഡുകളെ കോമ കൊണ്ട് വേര്‍ത്തിരിച്ച് ടൈപ്പ് ചെയ്യുക :",
"Error": "എറര്‍",
"Error saving email notification preferences": "ഇമെയില്‍ നോട്ടിഫിക്കേഷന്‍ സജ്ജീകരണങ്ങള്‍ സൂക്ഷിക്കവേ എറര്‍ നേരിട്ടു",
"#example": "#ഉദാഹരണം",
"Expand panel": "പാനല്‍ വലുതാക്കുക",
"Failed to add tag %(tagName)s to room": "റൂമിന് %(tagName)s എന്ന ടാഗ് ആഡ് ചെയ്യുവാന്‍ സാധിച്ചില്ല",
"Failed to change settings": "സജ്ജീകരണങ്ങള്‍ മാറ്റുന്നവാന്‍ സാധിച്ചില്ല",
"Failed to forget room %(errCode)s": "%(errCode)s റൂം ഫോര്‍ഗെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല",
"Failed to update keywords": "കീവേഡുകള്‍ പുതുക്കുവാന്‍ സാധിച്ചില്ല",
"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 send report: ": "റിപ്പോര്‍ട്ട് അയക്കുവാന്‍ സാധിച്ചില്ല : ",
"Failed to set direct chat tag": "ഡയറക്റ്റ് ചാറ്റ് ടാഗ് സെറ്റ് ചെയ്യാനായില്ല",
"Failed to set Direct Message status of room": "റൂമില്‍ നിന്നും ഡയറക്റ്റ് മെസേജ് സ്റ്റാറ്റസ് സജ്ജീകരിക്കാന്‍ കഴിഞ്ഞില്ല",
"Favourite": "പ്രിയപ്പെട്ടവ",
"Fetching third party location failed": "തേഡ് പാര്‍ട്ടി ലൊക്കേഷന്‍ ഫെച്ച് ചെയ്യാന്‍ കഴിഞ്ഞില്ല",
"Files": "ഫയലുകള്‍",
"Filter room names": "റൂം പേരുകള്‍ ഫില്‍ട്ടര്‍ ചെയ്യുക",
"Forget": "മറക്കുക",
"Forward Message": "സന്ദേശം ഫോര്‍വേഡ് ചെയ്യുക",
"Guests can join": "അതിഥികള്‍ക്കും പ്രവേശിക്കാം",
"Hide panel": "പാനല്‍ ഒളിപ്പിക്കുക",
"(HTTP status %(httpStatus)s)": "(HTTP സ്റ്റാറ്റസ് %(httpStatus)s)",
"I understand the risks and wish to continue": "കുഴപ്പമാകാന്‍ സാധ്യതയുണ്ടെന്നെനിയ്ക്കു് മനസ്സിലായി, എന്നാലും മുന്നോട്ട് പോകുക",
"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:": "നേരിട്ട പ്രശ്നം മനസ്സിലാക്കാന്‍, ഈ ക്ലയന്റില്‍ നിന്നുള്ള നാള്‍വഴികള്‍ ബഗ് റിപ്പോര്‍ട്ടിനൊപ്പം അയയ്ക്കും. അതിനു പകരം ഈ എഴുത്ത് മാത്രം അയച്ചാല്‍ മതിയെങ്കില്‍ ദയവായി ശരിച്ഛിഹ്നം ഒഴിവാക്കുക:",
"Invite to this room": "ഈ റൂമിലേക്ക് ക്ഷണിക്കുക",
"Keywords": "കീവേഡുകള്‍",
"Leave": "വിടവാങ്ങുക",
"Login": "ലോഗിന്‍",
"Loading bug report module": "പിഴവുകള്‍ അറിയിയ്ക്കാനുള്ള ഘടകം ചേര്‍ക്കുന്നു",
"Low Priority": "താഴ്ന്ന പരിഗണന",
"Members": "അംഗങ്ങള്‍",
"Mentions only": "മെന്‍ഷനുകള്‍ മാത്രം",
"Messages containing my display name": "എന്റെ പേര് അടങ്ങിയിരിക്കുന്ന സന്ദേശങ്ങള്‍ക്ക്",
"Messages containing <span>keywords</span>": "<span>കീവേഡുകള്‍</span>അടങ്ങിയ സന്ദേശങ്ങള്‍ക്ക്",
"Messages containing my user name": "എന്റെ യൂസര്‍ നെയിം അടങ്ങിയിരിക്കുന്ന സന്ദേശങ്ങള്‍ക്ക്",
"Messages in group chats": "ഗ്രൂപ്പ് ചാറ്റുകളിലെ സന്ദേശങ്ങള്‍ക്ക്",
"Messages in one-to-one chats": "നേര്‍ക്കുനേര്‍ ചാറ്റിലെ സന്ദേശങ്ങള്‍ക്ക്",
"Messages sent by bot": "ബോട്ട് അയയ്ക്കുന്ന സന്ദേശങ്ങള്‍ക്ക്",
"more": "കൂടുതല്‍",
"Mute": "നിശ്ശബ്ദം",
"No rooms to show": "കാണിക്കാന്‍ റൂമുകളില്ല",
"Noisy": "ഉച്ചത്തില്‍",
"Notification targets": "നോട്ടിഫിക്കേഷന്‍ ടാര്‍ഗെറ്റുകള്‍",
"Notifications": "നോട്ടിഫിക്കേഷനുകള്‍",
"Operation failed": "ശ്രമം പരാജയപ്പെട്ടു",
"Permalink": "പെര്‍മാലിങ്ക്",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "ബഗ് വിശദീകരിക്കുക. എന്ത് ചെയ്തപ്പോഴാണ് വന്നത് ? എന്തായിരുന്നു പ്രതീക്ഷിച്ചിരുന്നത് ? ശരിക്കും എന്താണ് സംഭവിച്ചത് ?",
"Please describe the bug and/or send logs.": "ബഗ് വിശദീകരിക്കുക , കൂടെ / അല്ലെങ്കില്‍ നാള്‍വഴികളും അയക്കുക.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "ഏറ്റവും മികച്ച ഉപയോഗത്തിനായി <a href=\"https://www.google.com/chrome\">ഗൂഗിള്‍ ക്രോം</a>ബ്രൌസറോ അല്ലെങ്കില്‍ <a href=\"https://getfirefox.com\">ഫയര്‍ഫോക്സ്</a> ബ്രൌസറോ ഇന്‍സ്റ്റാള്‍ ചെയ്യൂ.",
"powered by Matrix": "മാട്രിക്സില്‍ പ്രവര്‍ത്തിക്കുന്നു",
"Quote": "ഉദ്ധരിക്കുക",
"Reject": "നിരസിക്കുക",
"Remove %(name)s from the directory?": "%(name)s കള്‍ ഡയറക്റ്ററിയില്‍ നിന്നും മാറ്റണോ ?",
"Remove": "നീക്കം ചെയ്യുക",
"Remove from Directory": "ഡയറക്റ്ററിയില്‍ നിന്നും നീക്കം ചെയ്യുക",
"Report a bug": "ബഗ് റിപ്പോര്‍ട്ട് ചെയ്യുക",
"Resend": "വീണ്ടും അയയ്ക്കുക",
"Riot Desktop on %(platformName)s": "%(platformName)s ലെ റയട്ട് ഡെസ്ക്ടോപ്പ്",
"Riot does not know how to join a room on this network": "ഈ നെറ്റ്‍വര്‍ക്കിലെ ഒരു റൂമില്‍ എങ്ങനെ അംഗമാകാമെന്ന് റയട്ടിന് അറിയില്ല",
"Riot is not supported on mobile web. Install the app?": "മൊബൈലില്‍ റയട്ട് വെബ് പിന്തുണ ഇല്ല. ആപ്പ് ഇന്‍സ്റ്റാള്‍ ചെയ്യാം ?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "റയട്ട് നൂതന ബ്രൌസര്‍ ഫീച്ചറുകള്‍ ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ ബ്രൌസറില്‍ അവയില്‍ പലതും ഇല്ല / പൂര്‍ണ്ണമല്ല .",
"Room not found": "റൂം കണ്ടെത്താനായില്ല",
"Search": "തിരയുക",
"Search…": "തിരയുക…",
"Search for a room": "ഒരു റൂം തിരയുക",
"Send": "അയയ്ക്കുക",
"Send logs": "നാള്‍വഴി അയയ്ക്കുക",
"Source URL": "സോഴ്സ് യു ആര്‍ എല്‍",
"Sorry, your browser is <b>not</b> able to run Riot.": "ക്ഷമിക്കണം, നിങ്ങളുടെ ബ്രൌസര്‍ റയട്ട് പ്രവര്‍ത്തിപ്പിക്കാന്‍ <b>പര്യാപ്തമല്ല</b>.",
"The Home Server may be too old to support third party networks": "തേഡ് പാര്‍ട്ടി നെറ്റ്‍വര്‍ക്കുകളെ പിന്തുണക്കാത്ത വളരെ പഴയ ഹോം സെര്‍വര്‍ ആയേക്കാം",
"There are advanced notifications which are not shown here": "ഇവിടെ കാണിക്കാത്ത നൂതന നോട്ടിഫിക്കേഷനുകള്‍ ഉണ്ട്",
"The server may be unavailable or overloaded": "സെര്‍വര്‍ ലഭ്യമല്ല അല്ലെങ്കില്‍ ഓവര്‍ലോഡഡ് ആണ്",
"This Room": "ഈ മുറി",
"Unable to fetch notification target list": "നോട്ടിഫിക്കേഷന്‍ ടാര്‍ഗെറ്റ് ലിസ്റ്റ് നേടാനായില്ല",
"Unable to join network": "നെറ്റ്‍വര്‍ക്കില്‍ ജോയിന്‍ ചെയ്യാന്‍ കഴിയില്ല",
"Unable to look up room ID from server": "സെര്‍വറില്‍ നിന്നും റൂം ഐഡി കണ്ടെത്താനായില്ല",
"Unavailable": "ലഭ്യമല്ല",
"Unhide Preview": "പ്രിവ്യു കാണിക്കുക",
"Unknown device": "അപരിചിത ഡിവൈസ്",
"unknown error code": "അപരിചിത എറര്‍ കോഡ്",
"Unnamed room": "പേരില്ലാത്ത റൂം",
"Update": "പുതുക്കുക",
"Uploaded on %(date)s by %(user)s": "%(date)s ല്‍ %(user)s അപ്ലോഡ് ചെയ്തത്",
"Uploading report": "റിപ്പോര്‍ട്ട് അപ്ലോഡ് ചെയ്യുന്നു",
"View Decrypted Source": "ഡീക്രിപ്റ്റ് ചെയ്ത സോഴ്സ് കാണുക",
"View Source": "സോഴ്സ് കാണുക",
"What's New": "പുതിയ വിശേഷങ്ങള്‍",
"What's new?": "എന്തൊക്കെ പുതിയ വിശേഷങ്ങള്‍ ?",
"Waiting for response from server": "സെര്‍വറില്‍ നിന്നുള്ള പ്രതികരണത്തിന് കാക്കുന്നു",
"When I'm invited to a room": "ഞാന്‍ ഒരു റൂമിലേക്ക് ക്ഷണിക്കപ്പെടുമ്പോള്‍",
"You cannot delete this image. (%(code)s)": "നിങ്ങള്‍ക്ക് ഈ ചിത്രം നീക്കം ചെയ്യാനാകില്ല. (%(code)s)",
"You cannot delete this message. (%(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": "ഇവ റയട്ടല്ലാതെ മറ്റൊരു ക്ലയന്റില്‍ വച്ച് കോണ്‍ഫിഗര്‍ ചെയ്തതാകാം. റയട്ടില്‍ അവ ലഭിക്കില്ല, എങ്കിലും അവ നിലവിലുണ്ട്",
"Sunday": "ഞായര്‍",
"Monday": "തിങ്കള്‍",
"Tuesday": "ചൊവ്വ",
"Wednesday": "ബുധന്‍",
"Thursday": "വ്യാഴം",
"Friday": "വെള്ളി",
"Saturday": "ശനി",
"Today": "ഇന്ന്",
"Yesterday": "ഇന്നലെ",
"OK": "ശരി",
"Warning": "മുന്നറിയിപ്പ്",
"Checking for an update...": "അപ്ഡേറ്റ് ഉണ്ടോ എന്ന് തിരയുന്നു...",
"Error encountered (%(errorDetail)s).": "എറര്‍ നേരിട്ടു (%(errorDetail)s).",
"No update available.": "അപ്ഡേറ്റുകള്‍ ലഭ്യമല്ല.",
"Downloading update...": "അപ്ഡേറ്റ് ഡൌണ്‍ലോഡ് ചെയ്യുന്നു...",
"You need to be using HTTPS to place a screen-sharing call.": "സ്ക്രീന്‍ ഷെയറിങ്ങ് കോള്‍ നടത്തണമെങ്കില്‍ https ഉപയോഗിക്കണം.",
"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!": "നിങ്ങളുടെ ഇപ്പോളത്തെ ബ്രൌസര്‍ റയട്ട് പ്രവര്‍ത്തിപ്പിക്കാന്‍ പൂര്‍ണമായും പര്യാപത്മല്ല. പല ഫീച്ചറുകളും പ്രവര്‍ത്തിക്കാതെയിരിക്കാം. ഈ ബ്രൌസര്‍ തന്നെ ഉപയോഗിക്കണമെങ്കില്‍ മുന്നോട്ട് പോകാം. പക്ഷേ നിങ്ങള്‍ നേരിടുന്ന പ്രശ്നങ്ങള്‍ നിങ്ങളുടെ ഉത്തരവാദിത്തത്തില്‍ ആയിരിക്കും!",
"Welcome to Riot.im": "റയട്ടിലേക്ക് സ്വാഗതം",
"Search the room directory": "റൂം ഡയറക്റ്ററിയില്‍ പരതുക",
"Chat with Riot Bot": "റയട്ട് ബോട്ടുമായി ചാറ്റ് ചെയ്യുക",
"Get started with some tips from Riot Bot!": "റയട്ട് ബോട്ടില്‍ നിന്നുള്ള നിര്‍ദേശങ്ങള്‍ സ്വീകരിച്ച് കൊണ്ട് തുടങ്ങൂ!",
"General discussion about Matrix and Riot": "മാട്രിക്സിനേയും റയട്ടിനേയും കുറിച്ചുള്ള പൊതു ചര്‍ച്ച",
"Discussion of all things Matrix!": "മാട്രിക്സിനെ കുറിച്ചുള്ള ചര്‍ച്ച!",
"Riot/Web &amp; Desktop chat": "റയട്ട്/വെബ് &amp; ഡെസ്ക്ടോപ്പ് ചാറ്റ്",
"Riot/iOS &amp; matrix-ios-sdk chat": "റയട്ട്/iOS&amp; matrix-ios-sdk ചാറ്റ്",
"Riot/Android &amp; matrix-android-sdk chat": "റയട്ട്/ആന്‍ഡ്രോയ്ഡ്&amp; matrix-android-sdk ചാറ്റ്",
"Matrix technical discussions": "മാട്രിക്സ് സാങ്കേതിക ചര്‍ച്ച",
"Running Matrix services": "മാട്രിക്സ് സര്‍വീസുകള്‍ റണ്‍ ചെയ്യുന്നു",
"Community-run support for Synapse": "സിനാപ്സിനുള്ള കമ്യൂണിറ്റി-നേതൃത്വത്തലുള്ള പിന്തുണ",
"Admin support for Dendrite": "ഡെന്‍ഡ്രൈറ്റിനുള്ള അഡ്മിന്‍ പിന്തുണ",
"Announcements about Synapse releases": "സിനാപ്സ് റിലീസുകളെ കുറിച്ചുള്ള അറിയിപ്പുകള്‍",
"Support for those using and running matrix-appservice-irc": "matrix-appservice-irc ഉപയോഗിക്കുന്നവര്‍ക്കും റണ്‍ ചെയ്യുന്നവര്‍ക്കുമുള്ള സപ്പോര്‍ട്ട്",
"Support for those using the Matrix spec": "Matrix spec ഉപയോഗിക്കുന്നവര്‍ക്കുള്ള പിന്തുണ",
"Design and implementation of E2E in Matrix": "മാട്രിക്സിലെ e2eയുടെ ഡിസൈനും ഇമ്പ്ലിമെന്റേഷനും",
"remove %(name)s from the directory.": "%(name)s ഡയറക്റ്ററിയില്‍ നിന്ന് നീക്കം ചെയ്യുക.",
"World readable": "ആർക്കും വായിക്കാവുന്നത്",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "വികേന്ദ്രീകൃത , എന്‍ക്രിപ്റ്റഡ് ചാറ്റ് &amp; മാട്രിക്സ് നല്‍കുന്ന കൊളാബൊറേഷന്‍",
"Support for those using, running and writing other bridges": "മറ്റ് ബ്രിഡ്ജുകള്‍ ഉപയോഗിക്കുന്ന, റണ്‍ ചെയ്യുന്ന, എഴുതുന്നവര്‍ക്കുള്ള പിന്തുണ",
"Contributing code to Matrix and Riot": "മാട്രിക്സിലേക്കും റയട്ടിലേക്കും കോഡ് സംഭാവന ചെയ്യാം",
"Dev chat for the Riot/Web dev team": "റയട്ട്/വെബ് ഡെവലപ്പര്‍ ടീമിനുള്ള dev chat",
"Dev chat for the Dendrite dev team": "ഡെന്‍ഡ്രൈറ്റ് ഡെവലപ്പര്‍ ടീമിനുള്ള dev chat",
"Co-ordination for Riot/Web translators": "റയട്ട്/വെബ് പരിഭാഷകരുടെ കൂട്ടായ്മ",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "മാട്രിക്സിലുള്ളതും പഴയ നെറ്റ്‍വര്‍ക്കുകളിലേക്ക് ( സ്ലാക്ക്, IRC, ഗിറ്റര്‍ മുതലായവ ) ലിങ്ക് ചെയ്തതുമൊക്കെയായ ധാരാളം റൂമുകളുണ്ട്. ഡയറക്റ്ററി പരിശാധിക്കൂ!",
"Failed to change password. Is your password correct?": "രഹസ്യവാക്ക് മാറ്റാന്‍ സാധിച്ചില്ല. രഹസ്യവാക്ക് ശരിയാണോ ?",
"You have successfully set a password!": "രഹസ്യവാക്ക് സജ്ജീകരിച്ചിരിക്കുന്നു!",
"You can now return to your account after signing out, and sign in on other devices.": "നിങ്ങള്‍ക്ക് ഇപ്പോള്‍ സൈന്‍ ഔട്ട് ചെയ്ത ശേഷവും നിങ്ങളുടെ അക്കൌണ്ടിലേക്ക് തിരികെ വരാം, അതു പോലെ മറ്റ് ഡിവൈസുകളില്‍ സൈന്‍ ഇന്‍ ചെയ്യുകയുമാവാം.",
"Continue": "മുന്നോട്ട്",
"Please set a password!": "ദയവായി ഒരു രഹസ്യവാക്ക് ക്രമീകരിക്കുക!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "സൈന്‍ ഔട്ട് ചെയ്ത ശേഷം വീണ്ടും നിങ്ങളുടെ അക്കൌണ്ടിലേക്ക് മടങ്ങി വരാനും, മറ്റ് ഡിവൈസുകളില്‍ സൈന്‍ ഇന്‍ ചെയ്യാനും ഇത് സഹായിക്കും.",
"You have successfully set a password and an email address!": "ഇമെയില്‍ വിലാസവും രഹസ്യവാക്കും വിജയകരമായി ക്രമീകരിച്ചിരിക്കുന്നു!",
"Remember, you can always set an email address in user settings if you change your mind.": "ഓര്‍ക്കുക, വേണ്ട സമയത്ത് യൂസര്‍ സെറ്റിങ്സില്‍ ഒരു ഇമെയില്‍ വിലാസം നല്‍കാം.",
"To return to your account in future you need to <u>set a password</u>": "വീണ്ടും ഈ അക്കൌണ്ട് ഉപയോഗിക്കണമെങ്കില്‍ <u>ഒരു രഹസ്യവാക്ക് സെറ്റ് ചെയ്യുക</u>",
"Set Password": "രഹസ്യവാക്ക് സജ്ജീകരിക്കുക",
"customServer_text": "മറ്റ് മാട്രിക്സ് സെര്‍വറുകളില്‍ ലോഗിന്‍ ചെയ്യാന്‍ കസ്റ്റം സെര്‍വര്‍ ഓപ്ഷനില്‍ ഹോം സെര്‍വര്‍ യു ആര്‍ എല്‍ വ്യക്തമാക്കുക.<br/>ഇത് വഴി മറ്റൊരു ഹോം സെര്‍വറില്‍ ഉള്ള മാട്രിക്സ് അക്കൌണ്ട് റയട്ടില്‍ ഉപയോഗിക്കാം.<br/><br/>അതു പോലെ, നിങ്ങള്‍ക്ക് കസ്റ്റം ഐഡന്റിറ്റി സെര്‍വറും ക്രമീകരിക്കാം. പക്ഷേ അപ്പോള്‍ നിങ്ങള്‍ക്ക് ആരേയും ഇമെയില്‍ വഴി ക്ഷണിക്കാനോ തിരിച്ചോ സാധിക്കില്ല.",
"Off": "ഓഫ്",
"On": "ഓണ്‍",
"Notify me for anything else": "ബാക്കി ഏതിനും എനിക്ക് അറിയിപ്പു നൽകുക",
"Notify for all other messages/rooms": "ബാക്കി എല്ലാ സന്ദേശങ്ങൾക്കും/റൂമുകൾക്കും അറിയിപ്പു നൽകുക",
"Building services on Matrix": "മട്രിക്സിന്മേൽ സർവീസുകൾ പണിയുന്നു",
"Implementing VR services with Matrix": "മട്രിക്സ് ഉപയോഗിച്ചു വി.അർ. സർവീസുകൾ നടപ്പിലാക്കുന്നു",
"Implementing VoIP services with Matrix": "മേട്രിക്സിന്മേൽ VoIP സർവീസുകൾ നടപ്പിലാക്കുന്നു",
"Discussion of the Identity Service API": "ഐഡൻടിറ്റി സർവീസ് എപിഐ യെ പറ്റിയുള്ള ചർച്ച",
"Notifications on the following keywords follow rules which cant be displayed here:": "ഈ പറയുന്ന കീവേർഡുകളെ പറ്റിയുള്ള അറിയിപ്പുകൾ പിൻതുടരുന്ന നിയമങ്ങൾ ഇവിടെ കാണിക്കുവാൻ സാധ്യമല്ല:",
"Back": "തിരികെ",
"Bug report sent": "ബഗ് റിപ്പോർട്ട് അയയ്ക്കുക"
}

View File

@@ -2,13 +2,12 @@
"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",
"Can't update user notification settings": "Kan ikke oppdatere brukervarsel innstillinger",
"Close": "Lukk",
"Create new room": "Opprett nytt rom",
"Couldn't find a matching Matrix room": "Kunne ikke finne et samsvarende Matrix rom",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> og <a href=\"http://opera.com\">Opera</a> fungerer også.",
"Call invitation": "Anropsinvitasjon",
@@ -20,7 +19,6 @@
"Direct Chat": "Direkte Chat",
"Directory": "Katalog",
"Download this file": "Last ned filen",
"Drop here %(toAction)s": "Dra hit %(toAction)s",
"Enable audible notifications in web client": "Aktiver lyd-varsel i webklient",
"Enable desktop notifications": "Aktiver skrivebordsvarsler",
"Enable email notifications": "Aktiver e-postvarsler",
@@ -31,14 +29,12 @@
"Error saving email notification preferences": "Feil ved lagring av e-postvarselinnstillinger",
"#example": "#eksempel",
"Expand panel": "Utvid panel",
"Failed to": "Feilet å",
"Failed to add tag %(tagName)s to room": "Kunne ikke legge til tagg %(tagName)s til rom",
"Failed to change settings": "Kunne ikke endre innstillingene",
"Failed to forget room %(errCode)s": "Kunne ikke glemme rommet %(errCode)s",
"Failed to update keywords": "Kunne ikke oppdatere nøkkelord",
"Failed to get protocol list from Home Server": "Kunne ikke hente protokolliste fra Hjemme-Server",
"Failed to get public room list": "Kunne ikke hente offentlig romliste",
"Failed to join the room": "Kunne ikke bli med på rommet",
"Failed to remove tag %(tagName)s from room": "Kunne ikke fjerne tagg %(tagName)s fra rommet",
"Failed to set direct chat tag": "Kunne ikke angi direkte chat-tagg",
"Failed to set Direct Message status of room": "Kunne ikke angi status for direkte melding i rommet",
@@ -47,9 +43,7 @@
"Files": "Filer",
"Filter room names": "Filtrer romnavn",
"Forget": "Glem",
" from room": " fra rommet",
"Guests can join": "Gjester kan bli med",
"Guest users can't invite users. Please register to invite.": "Gjester kan ikke invitere brukere. Vennligst registrer deg for å invitere.",
"I understand the risks and wish to continue": "Jeg forstår risikoen og ønsker å fortsette",
"Invite to this room": "Inviter til dette rommet",
"Keywords": "Nøkkelord",
@@ -73,10 +67,8 @@
"On": "På",
"Permalink": "Permanent lenke",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Vennligst installer <a href=\"https://www.google.com/chrome\">Chrome</a> eller <a href=\"https://getfirefox.com\">Firefox</a> for den beste opplevelsen.",
"Please Register": "Vennligst registrer deg",
"powered by Matrix": "benytter seg av Matrix",
"Quote": "Sitat",
"Redact": "Maskere",
"Reject": "Avvis",
"Remove %(name)s from the directory?": "Fjern %(name)s fra katalogen?",
"Remove": "Fjern",
@@ -85,18 +77,13 @@
"Resend": "Send på nytt",
"Riot does not know how to join a room on this network": "Riot vet ikke hvordan man kan komme inn på et rom på dette nettverket",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot benytter mange avanserte nettleserfunksjoner, og noen av disse er ikke tilgjengelige eller er eksperimentelle på din nåværende nettleser.",
"Room directory": "Rom katalog",
"Room not found": "Rommet ble ikke funnet",
"Search for a room": "Søk etter et rom",
"Settings": "Innstillinger",
"Source URL": "Kilde URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "Beklager, din nettleser er <b>ikke</b> i stand til å kjøre Riot.",
"Start chat": "Start chat",
"The Home Server may be too old to support third party networks": "Hjemme-serveren kan være for gammel til å støtte tredjeparts-nettverk",
"There are advanced notifications which are not shown here": "Det er avanserte varsler som ikke vises her",
"The server may be unavailable or overloaded": "Serveren kan være utilgjengelig eller overbelastet",
"This room is inaccessible to guests. You may be able to join if you register.": "Dette rommet er ikke tilgjengelig for gjester. Du kan kanskje komme inn om du registrerer deg.",
" to room": " til rom",
"Unable to fetch notification target list": "Kunne ikke hente varsel-mål liste",
"Unable to join network": "Kunne ikke bli med i nettverket",
"Unable to look up room ID from server": "Kunne ikke slå opp rom-ID fra serveren",
@@ -107,7 +94,7 @@
"View Decrypted Source": "Vis dekryptert kilde",
"View Source": "Vis kilde",
"When I'm invited to a room": "Når jeg blir invitert til et rom",
"World readable": "Verden lesbar",
"World readable": "Lesbar for alle",
"You cannot delete this image. (%(code)s)": "Du kan ikke slette dette bildet. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Du kan ikke slette denne meldingen. (%(code)s)",
"You are not receiving desktop notifications": "Du mottar ikke skrivebords varsler",
@@ -120,6 +107,5 @@
"Friday": "Fredag",
"Saturday": "Lørdag",
"Today": "I dag",
"Yesterday": "I går",
"Welcome page": "Velkomst side"
"Yesterday": "I går"
}

1
src/i18n/strings/ne.json Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -2,14 +2,13 @@
"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",
"Cancel Sending": "Versturen annuleren",
"Can't update user notification settings": "Het is niet gelukt om de meldingsinstellingen van de gebruiker bij te werken",
"Close": "Sluiten",
"Create new room": "Een nieuwe kamer maken",
"Couldn't find a matching Matrix room": "Het is niet gelukt om een bijbehorende Matrix-kamer te vinden",
"Custom Server Options": "Aangepaste serverinstellingen",
"customServer_text": "U kunt de aangepaste serverinstellingen gebruiken om in te loggen bij andere Matrix-servers door een andere homeserver-URL in te voeren.<br/>Dit maakt het mogelijk om Riot te gebruiken met een bestaand Matrix-account op een andere homeserver.<br/><br/>U kunt ook een aangepaste identiteitsserver instellen, maar het is dan niet mogelijk om gebruikers uit te nodigen met behulp van een e-mailadres of zelf uitgenodigd te worden met een e-mailadres.",
@@ -28,14 +27,12 @@
"Error": "Fout",
"Error saving email notification preferences": "Fout bij het opslaan van de meldingsvoorkeuren voor e-mail",
"#example": "#voorbeeld",
"Failed to": "Mislukt om",
"Failed to add tag %(tagName)s to room": "Mislukt om de label %(tagName)s aan de kamer toe te voegen",
"Failed to change settings": "Instellingen wijzigen mislukt",
"Failed to forget room %(errCode)s": "Ruimte vergeten mislukt %(errCode)s",
"Failed to update keywords": "Trefwoorden bijwerken mislukt",
"Failed to get protocol list from Home Server": "Protocollijst ophalen van de homeserver mislukt",
"Failed to get public room list": "Lijst met publieke kamers ophalen mislukt",
"Failed to join the room": "Kamer binnengaan mislukt",
"Failed to remove tag %(tagName)s from room": "Label %(tagName)s van de kamer verwijderen mislukt",
"Failed to set direct chat tag": "Het is mislukt om het privéchatlabel weg te halen",
"Favourite": "Favoriet",
@@ -43,9 +40,7 @@
"Files": "Bestanden",
"Filter room names": "Filter kamernamen",
"Forget": "Vergeten",
" from room": " van kamer",
"Guests can join": "Gasten kunnen deelnemen",
"Guest users can't invite users. Please register to invite.": "Gasten kunnen geen gebruikers uitnodigen. Om anderen uit te nodigen zult u zich moeten registreren.",
"Guests can join": "Gasten kunnen toetreden",
"Invite to this room": "Uitnodigen voor deze kamer",
"Keywords": "Trefwoorden",
"Leave": "Verlaten",
@@ -59,10 +54,10 @@
"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": "Meldingen",
"Notifications": "Notificaties",
"Notifications on the following keywords follow rules which cant 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",
@@ -70,9 +65,8 @@
"On": "Aan",
"Operation failed": "Actie mislukt",
"Permalink": "Permanente link",
"Please Register": "Registreer Alstublieft",
"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",
@@ -80,28 +74,23 @@
"Remove from Directory": "Uit de kamerlijst verwijderen",
"Resend": "Opnieuw verzenden",
"Riot does not know how to join a room on this network": "Riot weet niet hoe het moet deelnemen in een kamer op dit netwerk",
"Room directory": "Kamerlijst",
"Room not found": "De kamer is niet gevonden",
"Search for a room": "Een kamer opzoeken",
"Settings": "Instellingen",
"Source URL": "Bron-URL",
"Start chat": "Gesprek starten",
"The Home Server may be too old to support third party networks": "De home server is misschien te oud om netwerken van derde partijen te ondersteunen",
"The Home Server may be too old to support third party networks": "De thuisserver is misschien te oud om netwerken van derde partijen te ondersteunen",
"There are advanced notifications which are not shown here": "Er zijn geavanceerde notificaties die hier niet getoond worden",
"The server may be unavailable or overloaded": "De server is misschien niet beschikbaar of overbelast",
"This room is inaccessible to guests. You may be able to join if you register.": "Deze kamer is niet toegankelijk voor gasten. Je zou misschien kunnen deelnemen als je geregistreerd bent.",
" to room": " naar kamer",
"Unable to fetch notification target list": "Het is mislukt om de lijst van notificatiedoelen op te halen",
"Unable to join network": "Het is mislukt om toe te treden tot dit netwerk",
"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",
@@ -115,10 +104,7 @@
"Saturday": "Zaterdag",
"Today": "Vandaag",
"Yesterday": "Gisteren",
"Welcome page": "Welkomstpagina",
"Drop here %(toAction)s": "%(toAction)s hier naartoe verplaatsen",
"Failed to set Direct Message status of room": "Het is mislukt om de directe-berichtenstatus van de kamer in te stellen",
"Redact": "Redigeren",
"A new version of Riot is available.": "Er is een nieuwe versie van Riot beschikbaar.",
"All Rooms": "Alle kamers",
"Cancel": "Annuleren",
@@ -143,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 <b>not</b> able to run Riot.": "Sorry, uw browser werkt <b>niet</b> met Riot.",
"This Room": "Deze kamer",
@@ -154,7 +140,6 @@
"What's New": "Wat is er nieuw",
"What's new?": "Wat is er nieuw?",
"Waiting for response from server": "Wachten op antwoord van de server",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "U gebruikt Riot als gast. <a>Registreren</a> of <a>aanmelden</a> om voor meer kamers en functies!",
"OK": "OK",
"You need to be using HTTPS to place a screen-sharing call.": "U moet HTTPS gebruiken om een oproep met schermdelen te kunnen starten.",
"Welcome to Riot.im": "Welkom bij Riot.im",
@@ -196,7 +181,50 @@
"Discussion of the Identity Service API": "Discussie over de Identity Service API",
"Support for those using, running and writing other bridges": "Ondersteuning voor het gebruiken, draaien en ontwikkelen aan andere bruggen",
"Dev chat for the Riot/Web dev team": "Dev-chat voor het Riot/Web ontwikkelteam",
"Dev chat for the Dendrite dev team": "Dev-chat voor het Dendrite ontwikkelteam",
"Dev chat for the Dendrite dev team": "Dev-chat voor het Dendrite-ontwikkelteam",
"You have successfully set a password and an email address!": "Het instellen van een wachtwoord en e-mailadres is geslaagd!",
"Remember, you can always set an email address in user settings if you change your mind.": "Onthoud dat u altijd een e-mailadres in kan stellen in de gebruikersinstellingen als u zich bedenkt."
"Remember, you can always set an email address in user settings if you change your mind.": "Onthoud dat u altijd een e-mailadres in kan stellen in de gebruikersinstellingen als u zich bedenkt.",
"Warning": "Waarschuwing",
"Checking for an update...": "Aan het kijken voor een update...",
"Error encountered (%(errorDetail)s).": "Fout ondervonden (%(errorDetail)s).",
"No update available.": "Geen update beschikbaar.",
"Downloading update...": "Update aan het downloaden...",
"To return to your account in future you need to <u>set a password</u>": "Om in de toekomst naar je account terug te gaan moet je <u>een wachtwoord instellen</u>",
"Set Password": "Wachtwoord instellen",
"Couldn't load home page": "Kon de home pagina niet laden",
"Bug report sent": "Bug report verzonden",
"Thank you!": "Bedankt!",
"Back": "Terug",
"Failed to send custom event.": "Aangepast Event verzenden mislukt.",
"Send Custom Event": "Verzend aangepast evenement",
"Send Custom State Event": "Verzend aangepast State Event",
"Developer Tools": "Ontwikkelaarsgereedschap",
"Filter results": "Resultaten filteren",
"Explore Room State": "Verken Ruimtetoestand",
"You must specify an event type!": "Je moet een event-type specificeren!",
"Event sent!": "Event verstuurd!",
"Event Type": "Event-type",
"Event Content": "Event-inhoud",
"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.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>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.<br/> Dit laat je toe om Riot te gebruiken met een bestaande Matrix account op een andere home server.<br/><br/>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 <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Installeer alstublieft <chromeLink>Chrome</chromeLink> of <firefoxLink>Firefox</firefoxLink> voor de beste gebruikerservaring.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> en <operaLink>Opera</operaLink> 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",
"%(count)s Members|other": "%(count)s Deelnemers",
"%(count)s Members|one": "%(count)s Deelnemer",
"Reply": "Beantwoord",
"Online": "Online",
"View Community": "Gemeenschap Weergeven"
}

View File

@@ -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.",
@@ -14,29 +14,24 @@
"Cancel Sending": "Anuluj wysyłanie",
"Can't update user notification settings": "Nie można zaktualizować ustawień powiadomień użytkownika",
"Changelog": "Dziennik zmian",
"Close": "Blisko",
"Close": "Zamknij",
"Collecting app version information": "Zbieranie informacji o wersji aplikacji",
"Collecting logs": "Zbieranie dzienników",
"Create new room": "Utwórz nowy pokój",
"Couldn't find a matching Matrix room": "Nie można znaleźć pasującego pokoju Matrix",
"Custom Server Options": "Niestandardowe opcje serwera",
"delete the alias.": "usunąć alias.",
"Describe your problem here.": "Opisz swój problem tutaj.",
"Directory": "Księga adresowa",
"Download this file": "Pobierz plik",
"Welcome page": "Strona powitalna",
"Riot is not supported on mobile web. Install the app?": "Riot nie jest obsługiwany przez przeglądarki mobilne. Zainstaluj aplikację?",
"Room directory": "Spis pokojów",
"Search": "Szukaj",
"Search…": "Szukaj…",
"Search for a room": "Szukaj pokoju",
"Send": "Wyślij",
"Settings": "Ustawienia",
"Collapse panel": "Ukryj panel",
"customServer_text": "Możesz używać opcji serwera niestandardowego do logowania się na inne serwery Matrix, określając inny adres URL serwera domowego.<br/>Pozwala to na wykorzystanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Można również ustawić niestandardowy serwer tożsamości, ale nie będzie można zapraszać użytkowników adresem e-mail, ani być zaproszony przez adres e-mailowy.",
"customServer_text": "Możesz używać opcji serwera niestandardowego do logowania się na inne serwery Matrix, określając inny adres URL serwera domowego.<br/>Pozwala to na wykorzystanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Można również ustawić niestandardowy serwer tożsamości, ale nie będzie można zapraszać użytkowników adresem e-mail, ani być zaproszonym przez adres e-mailowy.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Usuń alias %(alias)s i usuń %(name)s z katalogu?",
"Dismiss": "Zdymisjonować",
"Drop here %(toAction)s": "Upuść tutaj %(toAction)s",
"Dismiss": "Zamknij",
"Enable audible notifications in web client": "Włącz dźwiękowe powiadomienia w kliencie internetowym",
"Enable email notifications": "Włącz powiadomienia e-mailowe",
"Enable notifications for this account": "Włącz powiadomienia na tym koncie",
@@ -46,14 +41,12 @@
"Error saving email notification preferences": "Wystąpił błąd podczas zapisywania ustawień powiadomień e-mailowych",
"#example": "#przykład",
"Expand panel": "Rozwiń panel",
"Failed to": "Nie udało się",
"Failed to add tag %(tagName)s to room": "Nie można dodać tagu %(tagName)s do pokoju",
"Failed to change settings": "Nie udało się zmienić ustawień",
"Failed to forget room %(errCode)s": "Nie mogłem zapomnieć o pokoju %(errCode)s",
"Failed to update keywords": "Nie udało się zaktualizować słów kluczowych",
"Failed to get protocol list from Home Server": "Nie można pobrać listy protokołów z serwera domowego",
"Failed to get public room list": "Nie udało się uzyskać publicznej listy pokojowej",
"Failed to join the room": "Nie udało się dołączyć do pokoju",
"Failed to remove tag %(tagName)s from room": "Nie udało się usunąć tagu %(tagName)s z pokoju",
"Failed to send report: ": "Nie udało się wysłać raportu: ",
"Favourite": "Ulubiony",
@@ -61,7 +54,6 @@
"Filter room names": "Filtruj nazwy pokojów",
"Forget": "Zapomnij",
"Forward Message": "Przekaż wiadomość",
" from room": " z pokoju",
"Guests can join": "Goście mogą dołączyć",
"Hide panel": "Ukryj panel",
"I understand the risks and wish to continue": "Rozumiem ryzyko i chęć kontynuować",
@@ -76,7 +68,6 @@
"Messages sent by bot": "Wiadomości wysłane przez bota",
"more": "więcej",
"Enable desktop notifications": "Włącz powiadomienia",
"Guest users can't invite users. Please register to invite.": "Gość nie ma uprawnień dow wysyłania zaproszeń. Proszę się zarejestrować.",
"(HTTP status %(httpStatus)s)": "(status HTTP %(httpStatus)s)",
"Leave": "Opuść",
"Login": "Logowanie",
@@ -94,7 +85,6 @@
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Proszę opisz problem (w miarę możliwości po angielsku). Co doprowadziło do błędu? Jakie było Twoje oczekiwanie, a co stało się zamiast tego?",
"Please describe the bug and/or send logs.": "Proszę opisz błąd i/lub wyślij logi.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Zainstaluj proszę <a href=\"https://www.google.com/chrome\">Chrome</a> lub <a href=\"https://getfirefox.com\">Firefox</a>.",
"Please Register": "Proszę się zarejestrować",
"Quote": "Cytat",
"Remove %(name)s from the directory?": "Usunąć %(name)s z katalogu?",
"Remove from Directory": "Usuń z katalogu",
@@ -106,9 +96,7 @@
"Room not found": "Pokój nie znaleziony",
"Send logs": "Wyślij logi",
"Sorry, your browser is <b>not</b> able to run Riot.": "Przepraszamy, Twoja przeglądarka <b>nie jest w stanie</b> uruchomić Riot.",
"Start chat": "Rozpocznij rozmowę",
"powered by Matrix": "zbudowane na Matrix",
"Redact": "Zredaguj",
"powered by Matrix": "napędzany przez Matrix",
"Reject": "Odrzuć",
"Remove": "Usuń",
"remove %(name)s from the directory.": "usuń %(name)s z katalogu.",
@@ -116,7 +104,6 @@
"There are advanced notifications which are not shown here": "Masz zaawansowane powiadomienia, nie pokazane tutaj",
"The server may be unavailable or overloaded": "Serwer jest nieosiągalny lub jest przeciążony",
"This Room": "Ten pokój",
"This room is inaccessible to guests. You may be able to join if you register.": "Ten pokój jest niedostępny dla gości. Możliwe, że będziesz mógł dołączyć po rejestracji.",
"Unable to join network": "Nie można dołączyć do sieci",
"Unable to look up room ID from server": "Nie można wyszukać ID pokoju na serwerze",
"Unavailable": "Niedostępny",
@@ -135,7 +122,6 @@
"Off": "Wyłącz",
"On": "Włącz",
"Source URL": "Źródłowy URL",
" to room": " do pokoju",
"Unable to fetch notification target list": "Nie można pobrać listy docelowej dla powiadomień",
"View Decrypted Source": "Pokaż zdeszyfrowane źródło",
"View Source": "Pokaż źródło",
@@ -147,7 +133,6 @@
"You cannot delete this image. (%(code)s)": "Nie możesz usunąć tego obrazka. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Nie możesz usunąć tej wiadomości. (%(code)s)",
"You are not receiving desktop notifications": "Nie otrzymujesz powiadomień na pulpit",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "You are Rioting jako gość. <a>Zarejestruj się</a> albo <a>zaloguj się</a> aby uzyskać dostęp do pokojów lub dodatkowych możliwości!",
"Sunday": "Niedziela",
"Monday": "Poniedziałek",
"Tuesday": "Wtorek",
@@ -198,5 +183,42 @@
"Please set a password!": "Proszę, ustaw hasło!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "To pozwoli Ci powrócić do Twojego konta po wylogowaniu i ponownym zalogowaniu się na innych urządzeniach.",
"You have successfully set a password and an email address!": "Z powodzeniem ustawiono hasło i adres e-mail dla Twojego konta!",
"Remember, you can always set an email address in user settings if you change your mind.": "Pamiętaj, że zawsze możesz zmienić swój e-mail lub hasło w panelu ustawień użytkownika."
"Remember, you can always set an email address in user settings if you change your mind.": "Pamiętaj, że zawsze możesz zmienić swój e-mail lub hasło w panelu ustawień użytkownika.",
"To return to your account in future you need to <u>set a password</u>": "Aby wrócić do swojego konta w przyszłości musisz <u> ustawić hasło </u>",
"Set Password": "Ustaw hasło",
"No update available.": "Brak aktualizacji.",
"Warning": "Ostrzeżenie",
"Error encountered (%(errorDetail)s).": "Wystąpił błąd (%(errorDetail)s).",
"Downloading update...": "Pobieranie aktualizacji...",
"Checking for an update...": "Sprawdzanie aktualizacji...",
"Couldn't load home page": "Nie można załadować strony startowej",
"Bug report sent": "Raport błędu wysłany",
"Thank you!": "Dziękujemy!",
"Back": "Powrót",
"Developer Tools": "Narzędzia programistyczne",
"Failed to send custom event.": "Wysyłanie niestandardowego wydarzenia nie powiodło się.",
"Filter results": "Filtruj wyniki",
"Send Custom Event": "Wyślij niestandardowe wydarzenie",
"Send Custom State Event": "Wyślij wydarzenie o niestandardowym stanie",
"Explore Room State": "Przeglądaj stan pokoju",
"You must specify an event type!": "Musisz określić typ wydarzenia!",
"Event sent!": "Wydarzenie wysłane!",
"Event Type": "Typ wydarzenia",
"Event Content": "Zawartość wydarzenia",
"State Key": "Klucz stanu",
"Toolbox": "Przybornik",
"Edit": "Edycja",
"Show message in desktop notification": "Pokaż wiadomość w notyfikacji na pulpicie",
"Unpin Message": "Odepnij Wiadomość",
"Pin Message": "Przypnij Wiadomość",
"Register": "Rejestracja",
"Rooms": "Pokoje",
"Invite to this community": "Zaproś do tej społeczności",
"Add rooms to this community": "Dodaj pokoje do tej społeczności",
"Send Account Data": "Wyślij dane konta",
"Explore Account Data": "Odkryj dane konta",
"Reply": "Odpowiedz",
"View Community": "Pokaż społeczność",
"%(count)s Members|other": "%(count)s Członków",
"%(count)s Members|one": "%(count)s Członek"
}

View File

@@ -1,13 +1,12 @@
{
"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",
"Can't update user notification settings": "Não é possível atualizar as preferências de notificação",
"Close": "Fechar",
"Create new room": "Criar nova sala",
"Couldn't find a matching Matrix room": "Não foi possível encontrar uma sala correspondente no servidor Matrix",
"Custom Server Options": "Opções para Servidor Personalizado",
"delete the alias.": "apagar o apelido da sala.",
@@ -16,7 +15,6 @@
"Directory": "Diretório",
"Dismiss": "Descartar",
"Download this file": "Transferir este ficheiro",
"Drop here %(toAction)s": "Arraste aqui para %(toAction)s",
"Enable audible notifications in web client": "Ativar notificações de áudio no cliente web",
"Enable desktop notifications": "Ativar notificações no desktop",
"Enable email notifications": "Ativar notificações por e-mail",
@@ -25,16 +23,12 @@
"Enter keywords separated by a comma:": "Insira palavras-chave separadas por vírgula:",
"Error": "Erro",
"Error saving email notification preferences": "Erro ao guardar as preferências de notificação por e-mail",
"#example:": "#exemplo",
"Failed to": "Falha ao",
"Failed to add tag %(tagName)s to room": "Falha ao adicionar %(tagName)s à sala",
"Failed to change settings": "Falha ao alterar as configurações",
"Failed to forget room %(errCode)s": "Falha ao esquecer a sala %(errCode)s",
"Failed to update keywords": "Falha ao atualizar as palavras-chave",
"Failed to get protocol list from Home Server": "Falha ao obter a lista de protocolos do servidor padrão",
"Failed to get public room list": "Falha ao obter a lista de salas públicas",
"Failed to join the room": "Falha ao entrar na sala",
"Failed to remove tag %(tag)s from room": "Falha ao remover a palavra-chave %(tag)s da sala",
"Failed to set direct chat tag": "Falha ao definir conversa como pessoal",
"Failed to set Direct Message status of room": "Falha em definir a mensagem de status da sala",
"Favourite": "Favorito",
@@ -43,9 +37,7 @@
"Filter room names": "Filtrar salas por título",
"Forget": "Esquecer",
"Forward Message": "Encaminhar",
" from room": " da sala",
"Guests can join": "Convidados podem entrar",
"Guest users can't invite users. Please register to invite.": "Utilizadores convidados não podem convidar utilizadores. Por favor registe-se para convidar.",
"Invite to this room": "Convidar para esta sala",
"Keywords": "Palavras-chave",
"Leave": "Sair",
@@ -70,10 +62,8 @@
"On": "Ativado",
"Operation failed": "A operação falhou",
"Permalink": "Link permanente",
"Please Register": "Por favor registe-se",
"powered by Matrix": "rodando a partir do Matrix",
"Quote": "Citar",
"Redact": "Remover",
"Reject": "Rejeitar",
"Remove": "Remover",
"Remove %(name)s from the directory?": "Remover %(name)s da lista pública de salas?",
@@ -81,17 +71,12 @@
"Remove from Directory": "Remover da lista pública de salas",
"Resend": "Reenviar",
"Riot does not know how to join a room on this network": "O Riot não sabe como entrar numa sala nesta rede",
"Room directory": "Lista de salas públicas",
"Room not found": "Sala não encontrada",
"Search for a room": "Pesquisar por uma sala",
"Settings": "Configurações",
"Source URL": "URL fonte",
"Start chat": "Iniciar conversa",
"The Home Server may be too old to support third party networks": "O servidor pode ser muito antigo para suportar redes de terceiros",
"There are advanced notifications which are not shown here": "Existem notificações avançadas que não são exibidas aqui",
"The server may be unavailable or overloaded": "O servidor pode estar inacessível ou sobrecarregado",
"This room is inaccessible to guests. You may be able to join if you register.": "Esta sala é inacessível para convidados. Poderá conseguir entrar caso se registe.",
" to room": " para sala",
"Unable to fetch notification target list": "Não foi possível obter a lista de alvos de notificação",
"Unable to join network": "Não foi possível juntar-se à rede",
"Unable to look up room ID from server": "Não foi possível obter a identificação da sala do servidor",
@@ -99,7 +84,7 @@
"unknown error code": "código de erro desconhecido",
"Unnamed room": "Sala sem nome",
"Uploaded on %(date)s by %(user)s": "Enviada em %(date)s por %(user)s",
"View Decrypted Source": "Ver a fonte decifrada",
"View Decrypted Source": "Ver a fonte desencriptada",
"View Source": "Ver a fonte",
"When I'm invited to a room": "Quando sou convidado para uma sala",
"World readable": "Público",
@@ -118,7 +103,6 @@
"Yesterday": "Ontem",
"#example": "#exemplo",
"Failed to remove tag %(tagName)s from room": "Não foi possível remover a marcação %(tagName)s desta sala",
"Welcome page": "Página de boas-vindas",
"Advanced notification settings": "Configurações avançadas de notificação",
"customServer_text": "Pode usar as opções de servidor personalizado para entrar noutros servidores Matrix especificando para isso um URL de outro Servidor de Base.<br/> Isto permite que use o Riot com uma conta Matrix que exista noutro Servidor de Base.<br/> <br/> Também pode configurar um servidor de Identidade personalizado mas não poderá convidar utilizadores através do endereço de e-mail, ou ser convidado pelo seu endereço de e-mail.",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> e <a href=\"http://opera.com\">Opera</a> também funcionam.",
@@ -160,7 +144,66 @@
"What's New": "Novidades",
"What's new?": "O que há de novo?",
"Waiting for response from server": "À espera de resposta do servidor",
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Está a usar o Riot como convidado. <a>Registe-se</a> ou <a>faça login</a> para aceder a mais salas e funcionalidades!",
"OK": "Ok",
"You need to be using HTTPS to place a screen-sharing call.": "Necessita de estar a usar HTTPS para poder iniciar uma chamada com partilha de ecrã."
"You need to be using HTTPS to place a screen-sharing call.": "Necessita de estar a usar HTTPS para poder iniciar uma chamada com partilha de ecrã.",
"No update available.": "Nenhuma atualização disponível.",
"Welcome to Riot.im": "Bem-vindo ao Riot.im",
"Login": "Entrar",
"Warning": "Aviso",
"Checking for an update...": "A procurar uma atualização...",
"Error encountered (%(errorDetail)s).": "Erro encontrado (%(errorDetail)s).",
"Downloading update...": "A transferir atualização...",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat descentralizado, encriptado &amp; colaborativo alimentado por [matrix]",
"Back": "Voltar",
"Bug report sent": "Relatório de erros enviado",
"Developer Tools": "Ferramentas de desenvolvedor",
"Failed to send custom event.": "Falha ao enviar evento personalizado.",
"(HTTP status %(httpStatus)s)": "(Estado HTTP %(httpStatus)s)",
"Send Custom Event": "Enviar evento personalizado",
"Send Custom State Event": "Enviar evento personalizado de estado",
"Explore Room State": "Explorar estado da sala",
"Thank you!": "Obrigado!",
"Event sent!": "Evento enviado!",
"Event Type": "Tipo de evento",
"Event Content": "Conteúdo do evento",
"State Key": "Chave de estado",
"Search the room directory": "Procurar o diretório de salas",
"Chat with Riot Bot": "Falar com o Bot do Riot",
"Get started with some tips from Riot Bot!": "Comece com algumas dicas do Bot do Riot",
"General discussion about Matrix and Riot": "Discussão geral acerca do Matrix e do Riot",
"Discussion of all things Matrix!": "Discussão de tudo o que envolva o Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat",
"Matrix technical discussions": "Discussões técnicas do Matrix",
"Running Matrix services": "Correr serviços do Matrix",
"Community-run support for Synapse": "Suporte da comunidade para o Synapse",
"Admin support for Dendrite": "Suporte de administração para o Dendrite",
"Announcements about Synapse releases": "Anúncios acerca de lançamentos do Synapse",
"Support for those using and running matrix-appservice-irc": "Suporte para aqueles a correr e a utilizar o matrix-appservice-irc",
"Building services on Matrix": "Construir serviços no Matrix",
"Support for those using the Matrix spec": "Suporte para os utilizadores da especificação do Matrix",
"Design and implementation of E2E in Matrix": "Design e implementação de encriptação ponto-a-ponto (E2E) no Matrix",
"Implementing VR services with Matrix": "Implementar serviços de realidade virtual (VR) com o Matrix",
"Implementing VoIP services with Matrix": "Implementar serviços VoIP com o Matrix",
"Discussion of the Identity Service API": "Discussão da API do serviço de identidade",
"Support for those using, running and writing other bridges": "Suporte para aqueles a usar, correr e desenvolver outras pontes (bridges)",
"Contributing code to Matrix and Riot": "Contribuir código para o Matrix e para o Riot",
"Dev chat for the Riot/Web dev team": "Conversa de desenvolvimento para a equipa do Riot/Web",
"Dev chat for the Dendrite dev team": "Conversa de desenvolvimento para a equipa do Dendrite",
"Co-ordination for Riot/Web translators": "Coordenação para a equipa de tradutores do Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Já existem muitas salas no Matrix, ligadas a redes já existentes (Slack, IRC, Gitter, etc) ou independentes. Dê uma vista de olhos no diretório!",
"Failed to change password. Is your password correct?": "Falha ao alterar a palavra-passe. A sua palavra-passe está correta?",
"You have successfully set a password!": "Palavra-passe definida com sucesso!",
"You can now return to your account after signing out, and sign in on other devices.": "Pode agora voltar à sua conta no fim de terminar sessão, e iniciar sessão noutros dispositivos.",
"Continue": "Continuar",
"Please set a password!": "Por favor, defina uma palavra-passe!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Isto irá permitir-lhe voltar à sua conta depois de terminar sessão, assim como iniciar sessão noutros dispositivos.",
"You have successfully set a password and an email address!": "Palavra passe e endereço de e-mail definidos com sucesso!",
"Remember, you can always set an email address in user settings if you change your mind.": "Lembre-se, pode sempre definir um endereço de e-mail nas definições de utilizador se mudar de ideias.",
"To return to your account in future you need to <u>set a password</u>": "Para voltar à sua conta no futuro, necessita de <u>definir uma palavra-passe</u>",
"Set Password": "Definir palavra-passe",
"Couldn't load home page": "Não foi possível carregar a página inicial",
"Filter results": "Filtrar resultados",
"You must specify an event type!": "Tem que especificar um tipo de evento!"
}

Some files were not shown because too many files have changed in this diff Show More