Compare commits

..

667 Commits

Author SHA1 Message Date
Luke Barnard
74454567bc v0.14.0-rc.6 2018-04-09 17:16:37 +01:00
Luke Barnard
c87f06100b Prepare changelog for v0.14.0-rc.6 2018-04-09 17:16:37 +01:00
Luke Barnard
da988c85e4 v0.14.0-rc.6 2018-04-09 17:13:11 +01:00
Luke Barnard
8eaabceb0c Bump react version number 2018-04-09 17:09:11 +01:00
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
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
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
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
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
Weblate
1b21b8cce2 Merge remote-tracking branch 'origin/develop' into develop 2017-11-10 16:24:25 +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
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
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
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
Travis Ralston
69939e2fe3 Merge branch 'develop' into travis/granular 2017-11-03 21:56:46 -06:00
Matthew Hodgson
923295973b Merge branch 'develop' into matthew/status 2017-11-03 15:11:23 +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
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
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
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
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
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
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
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
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
Richard Lewis
528a856d54 Add class to identify non-scalar widget instances 2017-10-20 09:46:45 +01: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
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
Travis Ralston
6f968522f5 Merge branch 'develop' into travis/presence 2017-10-14 17:27:18 -06: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
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
157 changed files with 4995 additions and 1655 deletions

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.

View File

@@ -3,7 +3,10 @@ dist: trusty
# we don't need sudo, so can run in a container, which makes startup much
# quicker.
sudo: false
#
# unfortunately we do temporarily require sudo as a workaround for
# https://github.com/travis-ci/travis-ci/issues/8836
sudo: required
language: node_js
node_js:

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,233 @@
Changes in [0.14.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.6) (2018-04-09)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.5...v0.14.0-rc.6)
* Bump react-sdk to [rc.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.12.0-rc.6)
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)

View File

@@ -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,21 +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. `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
========================
@@ -314,31 +344,51 @@ For a developer guide, see the [translating dev doc](docs/translating-dev.md).
Triaging issues
===============
Issues will be triaged by the core team using the following primary set of tags:
Issues will be triaged by the core team using the below set of tags.
priority:
Tags are meant to be used in combination - e.g.:
* P1 critical bug == really urgent stuff that should be next in the bugfixing todo list
* "release blocker" == stuff which is blocking us from cutting the next release.
* P1 feature type:voip == what VoIP features should we be working on next?
* P1: top priority; typically blocks releases
priority: **compulsory**
* P1: top priority - i.e. pool of stuff which we should be working on next
* P2: still need to fix, but lower than P1
* P3: non-urgent
* P4: intereseting idea - bluesky some day
* P4: interesting idea - bluesky some day
* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
bug or feature:
bug or feature: **compulsory**
* bug
* feature
bug severity:
bug severity: **compulsory, if bug**
* cosmetic - feature works functionally but UI/UX is broken
* critical - whole app doesn't work
* major - entire feature doesn't work
* minor - partially broken feature (but still usable)
* cosmetic - feature works functionally but UI/UX is broken
additional categories:
types
* type:* - refers to a particular part of the app; used to filter bugs
on a given topic - e.g. VOIP, signup, timeline, etc.
additional categories (self-explanatory):
* release blocker
* ui/ux (think of this as cosmetic)
* network (specific to network conditions)
* platform (platform specific)
* platform specific
* accessibility
* maintenance
* performance
* i18n
* blocked - whether this issue currently can't be progressed due to outside factors
community engagement
* easy
* hacktoberfest
* bounty? - proposal to be included in a bounty programme
* bounty - included in Status Open Bounty

View File

@@ -1,6 +1,10 @@
{
"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",
@@ -10,6 +14,8 @@
"feature_pinning": "labs"
},
"default_federate": true,
"welcomePageUrl": "home.html",
"default_theme": "light",
"roomDirectory": {
"servers": [
"matrix.org"
@@ -18,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

@@ -36,9 +36,13 @@ function getColorName(hex) {
## 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
@@ -47,3 +51,5 @@ function getColorName(hex) {
- 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.13.2",
"version": "0.14.0-rc.6",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"dependencies": {

View File

@@ -5,6 +5,10 @@
"brand": "Riot",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar-staging.riot.im/scalar/api",
"https://scalar.vector.im/api"
],
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"welcomeUserId": "@riot-bot:matrix.org",
"roomDirectory": {

View File

@@ -2,9 +2,9 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "0.13.2",
"version": "0.14.0-rc.6",
"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"
@@ -68,14 +68,13 @@
"gfm.css": "^1.1.1",
"highlight.js": "^9.0.0",
"linkifyjs": "^2.1.3",
"matrix-js-sdk": "0.9.1",
"matrix-react-sdk": "0.11.2",
"matrix-js-sdk": "0.10.0-rc.2",
"matrix-react-sdk": "0.12.0-rc.6",
"modernizr": "^3.1.0",
"pako": "^1.0.5",
"prop-types": "^15.5.10",
"react": "^15.6.0",
"react-dnd": "^2.1.4",
"react-dnd-html5-backend": "^2.1.2",
"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",
@@ -154,7 +153,7 @@
"build": {
"appId": "im.riot.app",
"category": "Network",
"electronVersion": "1.7.9",
"electronVersion": "1.8.3",
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
"asar": false,
"dereference": true,

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

@@ -7,18 +7,22 @@
// 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': 'el', 'label': 'Ελληνικά'},
{'value': 'eo', 'label': 'Esperanto'},
{'value': 'es', 'label': 'Español'},
{'value': 'eu', 'label': 'Euskal'},
{'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'},
@@ -28,10 +32,11 @@ const INCLUDE_LANGS = [
{'value': 'pt', 'label': 'Português'},
{'value': 'pt_BR', 'label': 'Português do Brasil'},
{'value': 'ru', 'label': 'Русский'},
{'value': 'sv', 'label': 'Svenska'},
{'value': 'sk', 'label': 'Slovenčina'},
{'value': 'th', 'label': 'ไทย'},
{'value': 'sr', 'label': 'српски'},
{'value': 'sv', 'label': 'Svenska'},
{'value': 'te', 'label': 'తెలుగు'},
{'value': 'th', 'label': 'ไทย'},
{'value': 'tr', 'label': 'Türk'},
{'value': 'zh_Hans', 'label': '简体中文'}, // simplified chinese
{'value': 'zh_Hant', 'label': '繁體中文'}, // traditional chinese
@@ -43,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 }],
@@ -131,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)
@@ -167,13 +184,13 @@ function genLangFile(lang, dest) {
JSON.parse(fs.readFileSync(f).toString())
);
} catch (e) {
console.error("Failed: "+f, e);
console.error("Failed: " + f, e);
throw e;
}
}
});
translations = weblateToCounterpart(translations)
translations = weblateToCounterpart(translations);
fs.writeFileSync(dest + lang + '.json', JSON.stringify(translations, null, 4));
if (verbose) {

View File

@@ -21,7 +21,7 @@ import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import Velocity from 'velocity-vector';
import 'velocity-vector/velocity.ui';
import UserSettingsStore from 'matrix-react-sdk/lib/UserSettingsStore';
import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore";
const CALLOUT_ANIM_DURATION = 1000;
@@ -167,8 +167,11 @@ module.exports = React.createClass({
const StartChatButton = sdk.getComponent('elements.StartChatButton');
const RoomDirectoryButton = sdk.getComponent('elements.RoomDirectoryButton');
const CreateRoomButton = sdk.getComponent('elements.CreateRoomButton');
const GroupsButton = sdk.getComponent('elements.GroupsButton');
const SettingsButton = sdk.getComponent('elements.SettingsButton');
const GroupsButton = sdk.getComponent('elements.GroupsButton');
const groupsButton = SettingsStore.getValue("TagPanel.disableTagPanel") ?
<GroupsButton tooltip={true} /> : null;
return (
<div className="mx_BottomLeftMenu">
@@ -183,7 +186,7 @@ module.exports = React.createClass({
<div ref={this._collectCreateRoomButton}>
<CreateRoomButton tooltip={true} />
</div>
<GroupsButton tooltip={true} />
{ groupsButton }
<span className="mx_BottomLeftMenu_settings">
<SettingsButton tooltip={true} />
</span>

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

@@ -17,24 +17,28 @@ limitations under the License.
'use strict';
import React from 'react';
import { DragDropContext } from 'react-dnd';
import HTML5Backend from 'react-dnd-html5-backend';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import KeyCode from 'matrix-react-sdk/lib/KeyCode';
import { MatrixClient } from 'matrix-js-sdk';
import { KeyCode } from 'matrix-react-sdk/lib/Keyboard';
import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import CallHandler from 'matrix-react-sdk/lib/CallHandler';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
import VectorConferenceHandler from '../../VectorConferenceHandler';
import SettingsStore from 'matrix-react-sdk/lib/settings/SettingsStore';
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() {
@@ -163,13 +167,18 @@ var LeftPanel = React.createClass({
this.setState({ searchFilter: term });
},
collectRoomList: function(ref) {
this._roomList = ref;
},
render: function() {
const RoomList = sdk.getComponent('rooms.RoomList');
const TagPanel = sdk.getComponent('structures.TagPanel');
const BottomLeftMenu = sdk.getComponent('structures.BottomLeftMenu');
const CallPreview = sdk.getComponent('voip.CallPreview');
let topBox;
if (MatrixClientPeg.get().isGuest()) {
if (this.context.matrixClient.isGuest()) {
const LoginBox = sdk.getComponent('structures.LoginBox');
topBox = <LoginBox collapsed={ this.props.collapsed }/>;
} else {
@@ -177,26 +186,41 @@ var LeftPanel = React.createClass({
topBox = <SearchBox collapsed={ this.props.collapsed } onSearch={ this.onSearch } />;
}
let classes = classNames(
"mx_LeftPanel", "mx_fadable",
const classes = classNames(
"mx_LeftPanel",
{
"collapsed": this.props.collapsed,
},
);
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} onKeyDown={ this._onKeyDown } onFocus={ this._onFocus } onBlur={ this._onBlur }>
{ topBox }
<CallPreview ConferenceHandler={VectorConferenceHandler} />
<RoomList
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

@@ -24,11 +24,13 @@ import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import { MatrixClient } from 'matrix-js-sdk';
import Analytics from 'matrix-react-sdk/lib/Analytics';
import rate_limited_func from 'matrix-react-sdk/lib/ratelimitedfunc';
import RateLimitedFunc from 'matrix-react-sdk/lib/ratelimitedfunc';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
import { showGroupInviteDialog, showGroupAddRoomDialog } from 'matrix-react-sdk/lib/GroupAddressPicker';
import GroupStoreCache from 'matrix-react-sdk/lib/stores/GroupStoreCache';
import { formatCount } from 'matrix-react-sdk/lib/utils/FormattingUtils';
class HeaderButton extends React.Component {
constructor() {
super();
@@ -47,13 +49,19 @@ class HeaderButton extends React.Component {
const TintableSvg = sdk.getComponent("elements.TintableSvg");
const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
return <AccessibleButton 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> : <div/> }
</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>;
}
}
@@ -69,6 +77,9 @@ HeaderButton.propTypes = {
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({
@@ -116,7 +127,7 @@ module.exports = React.createClass({
return {
phase: this.props.groupId ? this.Phase.GroupMemberList : this.Phase.RoomMemberList,
isUserPrivilegedInGroup: null,
}
};
},
componentWillReceiveProps(newProps) {
@@ -128,9 +139,7 @@ module.exports = React.createClass({
_initGroupStore(groupId) {
if (!groupId) return;
this._groupStore = GroupStoreCache.getGroupStore(
this.context.matrixClient, groupId,
);
this._groupStore = GroupStoreCache.getGroupStore(groupId);
this._groupStore.registerListener(this.onGroupStoreUpdated);
},
@@ -140,7 +149,7 @@ module.exports = React.createClass({
}
},
onGroupStoreUpdated: function(){
onGroupStoreUpdated: function() {
this.setState({
isUserPrivilegedInGroup: this._groupStore.isUserPrivileged(),
});
@@ -158,35 +167,40 @@ module.exports = React.createClass({
return;
}
if (this.state.phase === this.Phase.GroupMemberList) {
showGroupInviteDialog(this.props.groupId);
} else if (this.state.phase === this.Phase.GroupRoomList) {
showGroupAddRoomDialog(this.props.groupId).then(() => {
this.forceUpdate();
// call AddressPickerDialog
dis.dispatch({
action: 'view_invite',
roomId: this.props.roomId,
});
},
onInviteToGroupButtonClick: function() {
showGroupInviteDialog(this.props.groupId).then(() => {
this.setState({
phase: this.Phase.GroupMemberList,
});
} else {
// call AddressPickerDialog
dis.dispatch({
action: 'view_invite',
roomId: this.props.roomId,
});
}
});
},
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.RoomMemberList && member.roomId === this.props.roomId) {
if (this.state.phase === this.Phase.RoomMemberList && member.roomId === this.props.roomId) {
this._delayedUpdate();
}
else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId &&
} else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId &&
member.userId === this.state.member.userId) {
// refresh the member info (e.g. new power level)
this._delayedUpdate();
}
},
_delayedUpdate: new rate_limited_func(function() {
this.forceUpdate();
_delayedUpdate: new RateLimitedFunc(function() {
this.forceUpdate(); // eslint-disable-line babel/no-invalid-this
}, 500),
onAction: function(payload) {
@@ -225,6 +239,10 @@ module.exports = React.createClass({
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,
@@ -257,22 +275,23 @@ module.exports = React.createClass({
let inviteGroup;
let membersBadge;
if ((this.state.phase == this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo)
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 userIsInRoom;
let isUserInRoom;
if (room) {
membersBadge = room.getJoinedMembers().length;
userIsInRoom = room.hasMembershipState(
this.context.matrixClient.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 (userIsInRoom) {
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>
@@ -283,13 +302,13 @@ module.exports = React.createClass({
const isPhaseGroup = [
this.Phase.GroupMemberInfo,
this.Phase.GroupMemberList
this.Phase.GroupMemberList,
].includes(this.state.phase);
let headerButtons = [];
if (this.props.roomId) {
headerButtons = [
<HeaderButton key="_membersButton" title={_t('Members')} iconSrc="img/icons-people.svg"
<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}
@@ -327,54 +346,54 @@ module.exports = React.createClass({
// 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") } onClick={ this.onCollapseClick }
title={_t("Hide panel")} aria-label={_t("Hide panel")} onClick={this.onCollapseClick}
>
<TintableSvg src="img/minimise.svg" width="10" height="16"/>
<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.RoomMemberList) {
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) {
} 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) {
} 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) {
} 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) {
} 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) {
} else if (this.state.phase === this.Phase.NotificationPanel) {
panel = <NotificationPanel />;
} else if (this.state.phase == this.Phase.FilePanel) {
} 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" />;
}
if (this.props.groupId && this.state.isUserPrivilegedInGroup) {
inviteGroup = isPhaseGroup ? (
<AccessibleButton className="mx_RightPanel_invite" onClick={ this.onInviteButtonClick } >
<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.onInviteButtonClick } >
<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>
@@ -383,19 +402,16 @@ module.exports = React.createClass({
);
}
let classes = classNames(
"mx_RightPanel", "mx_fadable",
{
"collapsed": this.props.collapsed,
"mx_fadable_faded": this.props.disabled,
}
);
const classes = classNames("mx_RightPanel", "mx_fadable", {
"collapsed": this.props.collapsed,
"mx_fadable_faded": this.props.disabled,
});
return (
<aside className={classes}>
<div className="mx_RightPanel_header">
<div className="mx_RightPanel_headerButtonGroup">
{headerButtons}
{ headerButtons }
</div>
</div>
{ panel }

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,38 +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/KeyCode';
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',
@@ -109,13 +85,22 @@ var RoomSubList = React.createClass({
},
componentWillMount: function() {
this.sortList(this.applySearchFilter(this.props.list, this.props.searchFilter), this.props.order);
this.setState({
sortedList: this.applySearchFilter(this.props.list, this.props.searchFilter),
});
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) {
@@ -136,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
@@ -163,71 +163,6 @@ var RoomSubList = React.createClass({
});
},
tsOfNewestEvent: function(room) {
for (var i = room.timeline.length - 1; i >= 0; --i) {
var ev = room.timeline[i];
if (ev.getTs() &&
(Unread.eventTriggersUnreadCount(ev) ||
(ev.getSender() === MatrixClientPeg.get().credentials.userId))
) {
return ev.getTs();
}
}
// we might only have events that don't trigger the unread indicator,
// in which case use the oldest event even if normally it wouldn't count.
// This is better than just assuming the last event was forever ago.
if (room.timeline.length && room.timeline[0].getTs()) {
return room.timeline[0].getTs();
} else {
return Number.MAX_SAFE_INTEGER;
}
},
// TODO: factor the comparators back out into a generic comparator
// so that view_prev_room and view_next_room can do the right thing
recentsComparator: function(roomA, roomB) {
return this.tsOfNewestEvent(roomB) - this.tsOfNewestEvent(roomA);
},
lexicographicalComparator: function(roomA, roomB) {
return roomA.name > roomB.name ? 1 : -1;
},
// Generates the manual comparator using the given list
manualComparator: function(roomA, roomB) {
if (!roomA.tags[this.props.tagName] || !roomB.tags[this.props.tagName]) return 0;
// Make sure the room tag has an order element, if not set it to be the bottom
var a = roomA.tags[this.props.tagName].order;
var b = roomB.tags[this.props.tagName].order;
// Order undefined room tag orders to the bottom
if (a === undefined && b !== undefined) {
return 1;
} else if (a !== undefined && b === undefined) {
return -1;
}
return a == b ? this.lexicographicalComparator(roomA, roomB) : ( a > b ? 1 : -1);
},
sortList: function(list, order) {
if (list === undefined) list = this.state.sortedList;
if (order === undefined) order = this.props.order;
var comparator;
list = list || [];
if (order === "manual") comparator = this.manualComparator;
if (order === "recent") comparator = this.recentsComparator;
// Fix undefined orders here, and make sure the backend gets updated as well
this._fixUndefinedOrder(list);
//if (debug) console.log("sorting list for sublist " + this.props.label + " with length " + list.length + ", this.props.list = " + this.props.list);
this.setState({ sortedList: list.sort(comparator) });
},
_shouldShowNotifBadge: function(roomNotifState) {
const showBadgeInStates = [RoomNotifs.ALL_MESSAGES, RoomNotifs.ALL_MESSAGES_LOUD];
return showBadgeInStates.indexOf(roomNotifState) > -1;
@@ -278,116 +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) {
// 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}
unread={ Unread.doesRoomHaveUnreadMessages(room) }
highlight={ room.getUnreadNotificationCount('highlight') > 0 || self.props.isInvite }
isInvite={ self.props.isInvite }
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}
/>;
});
},
@@ -493,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
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to add tag " + self.props.tagName + " to room" + err);
Modal.createTrackedDialog('Failed to add tag to room', '', ErrorDialog, {
title: _t('Failed to add tag %(tagName)s to room', {tagName: self.props.tagName}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
break;
};
};
}
},
render: function() {
var connectDropTarget = this.props.connectDropTarget;
var TruncatedList = sdk.getComponent('elements.TruncatedList');
@@ -563,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");
@@ -582,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

@@ -18,7 +18,7 @@ limitations under the License.
import React from 'react';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import KeyCode from 'matrix-react-sdk/lib/KeyCode';
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';

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,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',
@@ -67,7 +70,7 @@ module.exports = React.createClass({
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 (!UserSettingsStore.isFeatureEnabled("feature_pinning")) canPin = false;
if (!SettingsStore.isFeatureEnabled("feature_pinning")) canPin = false;
this.setState({canRedact, canPin});
},
@@ -107,15 +110,14 @@ module.exports = React.createClass({
onFinished: (proceed) => {
if (!proceed) return;
MatrixClientPeg.get().redactEvent(
this.props.mxEvent.getRoomId(), this.props.mxEvent.getId()
).catch(function(e) {
const cli = MatrixClientPeg.get();
cli.redactEvent(this.props.mxEvent.getRoomId(), this.props.mxEvent.getId()).catch(function(e) {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
// display error message stating you couldn't delete this.
const code = e.errcode || e.statusCode;
Modal.createTrackedDialog('You cannot delete this message', '', ErrorDialog, {
title: _t('Error'),
description: _t('You cannot delete this message. (%(code)s)', {code: code})
description: _t('You cannot delete this message. (%(code)s)', {code}),
});
}).done();
},
@@ -138,12 +140,12 @@ module.exports = React.createClass({
onPinClick: function() {
MatrixClientPeg.get().getStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', '')
.catch(e => {
.catch((e) => {
// Intercept the Event Not Found error and fall through the promise chain with no event.
if (e.errcode === "M_NOT_FOUND") return null;
throw e;
})
.then(event => {
.then((event) => {
const eventIds = (event ? event.pinned : []) || [];
if (!eventIds.includes(this.props.mxEvent.getId())) {
// Not pinned - add
@@ -153,7 +155,8 @@ module.exports = React.createClass({
eventIds.splice(eventIds.indexOf(this.props.mxEvent.getId()), 1);
}
MatrixClientPeg.get().sendStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', {pinned: eventIds}, '');
const cli = MatrixClientPeg.get();
cli.sendStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', {pinned: eventIds}, '');
});
this.closeMenu();
},
@@ -177,6 +180,14 @@ module.exports = React.createClass({
this.closeMenu();
},
onReplyClick: function() {
dis.dispatch({
action: 'quote_event',
event: this.props.mxEvent,
});
this.closeMenu();
},
render: function() {
const eventStatus = this.props.mxEvent.status;
let resendButton;
@@ -184,12 +195,11 @@ module.exports = React.createClass({
let cancelButton;
let forwardButton;
let pinButton;
let viewSourceButton;
let viewClearSourceButton;
let unhidePreviewButton;
let permalinkButton;
let externalURLButton;
let quoteButton;
let replyButton;
if (eventStatus === 'not_sent') {
resendButton = (
@@ -224,17 +234,25 @@ module.exports = React.createClass({
</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')}
{ this._isPinned() ? _t('Unpin Message') : _t('Pin Message') }
</div>
);
}
}
}
viewSourceButton = (
const viewSourceButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onViewSourceClick}>
{ _t('View Source') }
</div>
@@ -259,10 +277,10 @@ 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>
);
@@ -275,29 +293,33 @@ module.exports = React.createClass({
}
// Bridges can provide a 'external_url' to link back to the source.
if( typeof(this.props.mxEvent.event.content.external_url) === "string") {
externalURLButton = (
<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}
{pinButton}
{viewSourceButton}
{viewClearSourceButton}
{unhidePreviewButton}
{permalinkButton}
{quoteButton}
{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

@@ -20,6 +20,7 @@ limitations under the License.
import Promise from 'bluebird';
import React from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
import sdk from 'matrix-react-sdk';
import { _t, _td } from 'matrix-react-sdk/lib/languageHandler';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
@@ -28,14 +29,15 @@ import DMRoomMap from 'matrix-react-sdk/lib/utils/DMRoomMap';
import * as Rooms from 'matrix-react-sdk/lib/Rooms';
import * as RoomNotifs from 'matrix-react-sdk/lib/RoomNotifs';
import Modal from 'matrix-react-sdk/lib/Modal';
import RoomListActions from 'matrix-react-sdk/lib/actions/RoomListActions';
module.exports = React.createClass({
displayName: 'RoomTileContextMenu',
propTypes: {
room: React.PropTypes.object.isRequired,
room: PropTypes.object.isRequired,
/* callback called when the menu is dismissed */
onFinished: React.PropTypes.func,
onFinished: PropTypes.func,
},
getInitialState() {
@@ -45,7 +47,7 @@ module.exports = React.createClass({
isFavourite: this.props.room.tags.hasOwnProperty("m.favourite"),
isLowPriority: this.props.room.tags.hasOwnProperty("m.lowpriority"),
isDirectMessage: Boolean(dmRoomMap.getUserIdForRoomId(this.props.room.roomId)),
}
};
},
componentWillMount: function() {
@@ -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()) {
Promise.delay(500).then(function() {
if (tagNameOff !== null && tagNameOff !== undefined) {
cli.deleteRoomTag(roomId, tagNameOff).finally(function() {
// Close the context menu
if (self.props.onFinished) {
self.props.onFinished();
};
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to remove tag from room 1', '', ErrorDialog, {
title: _t('Failed to remove tag %(tagName)s from room', {tagName: tagNameOff}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
if (!MatrixClientPeg.get().isGuest()) {
Promise.delay(500).then(() => {
dis.dispatch(RoomListActions.tagRoom(
MatrixClientPeg.get(),
this.props.room,
tagNameOff, tagNameOn,
undefined, 0,
), true);
if (tagNameOn !== null && tagNameOn !== undefined) {
// If the tag ordering meta data is required, it is added by
// the RoomSubList when it sorts its rooms
cli.setRoomTag(roomId, tagNameOn, {}).finally(function() {
// Close the context menu
if (self.props.onFinished) {
self.props.onFinished();
};
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to remove tag from room 2', '', ErrorDialog, {
title: _t('Failed to remove tag %(tagName)s from room', {tagName: tagNameOn}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
this.props.onFinished();
});
}
},
@@ -132,22 +108,22 @@ module.exports = React.createClass({
},
_onClickDM: function() {
if (MatrixClientPeg.get().isGuest()) return;
const newIsDirectMessage = !this.state.isDirectMessage;
this.setState({
isDirectMessage: newIsDirectMessage,
});
if (MatrixClientPeg.get().isGuest()) return;
Rooms.guessAndSetDMRoom(
this.props.room, newIsDirectMessage
this.props.room, newIsDirectMessage,
).delay(500).finally(() => {
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
}, (err) => {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to set Direct Message status of room', '', ErrorDialog, {
title: _t('Failed to set Direct Message status of room'),
description: ((err && err.message) ? err.message : _t('Operation failed')),
@@ -165,7 +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,8 +161,8 @@ module.exports = React.createClass({
MatrixClientPeg.get().forget(this.props.room.roomId).done(function() {
dis.dispatch({ action: 'view_next_room' });
}, function(err) {
var errCode = err.errcode || _td("unknown error code");
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const errCode = err.errcode || _td("unknown error code");
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to forget room', '', ErrorDialog, {
title: _t('Failed to forget room %(errCode)s', {errCode: errCode}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
@@ -196,20 +172,19 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
},
_saveNotifState: function(newState) {
if (MatrixClientPeg.get().isGuest()) return;
const oldState = this.state.roomNotifState;
const roomId = this.props.room.roomId;
var cli = MatrixClientPeg.get();
if (cli.isGuest()) return;
this.setState({
roomNotifState: newState,
});
RoomNotifs.setRoomNotifsState(this.props.room.roomId, newState).done(() => {
RoomNotifs.setRoomNotifsState(roomId, newState).done(() => {
// delay slightly so that the user can see their state change
// before closing the menu
return Promise.delay(500).then(() => {
@@ -217,7 +192,7 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
});
}, (error) => {
// TODO: some form of error notification to the user
@@ -247,22 +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 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';
@@ -60,7 +61,7 @@ class GenericEditor extends DevtoolsComponent {
<label htmlFor={id}>{ label }</label>
</div>
<div className="mx_DevTools_inputCell">
<input id={id} onChange={this._onChange} value={this.state[id]} size="32" />
<input id={id} className="mx_TextInputDialog_input" onChange={this._onChange} value={this.state[id]} size="32" />
</div>
</div>;
}
@@ -244,24 +245,22 @@ class SendAccountData extends GenericEditor {
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);
this.state = {
query: '',
};
}
onQuery(ev) {
this.setState({ query: ev.target.value });
if (this.props.onChange) this.props.onChange(ev.target.value);
}
filterChildren() {
if (this.state.query) {
const lowerQuery = this.state.query.toLowerCase();
if (this.props.query) {
const lowerQuery = this.props.query.toLowerCase();
return this.props.children.filter((child) => child.key.toLowerCase().includes(lowerQuery));
}
return this.props.children;
@@ -271,7 +270,7 @@ class FilteredList extends React.Component {
return <div>
<input size="64"
onChange={this.onQuery}
value={this.state.query}
value={this.props.query}
placeholder={_t('Filter results')}
className="mx_TextInputDialog_input mx_DevTools_RoomStateExplorer_query" />
{ this.filterChildren() }
@@ -295,11 +294,16 @@ class RoomStateExplorer extends DevtoolsComponent {
this.onBack = this.onBack.bind(this);
this.editEv = this.editEv.bind(this);
this.onQueryEventType = this.onQueryEventType.bind(this);
this.onQueryStateKey = this.onQueryStateKey.bind(this);
this.state = {
eventType: null,
event: null,
editing: false,
queryEventType: '',
queryStateKey: '',
};
}
@@ -331,6 +335,14 @@ class RoomStateExplorer extends DevtoolsComponent {
this.setState({ editing: true });
}
onQueryEventType(filterEventType) {
this.setState({ queryEventType: filterEventType });
}
onQueryStateKey(filterStateKey) {
this.setState({ queryStateKey: filterStateKey });
}
render() {
if (this.state.event) {
if (this.state.editing) {
@@ -343,7 +355,9 @@ class RoomStateExplorer extends DevtoolsComponent {
return <div className="mx_ViewSource">
<div className="mx_Dialog_content">
<pre>{ JSON.stringify(this.state.event.event, null, 2) }</pre>
<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>
@@ -352,41 +366,47 @@ class RoomStateExplorer extends DevtoolsComponent {
</div>;
}
const rows = [];
let list = null;
const classes = 'mx_DevTools_RoomStateExplorer_button';
if (this.state.eventType === null) {
Object.keys(this.roomStateEvents).forEach((evType) => {
const stateGroup = this.roomStateEvents[evType];
const stateKeys = Object.keys(stateGroup);
list = <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]]);
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>;
})
}
rows.push(<button className={classes} key={evType} onClick={onClickFn}>
{ evType }
</button>);
});
</FilteredList>;
} else {
const evType = this.state.eventType;
const stateGroup = this.roomStateEvents[evType];
Object.keys(stateGroup).forEach((stateKey) => {
const ev = stateGroup[stateKey];
rows.push(<button className={classes} key={stateKey} onClick={this.onViewSourceClick(ev)}>
{ stateKey }
</button>);
});
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">
<FilteredList>
{ rows }
</FilteredList>
{ list }
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
@@ -408,11 +428,14 @@ class AccountDataExplorer extends DevtoolsComponent {
this.onBack = this.onBack.bind(this);
this.editEv = this.editEv.bind(this);
this._onChange = this._onChange.bind(this);
this.onQueryEventType = this.onQueryEventType.bind(this);
this.state = {
isRoomAccountData: false,
event: null,
editing: false,
queryEventType: '',
};
}
@@ -448,6 +471,10 @@ class AccountDataExplorer extends DevtoolsComponent {
this.setState({ editing: true });
}
onQueryEventType(queryEventType) {
this.setState({ queryEventType });
}
render() {
if (this.state.event) {
if (this.state.editing) {
@@ -459,7 +486,9 @@ class AccountDataExplorer extends DevtoolsComponent {
return <div className="mx_ViewSource">
<div className="mx_Dialog_content">
<pre>{ JSON.stringify(this.state.event.event, null, 2) }</pre>
<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>
@@ -482,7 +511,7 @@ class AccountDataExplorer extends DevtoolsComponent {
return <div>
<div className="mx_Dialog_content">
<FilteredList>
<FilteredList query={this.state.queryEventType} onChange={this.onQueryEventType}>
{ rows }
</FilteredList>
</div>

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');
@@ -159,7 +159,7 @@ module.exports = React.createClass({
}
eventMeta = (<div className="mx_ImageView_metadata">
{ _t('Uploaded on %(date)s by %(user)s', {date: DateUtils.formatDate(new Date(this.props.mxEvent.getTs())), user: sender}) }
{ _t('Uploaded on %(date)s by %(user)s', {date: formatDate(new Date(this.props.mxEvent.getTs())), user: sender}) }
</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

@@ -42,7 +42,7 @@ export default React.createClass({
const QuestionDialog = sdk.getComponent('dialogs.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()) {

View File

@@ -20,7 +20,7 @@ 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, _tJsx } from 'matrix-react-sdk/lib/languageHandler';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
export default React.createClass({
onUpdateClicked: function() {
@@ -49,10 +49,10 @@ export default React.createClass({
alt="Warning"
/>
<div className="mx_MatrixToolbar_content">
{ _tJsx(
{ _t(
"To return to your account in future you need to <u>set a password</u>",
/<u>(.*?)<\/u>/,
(sub) => { return <u>{ sub }</u>; },
{},
{ 'u': (sub) => <u>{ sub }</u> },
) }
</div>
<button className="mx_MatrixToolbar_action">

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,6 +27,9 @@ 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;

View File

@@ -33,8 +33,10 @@ module.exports = React.createClass({
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,227 +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.createTrackedDialog('Failed to set direct chat tag', '', ErrorDialog, {
title: _t('Failed to set direct chat tag'),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
return;
}
// More evilness: We will still be dealing with moving to favourites/low prio,
// but we avoid ever doing a request with 'im.vector.fake.direct`.
// if we moved lists, remove the old tag
if (prevTag && prevTag !== 'im.vector.fake.direct' &&
item.targetList !== item.originalList
) {
// commented out attempts to set a spinner on our target component as component is actually
// the original source component being dragged, not our target. To fix we just need to
// move all of this to endDrop in the target instead. FIXME later.
//component.state.set({ spinner: component.state.spinner ? component.state.spinner++ : 1 });
MatrixClientPeg.get().deleteRoomTag(item.room.roomId, prevTag).finally(function() {
//component.state.set({ spinner: component.state.spinner-- });
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to remove tag " + prevTag + " from room: " + err);
Modal.createTrackedDialog('Failed to remove tag from room', '', ErrorDialog, {
title: _t('Failed to remove tag %(tagName)s from room', {tagName: prevTag}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
var newOrder= {};
if (item.targetList.props.order === 'manual') {
newOrder['order'] = item.targetList.calcManualOrderTagData(item.room);
}
// if we moved lists or the ordering changed, add the new tag
if (newTag && newTag !== 'im.vector.fake.direct' &&
(item.targetList !== item.originalList || newOrder)
) {
MatrixClientPeg.get().setRoomTag(item.room.roomId, newTag, newOrder).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to add tag " + newTag + " to room: " + err);
Modal.createTrackedDialog('Failed to add tag to room', '', ErrorDialog, {
title: _t('Failed to add tag %(tagName)s to room', {tagName: newTag}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
}
else {
// cancel the drop and reset our original position
if (props.roomSubList.debug) console.log("cancelling drop & drag");
props.roomSubList.moveRoomTile(item.room, item.originalIndex);
if (item.targetList && item.targetList !== item.originalList) {
item.targetList.removeRoomTile(item.room);
}
}
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

@@ -31,7 +31,7 @@ module.exports = React.createClass({
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

View File

@@ -17,14 +17,15 @@ limitations under the License.
import React from 'react';
import Promise from 'bluebird';
import sdk from 'matrix-react-sdk';
import { _t, _tJsx } from 'matrix-react-sdk/lib/languageHandler';
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,
NotificationUtils,
VectorPushRulesDefinitions,
PushRuleVectorState,
ContentRules
} from '../../../notifications';
@@ -112,12 +113,33 @@ 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) {
UserSettingsStore.setEnableNotificationBody(event.target.checked);
this.forceUpdate();
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) {
@@ -433,7 +455,7 @@ module.exports = React.createClass({
needsUpdate.push( function(kind, rule) {
return cli.setPushRuleActions(
'global', kind, LEGACY_RULES[rule.rule_id], portLegacyActions(rule.actions)
).then(() =>
).then(() =>
cli.deletePushRule('global', kind, rule.rule_id)
).catch( (e) => {
console.warn(`Error when porting legacy rule: ${e}`);
@@ -446,7 +468,7 @@ 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 Promise.all(needsUpdate).then(() =>
return Promise.all(needsUpdate).then(() =>
cli.getPushRules()
);
} else {
@@ -542,10 +564,11 @@ module.exports = React.createClass({
"vectorRuleId": "_keywords",
"description" : (
<span>
{ _tJsx('Messages containing <span>keywords</span>',
/<span>(.*?)<\/span>/,
(sub) =>
{ _t('Messages containing <span>keywords</span>',
{},
{ 'span': (sub) =>
<span className="mx_UserNotifSettings_keywords" onClick={ self.onKeywordsClicked }>{sub}</span>
},
)}
</span>
),
@@ -694,13 +717,13 @@ module.exports = React.createClass({
render: function() {
const self = this;
let spinner;
if (this.state.phase === this.phases.LOADING) {
const Loader = sdk.getComponent("elements.Spinner");
spinner = <Loader />;
}
let masterPushRuleDiv;
if (this.state.masterPushRule) {
masterPushRuleDiv = (
@@ -710,7 +733,7 @@ module.exports = React.createClass({
ref="enableNotifications"
type="checkbox"
checked={ !this.state.masterPushRule.enabled }
onChange={ this.onEnableNotificationsChange }
onChange={ this.onEnableNotificationsChange }
/>
</div>
<div className="mx_UserNotifSettings_labelCell">
@@ -824,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">
@@ -839,7 +862,7 @@ module.exports = React.createClass({
<input id="enableDesktopNotificationBody"
ref="enableDesktopNotificationBody"
type="checkbox"
checked={ UserSettingsStore.getEnableNotificationBody() }
checked={ SettingsStore.getValue("notificationBodyEnabled") }
onChange={ this.onEnableDesktopNotificationBodyChange } />
</div>
<div className="mx_UserNotifSettings_labelCell">
@@ -854,11 +877,8 @@ module.exports = React.createClass({
<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

@@ -8,7 +8,7 @@
"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 (loud)": "كل الرسائل (صوت مرتفع)",
"All messages (noisy)": "كل الرسائل (صوت مرتفع)",
"All notifications are currently disabled for all targets.": "كل التنبيهات غير مفعلة حالياً للجميع.",
"An error occurred whilst saving your email notification preferences.": "حدث خطأ ما خلال حفظ إعدادات التنبيهات للبريد الإلكتروني.",
"Call invitation": "دعوة لمحادثة",

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,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Дадайце адрас электроннай пошты вышэй, каб наладзіць апавяшчэнні",
"All messages": "Усе паведамленні",
"All messages (loud)": "Усе паведамленні (гучна)",
"All messages (noisy)": "Усе паведамленні (гучна)",
"All notifications are currently disabled for all targets.": "Усе апавяшчэнні ў цяперашні час адключаныя для ўсіх мэтаў.",
"An error occurred whilst saving your email notification preferences.": "Адбылася памылка падчас захавання налады апавяшчэнняў па электроннай пошце.",
"Cancel Sending": "Адмяніць адпраўку",
@@ -50,7 +50,7 @@
"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": "Выключыць",

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"
}

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

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

View File

@@ -3,7 +3,7 @@
"All messages": "Tots els missatges",
"Cancel": "Cancel·la",
"Close": "Tanca",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s a %(osName)s",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s per a %(osName)s",
"Failed to change password. Is your password correct?": "Hi ha hagut un error al canviar la vostra contrasenya. És correcte la vostra contrasenya?",
"Continue": "Continua",
"All Rooms": "Totes les sales",
@@ -14,14 +14,14 @@
"Failed to remove tag %(tagName)s from room": "No s'ha pogut esborrar l'etiqueta %(tagName)s de la sala",
"Filter room names": "Filtra els noms de les sales",
"Couldn't load home page": "No s'ha pogut carregar la pàgina d'inici",
"All messages (loud)": "Tots els missatges (sorollós)",
"All messages (noisy)": "Tots els missatges (sorollós)",
"Mentions only": "Només mencions",
"Mute": "Silenciat",
"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 sales a mostrar",
"No rooms to show": "No hi ha cap sala per a mostrar",
"Riot does not know how to join a room on this network": "El Riot no sap com unir-se a una sala en aquesta xarxa",
"Room not found": "No s'ha trobat la sala",
"Unnamed room": "Sala sense nom",
@@ -41,32 +41,32 @@
"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 una adreça de correu electrònic més amunt per configurar les notificacions",
"Add an email address above to configure email notifications": "Afegiu més amunt un correu electrònic per a configurar les notificacions",
"Advanced notification settings": "Paràmetres avançats de notificacions",
"All notifications are currently disabled for all targets.": "Actualment totes les notificacions estan inhabilitades per a tots els objectius.",
"An error occurred whilst saving your email notification preferences.": "Hi ha hagut un error al desar les vostres preferències de notificació per correu electrònic.",
"An error occurred whilst saving your email notification preferences.": "S'ha produït un error 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ó a la trucada",
"Can't update user notification settings": "No es poden actualitzar els paràmetres de notificació de l'usuari",
"Collecting app version information": "Recol·lectant la informació de la versió de l'aplicació",
"Collecting logs": "Recol·lectant els registres",
"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:": "Introdueix paraules clau separades per una coma:",
"Enter keywords separated by a comma:": "Introduïu les paraules clau separades per una coma:",
"Login": "Inicia sessió",
"Leave": "Abandona",
"Messages containing <span>keywords</span>": "Missatges que contenen <span>paraules clau</span>",
"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 a xats de grup",
"Messages containing my display name": "Missatges que contenen el meu nom",
"Messages in group chats": "Missatges en xats de grup",
"Messages containing my display name": "Missatges que contenen el meu nom visible",
"Messages in one-to-one chats": "Missatges en xats un a un",
"Messages sent by bot": "Missatges enviats pel bot",
"more": "més",
"Noisy": "Sorollós",
"Notification targets": "Objectius de notificació",
"Notification targets": "Objectius de les notificacions",
"Notifications": "Notificacions",
"Notify me for anything else": "Notifica'm per qualsevol altra cosa",
"Notify for all other messages/rooms": "Notifica per a tots els altres missatges/sales",
"Notify me for anything else": "Notifica'm per a qualsevol altra cosa",
"Notify for all other messages/rooms": "Notifica per a tots els altres missatges o sales",
"Off": "Apagat",
"On": "Engegat",
"Permalink": "Enllaç permanent",
@@ -85,7 +85,7 @@
"unknown error code": "codi d'error desconegut",
"What's New": "Novetats",
"What's new?": "Què hi ha de nou?",
"Waiting for response from server": "Esperant una resposta del servidor",
"Waiting for response from server": "S'està esperant una resposta del servidor",
"You cannot delete this image. (%(code)s)": "No podeu eliminar aquesta imatge. (%(code)s)",
"You cannot delete this message. (%(code)s)": "No podeu eliminar aquest missatge. (%(code)s)",
"You are not receiving desktop notifications": "No esteu rebent notificacions d'escriptori",
@@ -100,7 +100,7 @@
"Today": "Avui",
"Yesterday": "Ahir",
"OK": "D'acord",
"Warning": "Advertència",
"Warning": "Avís",
"Checking for an update...": "Comprovant si hi ha actualitzacions...",
"No update available.": "No hi ha cap actualització disponible.",
"Downloading update...": "Descarregant l'actualització...",
@@ -109,5 +109,119 @@
"Back": "Enrere",
"Cancel Sending": "Cancel·la l'enviament",
"Collapse panel": "Col·lapsa el tauler",
"Developer Tools": "Eines de desenvolupador"
"Developer Tools": "Eines de desenvolupador",
"Riot is not supported on mobile web. Install the app?": "Riot no és compatible amb la web per a mòbils. 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"
}

View File

@@ -42,7 +42,7 @@
"Messages sent by bot": "Zprávy poslané robotem",
"more": "více",
"Mute": "Ztlumit",
"All messages (loud)": "Všechny zprávy (hlasitě)",
"All messages (noisy)": "Všechny zprávy (hlasitě)",
"Couldn't load home page": "Nepodařilo se nahrát úvodní stránku",
"All notifications are currently disabled for all targets.": "Veškeré notifikace jsou aktuálně pro všechny cíle vypnuty.",
"Cancel Sending": "Zrušit odesílání",
@@ -100,7 +100,7 @@
"Today": "Dnes",
"Yesterday": "Včera",
"OK": "OK",
"Warning": "Varování",
"Warning": "Upozornění",
"Checking for an update...": "Kontrola aktualizací...",
"An error occurred whilst saving your email notification preferences.": "Při ukládání nastavení e-mailových upozornění nastala chyba.",
"Collecting app version information": "Sbírání informací o verzi aplikace",
@@ -210,12 +210,21 @@
"Register": "Zaregistrovat",
"Rooms": "Místnosti",
"Invite to this community": "Pozvat do této komunity",
"Add rooms to this community": "Přidat místnosti do této komunity",
"Add rooms to this community": "Přidat místnosti do této skupiny",
"State Key": "Stavový klíč",
"Send Custom State Event": "Poslat vlastní stavovou událost",
"Explore Room State": "Prohlížet stav místnosti",
"Unpin Message": "Odepnout zprávu",
"Toolbox": "Sada nástrojů",
"Send Account Data": "Poslat data o účtu",
"Explore Account Data": "Prozkoumat data o účtu"
"Explore Account Data": "Prozkoumat data o účtu",
"Appear Offline": "Jevit se offline",
"Away": "Pryč",
"Please install <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

@@ -6,8 +6,8 @@
"Couldn't find a matching Matrix room": "Kunne ikke finde et matchende Matrix-rum",
"Custom Server Options": "Brugerdefinerede serverindstillinger",
"delete the alias.": "Slet aliaset.",
"Direct Chat": "Personligt Chat",
"Directory": "Rum fortegnelse",
"Direct Chat": "Personlig Chat",
"Directory": "Rum katalog",
"Dismiss": "Afskedige",
"Enable audible notifications in web client": "Aktivér hørbare underretninger i webklienten",
"Enable desktop notifications": "Aktivér desktop meddelelser",
@@ -22,22 +22,22 @@
"Failed to update keywords": "Kunne ikke opdatere søgeord",
"Failed to get protocol list from Home Server": "Kunne ikke få protokolliste fra Home Server",
"Failed to get public room list": "Kunne ikke få offentlig rumliste",
"Failed to set Direct Message status of room": "Kunne ikke indstille direkte beskedstatus for rumet",
"Failed to set Direct Message status of room": "Kunne ikke indstille Direkte Beskedstatus for rummet",
"Favourite": "Favorit",
"Fetching third party location failed": "Hentning af tredjeparts placering mislykkedes",
"Files": "Filer",
"Filter room names": "Filtrer rumnavne",
"Filter room names": "Filtrér rumnavne",
"Forget": "Glem",
"Guests can join": "Gæster kan deltage",
"Invite to this room": "Inviter til dette rum",
"Keywords": "Søgeord",
"Leave": "Forlade",
"Leave": "Forlad",
"Low Priority": "Lav prioritet",
"Members": "Medlemmer",
"No rooms to show": "Ingen rum at vise",
"Noisy": "Støjende",
"Notification targets": "Meddelelsesmål",
"Notifications": "Meddelser",
"Notifications": "Notifikationer",
"Notifications on the following keywords follow rules which 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",
@@ -45,22 +45,177 @@
"On": "Tændt",
"Operation failed": "Operation mislykkedes",
"powered by Matrix": "Drevet af Matrix",
"Reject": "Afvise",
"Remove": "Fjerne",
"Remove from Directory": "Fjern fra fortegnelse",
"Reject": "Afvis",
"Remove": "Fjern",
"Remove from Directory": "Fjern fra Katalog",
"Riot does not know how to join a room on this network": "Riot ved ikke, hvordan man kan deltage i et rum på dette netværk",
"Room not found": "Rumet ikke fundet",
"Room not found": "Rummet ikke fundet",
"Search for a room": "Søg efter et rum",
"The Home Server may be too old to support third party networks": "Hjemmeserveren kan være for gammel til at understøtte tredjepartsnetværk",
"There are advanced notifications which are not shown here": "Der er avancerede meddelelser, som ikke vises her",
"The server may be unavailable or overloaded": "Serveren kan være utilgængelig eller overbelastet",
"Unable to fetch notification target list": "Kan ikke hente meddelelsesmålliste",
"Unable to join network": "Kan ikke deltage i netværket",
"Unable to look up room ID from server": "Kunne ikke slå op på rum-id fra server",
"Unable to join network": "Kan ikke forbinde til netværket",
"Unable to look up room ID from server": "Kunne ikke slå rum-id op på server",
"unknown error code": "Ukendt fejlkode",
"Unnamed room": "Unnamed rum",
"World readable": "Læselig til alle",
"You are not receiving desktop notifications": "Du modtager ikke desktop meddelelser",
"Unnamed room": "Unavngivet rum",
"World readable": "Læselig af alle",
"You are not receiving desktop notifications": "Du modtager ikke skrivebordsmeddelelser",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Du har muligvis konfigureret dem i en anden klient end Riot. Du kan ikke tune dem i Riot, men de gælder stadig",
"Close": "Luk"
"Close": "Luk",
"Riot is not supported on mobile web. Install the app?": "Riot understøtter ikke mobilhjemmesider. Vil du installere app'en?",
"Collecting app version information": "Indsamler app versionsoplysninger",
"Collecting logs": "Indsamler logfiler",
"Uploading report": "Uploader rapport",
"Waiting for response from server": "Venter på svar fra server",
"Riot Desktop on %(platformName)s": "Riot Desktop på %(platformName)s",
"Unknown device": "Ukendt enhed",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s på %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Du skal bruge HTTPS for at lave skærm-delings-opkald.",
"Messages containing my display name": "Beskeder der indeholder mit viste navn",
"Messages containing my user name": "Beskeder der indeholder mit brugernavn",
"Messages in one-to-one chats": "Beskeder i en-til-en chats",
"Messages in group chats": "Beskeder i gruppechats",
"When I'm invited to a room": "Når jeg bliver inviteret til et rum",
"Call invitation": "Opkalds invitation",
"Messages sent by bot": "Beskeder sendt af en bot",
"OK": "OK",
"Messages containing <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

@@ -62,19 +62,19 @@
"On": "An",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Du hast sie eventuell auf einem anderen Matrix-Client und nicht in Riot konfiguriert. Sie können in Riot nicht verändert werden, gelten aber trotzdem",
"All messages": "Alle Nachrichten",
"All messages (loud)": "Alle Nachrichten (laut)",
"All messages (noisy)": "Alle Nachrichten (laut)",
"Cancel Sending": "Senden abbrechen",
"Close": "Schließen",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Soll der Raum-Alias %(alias)s gelöscht und der %(name)s aus dem Verzeichnis entfernt werden?",
"Download this file": "Datei herunterladen",
"Failed to add tag %(tagName)s to room": "Das Hinzufügen des Tags %(tagName)s für den Raum ist fehlgeschlagen",
"Failed to add tag %(tagName)s to room": "Fehler beim Hinzufügen des \"%(tagName)s\"-Tags an dem Raum",
"Failed to forget room %(errCode)s": "Das Entfernen des Raums ist fehlgeschlagen %(errCode)s",
"Failed to remove tag %(tagName)s from room": "Das Entfernen des Tags %(tagName)s für den Raum ist fehlgeschlagen",
"Failed to set direct chat tag": "Fehler beim Setzen der \"Direkter Chat\"-Kennzeichnung",
"Failed to remove tag %(tagName)s from room": "Fehler beim Entfernen des \"%(tagName)s\"-Tags von dem Raum",
"Failed to set direct chat tag": "Fehler beim Setzen der Direkt-Chat-Markierung",
"Mentions only": "Nur, wenn du erwähnt wirst",
"Mute": "Stummschalten",
"Permalink": "Permanenter Link",
"Quote": "Zitieren",
"Quote": "Zitat",
"Remove %(name)s from the directory?": "Soll der Raum %(name)s aus dem Verzeichnis entfernt werden?",
"remove %(name)s from the directory.": "entferne %(name)s aus dem Verzeichnis.",
"Resend": "Erneut senden",
@@ -216,6 +216,15 @@
"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": "Daten des Benutzerkontos erkunden",
"Send Account Data": "Sende Benutzerkonto-Daten"
"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

@@ -29,7 +29,7 @@
"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": "Απόρριψη",

View File

@@ -43,9 +43,6 @@
"Off": "Off",
"On": "On",
"Noisy": "Noisy",
"Failed to set direct chat tag": "Failed to set direct chat tag",
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
"Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
"Search…": "Search…",
"Search": "Search",
"This Room": "This Room",
@@ -70,7 +67,6 @@
"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>",
"Toolbox": "Toolbox",
"Set Password": "Set Password",
"Error encountered (%(errorDetail)s).": "Error encountered (%(errorDetail)s).",
"Checking for an update...": "Checking for an update...",
@@ -98,18 +94,19 @@
"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",
"Event Content": "Event Content",
"State Key": "State Key",
"Edit": "Edit",
"Filter results": "Filter results",
"Send Custom Event": "Send Custom Event",
"Event Content": "Event Content",
"Send Account Data": "Send Account Data",
"Explore Account Data": "Explore 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!",
@@ -124,6 +121,7 @@
"Resend": "Resend",
"Cancel Sending": "Cancel Sending",
"Forward Message": "Forward Message",
"Reply": "Reply",
"Unpin Message": "Unpin Message",
"Pin Message": "Pin Message",
"View Source": "View Source",
@@ -132,10 +130,13 @@
"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 (loud)": "All messages (loud)",
"All messages (noisy)": "All messages (noisy)",
"All messages": "All messages",
"Mentions only": "Mentions only",
"Mute": "Mute",
@@ -145,17 +146,20 @@
"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 <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.",
"<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.",
"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",
"Invite to this room": "Invite to this room",
"Members": "Members",
"%(count)s Members|other": "%(count)s Members",
"%(count)s Members|one": "%(count)s Member",
"Invite to this room": "Invite to this room",
"Files": "Files",
"Notifications": "Notifications",
"Rooms": "Rooms",

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.",

View File

@@ -1,136 +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",
"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",
"Guests can join": "Gastoj povas aliĝi",
"I understand the risks and wish to continue": "Mi komprenas la riskonj kaj volas daŭrigi",
"Invite to this room": "Inviti en ĉi tiun babilejon",
"I understand the risks and wish to continue": "Mi komprenas la riskojn kaj volas daŭrigi",
"Invite to this room": "Inviti al ĉi tiu ĉambro",
"Keywords": "Ŝlosilvortoj",
"Leave": "Foriri",
"Low Priority": "Malalta prioritato",
"Messages containing my display name": "Mesaĝoj enhavantaj mian vidigan nomon",
"Messages containing <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.",
"powered by Matrix": "funkciigata de \"Matrix\"",
"Quote": "Citu",
"Reject": "Malakcepti",
"powered by Matrix": "funkciigata de Matrix",
"Quote": "Citi",
"Reject": "Rifuzi",
"Resend": "Resendi",
"Room not found": "Babilejo ne trovita",
"Room not found": "Ĉambro ne troviĝis",
"Search": "Serĉi",
"Search…": "Serĉi…",
"Search for a room": "Serĉi babilejon",
"Search for a room": "Serĉi ĉambron",
"Send": "Sendi",
"This Room": "Ĉi tiu 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 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 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.",
"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",
"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",
"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 might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Vi eble agordis ilin en kliento kiu ne estis Riot. Vi ne povas agordi ilin en Riot sed ili ankoraŭ validas",
"When I'm invited to a room": "Kiam mi estas invitita al ĉambro",
"World readable": "Legebla de ĉiuj",
"You cannot delete this image. (%(code)s)": "Vi ne povas forigi tiun ĉi bildon. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Vi ne povas forigi tiun ĉi mesaĝon. (%(code)s)",
"You are not receiving desktop notifications": "Vi ne ricevadas sciigojn labortablajn",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Vi eble agordis ilin en alia kliento. Vi ne povas agordi ilin en Riot, sed ili ankoraŭ validas",
"Sunday": "Dimanĉo",
"Monday": "Lundo",
"Tuesday": "Mardo",
@@ -141,50 +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.",
"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.",
"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...": "Kontrolanta por ĝisdatigo...",
"No update available.": "Ĝisdatigo ne estas disponata."
"Checking for an update...": "Serĉanta ĝisdatigojn…",
"No update available.": "Neniuj ĝisdatigoj haveblas.",
"Unpin Message": "Malfiksi mesaĝon",
"Rooms": "Ĉambroj",
"Show message in desktop notification": "Montradi mesaĝojn en labortablaj sciigoj",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<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

@@ -7,7 +7,7 @@
"Cancel Sending": "Cancelar envío",
"Can't update user notification settings": "No se puede actualizar la configuración de notificaciones del usuario",
"Close": "Cerrar",
"Couldn't find a matching Matrix room": "No se encontró una sala Matrix que coincidiera",
"Couldn't find a matching Matrix room": "No se encontró una sala Matrix que coincida",
"Custom Server Options": "Opciones de Servidor Personalizado",
"customServer_text": "Puedes utilizar las opciones de servidor personalizadas para iniciar sesión en otros servidores Matrix especificando una URL de Home server distinta.<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.",
@@ -72,7 +72,7 @@
"Riot does not know how to join a room on this network": "Riot no sabe cómo unirse a una sala en esta red",
"Room not found": "Sala no encontrada",
"Search for a room": "Buscar sala",
"Source URL": "URL de origen",
"Source URL": "URL de Origen",
"The Home Server may be too old to support third party networks": "El Home Server puede ser demasiado antiguo para soportar redes de terceros",
"There are advanced notifications which are not shown here": "Hay notificaciones avanzadas que no se muestran aquí",
"The server may be unavailable or overloaded": "El servidor puede estar no disponible o sobrecargado",
@@ -107,19 +107,19 @@
"<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": "Registro de cambios",
"Collapse panel": "Colapsar panel",
"Remember, you can always set an email address in user settings if you change your mind.": "Recuerde que, si es necesario, puede establecer una dirección de email en las preferencias de usuario.",
"Remember, you can always set an email address in user settings if you change your mind.": "Recuerda que si es necesario puedes establecer una dirección de email en las preferencias de usuario.",
"All Rooms": "Todas las salas",
"Expand panel": "Expandir panel",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar los problemas, los registros de este cliente serán enviados adjuntos a este informe de fallo. Si quisiera enviar el texto anterior solamente, entonces desmarque:",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar los problemas, los registros de este cliente serán enviados adjuntos a este informe de fallo. Si quisieras enviar el texto anterior solamente, entonces desmarca:",
"Login": "Iniciar sesión",
"Report a bug": "Informe de un fallo",
"Report a bug": "Informar de un fallo",
"Search…": "Buscar…",
"Send": "Enviar",
"Send logs": "Enviar registros",
@@ -132,10 +132,10 @@
"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 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",
@@ -145,7 +145,7 @@
"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 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",
@@ -154,7 +154,7 @@
"You need to be using HTTPS to place a screen-sharing call.": "Debes usar HTTPS para hacer una llamada con pantalla compartida.",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "En su navegador actual, la apariencia y comportamiento de la aplicación puede ser completamente incorrecta, y algunas de las características podrían no funcionar. Si aún desea probarlo puede continuar, pero ¡no podremos ofrecer soporte por cualquier problema que pudiese tener!",
"Welcome to Riot.im": "Bienvenido a Riot.im",
"Decentralised, encrypted chat &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 consejos de Riot Bot!",
@@ -183,15 +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 su cuenta en el futuro Ud. debe <u>establecer una contraseña</u>",
"Set Password": "Establezca la contraseña",
"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!"
"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"
}

View File

@@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Gehitu e-mail helbide bat goian e-mail bidezko jakinarazpenak konfiguratzeko",
"Advanced notification settings": "Jakinarazpen aurreratuen ezarpenak",
"All messages": "Mezu guztiak",
"All messages (loud)": "Mezu guztiak (ozen)",
"All messages (noisy)": "Mezu guztiak (ozen)",
"All Rooms": "Gela guztiak",
"All notifications are currently disabled for all targets.": "Une honetan jakinarazpen guztiak helburu guztietarako desgaituta daude.",
"An error occurred whilst saving your email notification preferences.": "Errore bat gertatu da zure e-mail bidezko jakinarazpenen hobespenak gordetzean.",
@@ -46,7 +46,7 @@
"Failed to get public room list": "Huts egin du gela publikoen zerrenda jasotzean",
"Failed to remove tag %(tagName)s from room": "Huts egin du %(tagName)s etiketa gelatik kentzean",
"Failed to send report: ": "Huts egin du txostena bidaltzean: ",
"Failed to set direct chat tag": "Huts egin du txat zuzeneko etiketa jartzean",
"Failed to set direct chat tag": "Huts egin du txat zuzenarenaren etiketa jartzean",
"Failed to set Direct Message status of room": "Huts egin du Mezu Zuzena egoera gelan ezartzean",
"Favourite": "Gogokoa",
"Fetching third party location failed": "Huts egin du hirugarrengoen kokalekua eskuratzean",
@@ -66,12 +66,12 @@
"Low Priority": "Lehentasun baxua",
"Members": "Kideak",
"Mentions only": "Aipamenak besterik ez",
"Messages containing my display name": "Nire pantaila izena duten mezuak",
"Messages containing my display name": "Nire pantaila-izena duten mezuak",
"Messages containing <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",
"Messages sent by bot": "Botak bidalitako mezuak",
"more": "gehiago",
"Mute": "Mututu",
"No rooms to show": "Ez dago gelarik erakusteko",
@@ -120,7 +120,7 @@
"Unhide Preview": "Ez ezkutatu aurrebista",
"Unknown device": "Gailu ezezaguna",
"unknown error code": "errore kode ezezaguna",
"Unnamed room": "Izenik gabeko gela",
"Unnamed room": "Izen gabeko gela",
"Update": "Eguneratu",
"Uploaded on %(date)s by %(user)s": "%(user)s erabiltzaileak %(date)s (e)an igota",
"Uploading report": "Igoera txostena",
@@ -130,7 +130,7 @@
"What's new?": "Zer dago berri?",
"Waiting for response from server": "Zerbitzariaren erantzunaren zain",
"When I'm invited to a room": "Gela batetara gonbidatzen nautenean",
"World readable": "Denek irakurtzeko moduan",
"World readable": "Munduak irakurgarria",
"You cannot delete this image. (%(code)s)": "Ezin duzu irudi hau ezabatu. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Ezin duzu mezu hau ezabatu. (%(code)s)",
"You are not receiving desktop notifications": "Ez dituzu mahaigaineko jakinarazpenak jasotzen",
@@ -193,5 +193,37 @@
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Arazoak diagnostikatzeko, bezero honen egunkariak bidaliko dira arazte-txosten honekin. Testua besterik ez baduzu bidali nahi, desmarkatu:",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Zure oraingo nabigatzailearekin aplikazioaren itxura eta portaera guztiz okerra izan daiteke, eta funtzio batzuk ez dira ibiliko. Hala ere aurrera jarraitu dezakezu saiatu nahi baduzu, baina zure erantzukizunaren menpe geratzen dira aurkitu ditzakezun arazoak!",
"Bug report sent": "Arazte-txostena bidali da",
"Thank you!": "Eskerrik asko!"
"Thank you!": "Eskerrik asko!",
"Show message in desktop notification": "Erakutsi mezua mahaigaineko jakinarazpenean",
"Appear Offline": "Agertu deskonektatuta",
"Away": "Teklatutik at",
"Back": "Atzera",
"Send Custom Event": "Bidali gertaera pertsonalizatua",
"You must specify an event type!": "Gertaera mota bat zehaztu behar duzu!",
"Event sent!": "Gertaera bidalita!",
"Failed to send custom event.": "Huts egin du gertaera pertsonalizatua bidaltzean.",
"Event Type": "Gertaera mota",
"State Key": "Egoera gakoa",
"Event Content": "Gertaeraren edukia",
"Send Account Data": "Bidali kontuaren datuak",
"Filter results": "Iragazi emaitzak",
"Explore Room State": "Miatu gelaren egoera",
"Edit": "Editatu",
"Explore Account Data": "Miatu kantuaren datuak",
"Toolbox": "Tresna-kutxa",
"Developer Tools": "Garatzaile-tresnak",
"Unpin Message": "Desfinkatu mezua",
"Pin Message": "Finkatu mezua",
"Please install <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"
}

View File

@@ -1,7 +1,7 @@
{
"A new version of Riot is available.": "نسخه‌ی جدید از رایوت موجود است.",
"All messages": "همه‌ی پیام‌ها",
"All messages (loud)": "همه‌ی پیام‌ها(بلند)",
"All messages (noisy)": "همه‌ی پیام‌ها(بلند)",
"All Rooms": "همه‌ی گپ‌ها",
"Cancel Sending": "فرستادن را لغو کن",
"Changelog": "تغییراتِ به‌وجودآمده",

View File

@@ -4,7 +4,7 @@
"Add an email address above to configure email notifications": "Lisää sähköpostiosoite yllä saadaksesi ilmoituksia sähköpostiisi",
"Advanced notification settings": "Lisäasetukset ilmoituksille",
"All messages": "Kaikki viestit",
"All messages (loud)": "Kaikki viestit (äänekkäästi)",
"All messages (noisy)": "Kaikki viestit (äänekkäästi)",
"All Rooms": "Kaikki huoneet",
"All notifications are currently disabled for all targets.": "Kaikki ilmoitukset on kytketty pois kaikilta kohteilta.",
"An error occurred whilst saving your email notification preferences.": "Sähköposti-ilmoitusasetuksia tallettaessa tapahtui virhe.",
@@ -27,7 +27,7 @@
"Files": "Tiedostot",
"Forget": "Unohda",
"I understand the risks and wish to continue": "Ymmärrän riskit ja haluan jatkaa",
"Invite to this room": "Kutsu tähän huoneeseen",
"Invite to this room": "Kutsu käyttäjiä",
"Keywords": "Avainsanat",
"Leave": "Poistu",
"Login": "Kirjaudu sisään",
@@ -63,7 +63,7 @@
"Unnamed room": "Nimeämätön huone",
"Update": "Päivitä",
"View Source": "Näytä lähde",
"Waiting for response from server": "Odotetaan palvelimen vastausta",
"Waiting for response from server": "Odotetaan vastausta palvelimelta",
"Monday": "Maanantai",
"Tuesday": "Tiistai",
"Wednesday": "Keskiviikko",
@@ -72,20 +72,20 @@
"Saturday": "Lauantai",
"Today": "Tänään",
"Yesterday": "Eilen",
"OK": "Selvä",
"OK": "OK",
"Warning": "Varoitus",
"Checking for an update...": "Tarkistetaan päivityksen saatavuutta...",
"No update available.": "Ei päivityksiä saatavilla.",
"Downloading update...": "Ladataan päivitystä...",
"Welcome to Riot.im": "Tervetuloa Riot.im:ään",
"Search the room directory": "Hae huonehakemistosta",
"Welcome to Riot.im": "Tervetuloa Riot.im -palveluun",
"Search the room directory": "Hae hakemistosta",
"Continue": "Jatka",
"Set Password": "Aseta salasana",
"<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": "Kerätään sovelluksen versiotietoja",
"Collecting logs": "Kerätään lokitietoja",
"Custom Server Options": "Omat palvelinasetukset",
"Collecting app version information": "Haetaan versiotietoja",
"Collecting logs": "Haetaan lokitietoja",
"Custom Server Options": "Palvelinasetukset",
"customServer_text": "Voit käyttää palvelinasetuksia muille Matrix-palvelimille kirjautumiseen asettamalla oman kotipalvelinosoitteen.<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",
@@ -95,7 +95,7 @@
"Failed to change settings": "Asetusten muuttaminen epäonnistui",
"Failed to forget room %(errCode)s": "Huoneen unohtaminen epäonnistui %(errCode)s",
"Failed to update keywords": "Avainsanojen päivittäminen epäonnistui",
"Enable audible notifications in web client": "Ota käyttöön äänelliset ilmoitukset webasiakasohjelmassa",
"Enable audible notifications in web client": "Ota käyttöön äänelliset ilmoitukset",
"Enable desktop notifications": "Ota käyttöön työpöytäilmoitukset",
"Enable email notifications": "Ota käyttöön sähköposti-ilmoitukset",
"Enable notifications for this account": "Ota käyttöön ilmoitukset tälle tilille",
@@ -106,15 +106,15 @@
"Failed to send report: ": "Raportin lähettäminen epäonnistui: ",
"Failed to set direct chat tag": "Suoran viestittelyn tagin asettaminen epäonnistui",
"Fetching third party location failed": "Kolmannen osapuolen paikan haku epäonnistui",
"Filter room names": "Suodata huoneiden nimet",
"Filter room names": "Suodata",
"Forward Message": "Edelleenlähetä viesti",
"Guests can join": "Vieraat voivat liittyä",
"Hide panel": "Piilota paneeli",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Diagnoosin helpottamiseksi lokitietoja tältä laitteelta lähetetään tämän bugiraportin mukana. Poista ruksi jos haluat lätettää vain ylläolevan tekstin:",
"Loading bug report module": "Ladataan bugiraportointimoduuli",
"Messages containing my display name": "Näyttönimeni sisältävät viestit",
"Messages containing my display name": "Viestit joissa mainitaan nimimerkkini",
"Messages containing <span>keywords</span>": "<span>Avainsanoja</span> sisältävät viestit",
"Messages containing my user name": "Käyttäjänimeni sisältävät viestit",
"Messages containing my user name": "Viestit joissa mainitaan käyttäjänimeni",
"Messages in group chats": "Viestit ryhmäkeskusteluissa",
"Messages in one-to-one chats": "Viestit henkilökohtaisissa keskusteluissa",
"Messages sent by bot": "Bottien lähettämät viestit",
@@ -127,7 +127,7 @@
"Remove %(name)s from the directory?": "Poista %(name)s hakemistosta?",
"remove %(name)s from the directory.": "poista %(name)s hakemistosta.",
"Remove from Directory": "Poista hakemistosta",
"Riot Desktop on %(platformName)s": "Riot Desktop järjestelmällä %(platformName)s",
"Riot Desktop on %(platformName)s": "Riot Desktop %(platformName)s",
"Riot does not know how to join a room on this network": "Riot ei tiedä miten liittya huoneeseen tässä verkossa",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot käyttää monia selainominaisuuksia, joista osa selaimesi ei tue tai ne ovat kokeellisia.",
"Sorry, your browser is <b>not</b> able to run Riot.": "Valitettavasti Riot <b>ei</b> toimi selaimessasi.",
@@ -137,7 +137,7 @@
"Unable to look up room ID from server": "Huone-ID:n haku palvelimelta epäonnistui",
"Unhide Preview": "Näytä ennakkokatselu",
"Uploaded on %(date)s by %(user)s": "Ladattu %(date)s käyttäjän %(user)s toimesta",
"Uploading report": "Ladataan raportti",
"Uploading report": "Ladataan raporttia",
"View Decrypted Source": "Näytä purettu lähdekoodi",
"What's New": "Mikä on uutta",
"What's new?": "Mikä on uutta?",
@@ -147,23 +147,23 @@
"You cannot delete this message. (%(code)s)": "Et voi poistaa tätä viestiä. (%(code)s)",
"You are not receiving desktop notifications": "Et vastaanota työpöytäilmoituksia",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Olet saattanut muuttaa niitä toisessa asiakasohjelmassa kuin Riot. Et voi muuttaa niitä Riotissa mutta ne pätevät kuitenkin",
"You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS:ää voidaaksesi soittaa ruudunjakopuhelun.",
"You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS -yhteyttä, jotta voit jakaa ruudun.",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Nykyisellä selaimellasi ohjelman ulkonäkö voi olla aivan virheellinen, ja jotkut ominaisuudet eivät saata toimia. Voit jatkaa jos haluat kokeilla mutta et voi odottaa saavasi apua mahdollisesti ilmeneviin ongelmiin!",
"Chat with Riot Bot": "Keskustele Riot-botin kanssa",
"Get started with some tips from Riot Bot!": "Pääse käyntiin Riot-botin vinkkien avulla!",
"General discussion about Matrix and Riot": "Yleistä Matrix- ja Riot-keskustelua",
"Chat with Riot Bot": "Keskustele Riot Botin kanssa",
"Get started with some tips from Riot Bot!": "Aloita Riot Botin vinkkien avulla!",
"General discussion about Matrix and Riot": "Matrix- ja Riot keskustelut",
"Discussion of all things Matrix!": "Keskustelu kaikesta Matrixiin liittyvästä!",
"Riot/Web &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": "Matrix tekniset keskustelut",
"Matrix technical discussions": "Tekniset keskustelut",
"Running Matrix services": "Matrix-palvelujen ylläpito",
"Community-run support for Synapse": "Yhteisön tarjoama Synapse-tuki",
"Admin support for Dendrite": "Dendrite ylläpitotuki",
"Announcements about Synapse releases": "Ilmoitukset uusista Synapse-julkaisuista",
"Error encountered (%(errorDetail)s).": "Virhe: %(errorDetail)s.",
"Support for those using and running matrix-appservice-irc": "Tuki niille jotka käyttävät ja ajavat matrix-appservice-irc",
"Building services on Matrix": "Palvelujen rakentaminen Matrixin avulla",
"Building services on Matrix": "Palveluiden rakentaminen Matrixin avulla",
"Support for those using the Matrix spec": "Tuki Matrix-spesifikaation käyttäjille",
"Implementing VR services with Matrix": "VR-palvelujen implementointi Matrixin avulla",
"Implementing VoIP services with Matrix": "VoIP-palvelujen implementointi Matrixin avulla",
@@ -172,7 +172,7 @@
"Dev chat for the Riot/Web dev team": "Kehittäjäkeskustelu Riot/Web kehitystiimille",
"Dev chat for the Dendrite dev team": "Kehittäjäkeskustelu Dendrite kehitystiimille",
"Co-ordination for Riot/Web translators": "Riot/Web kääntäjien koordinointi",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrixissa on jo olemassa monia huoneita jotka on linkitetty olemassa oleviin verkkoihin (Slack, IRC, Gitter, jne) tai itsenäisiin. Tutustu hakemistoon!",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrixissa on olemassa monia huoneita, jotka on linkitetty olemassa oleviin verkkoihin (Slack, IRC, Gitter yms.). Tutustu hakemistoon!",
"Failed to change password. Is your password correct?": "Salasanan muuttaminen epäonnistui. Onko salasanasi oikein?",
"You have successfully set a password!": "Olet onnistuneesti asettanut salasanan!",
"You can now return to your account after signing out, and sign in on other devices.": "Voit nyt palata tilillesi kirjauduttua ulos, sekä kirjautua muilla laitteilla.",
@@ -186,24 +186,44 @@
"Failed to set Direct Message status of room": "Huoneen suoran viestittelyn tilan asettaminen epäonnistui",
"(HTTP status %(httpStatus)s)": "(HTTP tila %(httpStatus)s)",
"Notify for all other messages/rooms": "Ilmoita kaikista muista viesteistä/huoneista",
"powered by Matrix": "Matrix-pohjainen",
"Riot is not supported on mobile web. Install the app?": "Riot ei tue mobiiliselaimia. Asenna sovellus?",
"powered by Matrix": "Matrix",
"Riot is not supported on mobile web. Install the app?": "Riot ei tue laitettasi. Asenna mobiilisovellus?",
"Thank you!": "Kiitos!",
"Design and implementation of E2E in Matrix": "Matrix päästä-päähän salauksen suunnittelu ja implementointi",
"Contributing code to Matrix and Riot": "Osallistu Matrix ja Riot kehitykseen",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s selaimella %(browserName)s käyttöjärjestelmällä %(osName)s",
"Contributing code to Matrix and Riot": "Osallistu kehitystyöhön",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s %(osName)s",
"There are advanced notifications which are not shown here": "On kehittyneitä ilmoituksia joita ei näytetä tässä",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Matrix-pohjainen hajautettu, salattu viestittely ja yhteistyö",
"Back": "Palaa",
"Developer Tools": "Kehitystyökalut",
"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 tuloksia",
"Filter results": "Suodata",
"Send Custom Event": "Lähetä kustomoitu tapahtuma",
"Send Custom State Event": "Lähetä kustomoitu tilatapahtuma",
"Explore Room State": "Tutki huoneen tilaa",
"Explore Room State": "Huoneen tila",
"You must specify an event type!": "Sinun on määritettävä tapahtuman tyyppi!",
"Event sent!": "Tapahtuma lähetetty!",
"Event Type": "Tapahtuman tyyppi",
"Event Content": "Tapahtuman sisältö",
"State Key": "Tila-avain"
"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,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Ajouter une adresse e-mail pour la configuration des notifications par e-mail",
"All messages": "Tous les messages",
"All messages (loud)": "Tous les messages (fort)",
"All messages (noisy)": "Tous les messages (fort)",
"All notifications are currently disabled for all targets.": "Toutes les notifications sont désactivées pour tous les appareils.",
"An error occurred whilst saving your email notification preferences.": "Une erreur est survenue lors de la sauvegarde de vos préférences de notification par e-mail.",
"Cancel Sending": "Annuler l'envoi",
@@ -24,14 +24,14 @@
"Error": "Erreur",
"Error saving email notification preferences": "Erreur lors de la sauvegarde des préférences de notification par e-mail",
"#example": "#exemple",
"Failed to add tag %(tagName)s to room": "Échec lors de l'ajout de létiquette %(tagName)s au salon",
"Failed to add tag %(tagName)s to room": "Échec de l'ajout de l'étiquette %(tagName)s au salon",
"Failed to change settings": "Échec de la mise à jour des paramètres",
"Failed to forget room %(errCode)s": "Échec lors de l'oubli du salon %(errCode)s",
"Failed to update keywords": "Échec dans la mise à jour des mots-clés",
"Failed to get protocol list from Home Server": "Échec lors de la récupération de la liste sur le serveur",
"Failed to get public room list": "Échec lors de la récupération de la liste des salons publics",
"Failed to remove tag %(tagName)s from room": "Échec dans la suppression de létiquette %(tagName)s du salon",
"Failed to set direct chat tag": "Échec dans l'attribution d'une étiquette dans la discussion directe",
"Failed to remove tag %(tagName)s from room": "Échec de la suppression de l'étiquette %(tagName)s du salon",
"Failed to set direct chat tag": "Échec de l'ajout de l'étiquette discussion directe",
"Favourite": "Favoris",
"Operation failed": "L'opération a échoué",
"powered by Matrix": "propulsé par Matrix",
@@ -217,5 +217,14 @@
"Invite to this community": "Inviter à cette communauté",
"Toolbox": "Boîte à outils",
"Send Account Data": "Envoyer les données du compte",
"Explore Account Data": "Explorer les données du compte"
"Explore Account Data": "Explorer les données du compte",
"Appear Offline": "Apparaître Hors ligne",
"Away": "Absent",
"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é"
}

View File

@@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Engada un enderezo de correo electrónico para configurar as notificacións",
"Advanced notification settings": "Axustes avanzados de notificación",
"All messages": "Todas as mensaxes",
"All messages (loud)": "Todas as mensaxes (alto)",
"All messages (noisy)": "Todas as mensaxes (alto)",
"All Rooms": "Todas as Salas",
"All notifications are currently disabled for all targets.": "Todas as notificacións están deshabilitadas para todos os destinos.",
"An error occurred whilst saving your email notification preferences.": "Algo fallou mentras se gardaban as súas preferencias de notificaicón.",
@@ -21,7 +21,7 @@
"Collecting app version information": "Obtendo información sobre a versión da app",
"Collecting logs": "Obtendo rexistros",
"Couldn't find a matching Matrix room": "Non coincide con ningunha sala de Matrix",
"Custom Server Options": "Axustes do servidor personalizado",
"Custom Server Options": "Opcións personalizadas do servidor",
"customServer_text": "Pode utilizar os axustes do servidor personalizado para conectarse a outros servidores Matrix indicando un URL de Inicio do servidor.<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?",
@@ -29,7 +29,7 @@
"Developer Tools": "Ferramentas para desenvolver",
"Direct Chat": "Chat directo",
"Directory": "Directorio",
"Dismiss": "Desbotar",
"Dismiss": "Rexeitar",
"Download this file": "Descargue este ficheiro",
"Enable audible notifications in web client": "Habilitar notificacións audibles no cliente web",
"Enable desktop notifications": "Habilitar notificacións de escritorio",
@@ -41,25 +41,25 @@
"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": "Fallou ao engadir a etiqueta %(tagName)s a sala",
"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": "Fallou ao esquecer a sala %(errCode)s",
"Failed to forget room %(errCode)s": "Fallo ao esquecer sala %(errCode)s",
"Failed to update keywords": "Fallo ao actualizar as palabras chave",
"Failed to get protocol list from Home Server": "Fallo ao obter a lista de protocolo desde o servidor",
"Failed to get public room list": "Fallo ao obter a lista de salas públicas",
"Failed to remove tag %(tagName)s from room": "Fallo ao eliminar etiqueta %(tagName)s da sala",
"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": "Favorito",
"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": "Convidadas pódense unir",
"Guests can join": "Convidados pódense unir",
"Hide panel": "Agochar panel",
"(HTTP status %(httpStatus)s)": "(Estado HTTP %(httpStatus)s)",
"I understand the risks and wish to continue": "Entendos os riscos e desexo continuar",
@@ -79,8 +79,8 @@
"Messages in one-to-one chats": "Mensaxes en chats un-a-un",
"Messages sent by bot": "Mensaxes enviadas por bot",
"more": "máis",
"Mute": "Calar",
"No rooms to show": "Non hai salas que mostrar",
"Mute": "Acalar",
"No rooms to show": "Sen salas que mostrar",
"Noisy": "Ruidoso",
"Notification targets": "Obxetivos das notificacións",
"Notifications": "Notificacións",
@@ -94,7 +94,7 @@
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Por favor describa a incidencia. Que estaba a facer? Que tiña que pasar? Que aconteceu en realidade?",
"Please describe the bug and/or send logs.": "Por favor describa a incidencia e/ou envíe o informe.",
"Please install <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": "funcionando grazas a Matrix",
"powered by Matrix": "funciona grazas a Matrix",
"Quote": "Cita",
"Reject": "Rexeitar",
"Remove %(name)s from the directory?": "Eliminar %(name)s do directorio?",
@@ -108,7 +108,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot no se pode executar na web móbil. Instalar a app?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utiliza características avanzadas do navegador, algunhas das cales non están dispoñibles ou son experimentales no seu navegador actual.",
"Room not found": "Non se atopou a sala",
"Search": "Buscar",
"Search": "Busca",
"Search…": "Buscar…",
"Search for a room": "Buscar unha sala",
"Send": "Enviar",
@@ -128,7 +128,7 @@
"Unavailable": "Non dispoñible",
"Unhide Preview": "Desagochar a vista previsa",
"Unknown device": "Dispositivo descoñecido",
"unknown error code": "código de erro descoñecido",
"unknown error code": "código de fallo descoñecido",
"Unnamed room": "Sala sen nome",
"Update": "Actualizar",
"Uploaded on %(date)s by %(user)s": "Subido a %(date)s por %(user)s",
@@ -139,7 +139,7 @@
"What's new?": "Qué hai de novo?",
"Waiting for response from server": "Agardando pola resposta do servidor",
"When I'm invited to a room": "Cando son convidado a unha sala",
"World readable": "Visible por todo o mundo",
"World readable": "Visible por todos",
"You cannot delete this image. (%(code)s)": "Non pode eliminar esta imaxe. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Non pode eliminar esta mensaxe. (%(code)s)",
"You are not receiving desktop notifications": "Non está a recibir notificacións de escritorio",
@@ -193,7 +193,7 @@
"Dev chat for the Dendrite dev team": "Chat para o equipo de desenvolvemento de Dendrite",
"Co-ordination for Riot/Web translators": "Coordinación para tradutores de Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Xa existen multitude de salas en Matrix, ligadas a redes existentes (Slack, IRC, Gitter etc) ou independentes. Busque no directorio!",
"Failed to change password. Is your password correct?": "Non se mudou o contrasinal. É correcto o contrasinal introducido?",
"Failed to change password. Is your password correct?": "Fallo ao cambiar o contrasinal. É correcto o contrasinal?",
"You have successfully set a password!": "Mudou con éxito o seu contrasinal!",
"You can now return to your account after signing out, and sign in on other devices.": "Pode voltar a súa contra tras desconectarse, e conectarse en outros dispositivos.",
"Continue": "Continuar",
@@ -212,10 +212,19 @@
"Edit": "Editar",
"Send Account Data": "Enviar datos da conta",
"Explore Account Data": "Explorar datos da conta",
"Unpin Message": "Non fixar mensaxe",
"Unpin Message": "Desfixar mensaxe",
"Pin Message": "Fixar mensaxe",
"Register": "Rexistrar",
"Register": "Rexistar",
"Rooms": "Salas",
"Invite to this community": "Convidar a esta comunidade",
"Add rooms to this community": "Engadir salas a esta comunidade"
"Add rooms to this community": "Engadir salas a esta comunidade",
"Appear Offline": "Aparecer fora de liña",
"Away": "Fóra",
"Please install <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.": "קרתה שגיאה בזמן שמירת הגדרות התראה באמצעות הדואר האלקטרוני.",

View File

@@ -1,108 +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",
"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",
"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 e-mail é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 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 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",
"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": "Nincsenek megjelenítendő szobák",
"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.",
"powered by Matrix": "Matrixon alapul",
"Quote": "Idézet",
"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örlés",
"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ű.",
"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",
"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.",
"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",
"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",
"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és: %(date)s, %(user)s",
"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",
"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",
@@ -112,8 +112,8 @@
"Saturday": "Szombat",
"Today": "Ma",
"Yesterday": "Tegnap",
"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.": "Elérhető egy új Riot verzió.",
"All Rooms": "Minden szobában",
@@ -121,101 +121,110 @@
"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",
"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",
"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!",
"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>": "A fiókba való visszalépéshez <u>jelszót</u> kell beállítanod",
"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.": "Frissítés nem érthető el.",
"No update available.": "Nincs elérhető frissítés.",
"Downloading update...": "Frissítés letöltése...",
"Couldn't load home page": "Kezdőképernyő betöltése sikertelen",
"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.": "Egyéni esemény elküldése nem sikerült.",
"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 felfedezése",
"Event sent!": "Esemény elküldve!",
"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": "Állapot kulcs",
"State Key": "Állapotkulcs",
"Filter results": "Találatok szűrése",
"You must specify an event type!": "Meg kell határoznod az esemény típusát!",
"Show message in desktop notification": "Üzenetek megmutatása az asztali értesítésekben",
"Pin Message": "Üzenet kitűzé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.": "Bejelentkezhetsz más Matrix szerverbe ha használhatod a saját szerver opciót és megadod egy másik szerver URL-jét.<br/>Ezzel egy másik szerveren egy már meglévő fiókot tudsz használni.<br/><br/>Beállíthatsz egyedi azonosító szervert de akkor nem tudsz másokat e-mail cím alapján meghívni és téged sem tudnak.",
"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ál",
"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": "Szerszámok",
"Send Account Data": "Fiók adatok küldése",
"Explore Account Data": "Fiók adatok böngészése"
"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

@@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Tambahkan alamat email di atas untuk konfigurasi notifikasi email",
"Advanced notification settings": "Pengaturan notifikasi lanjutan",
"All messages": "Semua pesan",
"All messages (loud)": "Semua pesan (keras)",
"All messages (noisy)": "Semua pesan (keras)",
"All Rooms": "Semua Ruang",
"All notifications are currently disabled for all targets.": "Semua notifikasi saat ini dinonaktifkan untuk semua target.",
"An error occurred whilst saving your email notification preferences.": "Terjadi kesalahan saat menyimpan preferensi notifikasi email Anda.",
@@ -191,5 +191,10 @@
"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"
"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

@@ -4,7 +4,7 @@
"Add an email address above to configure email notifications": "Aggiungi un indirizzo email sopra per configurare le notifiche via email",
"Advanced notification settings": "Impostazioni di notifica avanzate",
"All messages": "Tutti i messaggi",
"All messages (loud)": "Tutti i messaggi (rumoroso)",
"All messages (noisy)": "Tutti i messaggi (rumoroso)",
"All Rooms": "Tutte le stanze",
"An error occurred whilst saving your email notification preferences.": "Si è verificato un errore durante il salvataggio delle tue preferenze sulle notifiche email.",
"Call invitation": "Invito ad una chiamata",
@@ -207,5 +207,24 @@
"Event Content": "Contenuto dell'Evento",
"State Key": "Chiave dello Stato",
"Show message in desktop notification": "Mostra i messaggi nelle notifiche desktop",
"Edit": "Modifica"
"Edit": "Modifica",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<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"
}

View File

@@ -1,6 +1,6 @@
{
"All messages": "全ての発言",
"All messages (loud)": "全ての発言(通知音あり)",
"All messages (noisy)": "全ての発言(通知音あり)",
"Cancel": "取消",
"Close": "閉じる",
"Direct Chat": "対話",
@@ -52,5 +52,26 @@
"Filter room names": "部屋名検索",
"Forget": "忘れる",
"Leave": "退室",
"Files": "添付ファイル"
"Files": "添付ファイル",
"Unknown device": "不明な端末",
"Collecting app version information": "アプリのバージョン情報を収集",
"Collecting logs": "ログの収集",
"Uploading report": "レポートのアップロード",
"Messages containing my display name": "自身の表示名を含むメッセージ",
"Messages containing my user name": "自身のユーザー名を含むメッセージ",
"Messages in one-to-one chats": "一対一のチャットでのメッセージ",
"Messages in group chats": "グループチャットのメッセージ",
"When I'm invited to a room": "部屋に招待された時",
"Messages sent by bot": "ボットから送信されたメッセージ",
"Error saving email notification preferences": "電子メール通知設定の保存エラー",
"An error occurred whilst saving your email notification preferences.": "電子メール通知設定を保存中にエラーが発生しました。",
"Keywords": "キーワード",
"Enter keywords separated by a comma:": "キーワードをコンマで区切って入力:",
"OK": "OK",
"Operation failed": "操作に失敗しました",
"Can't update user notification settings": "ユーザー通知の設定を更新できません",
"Failed to update keywords": "キーワードの更新に失敗しました",
"Messages containing <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.": "이메일 알림을 설정하다가 오류가 일어났어요.",
@@ -191,5 +191,14 @@
"Error encountered (%(errorDetail)s).": "오류가 일어났어요 (%(errorDetail)s).",
"No update available.": "업데이트가 없어요.",
"Downloading update...": "업데이트를 받는 중...",
"Couldn't load home page": "중심 화면을 불러올 수 없어요"
"Couldn't load home page": "중심 화면을 불러올 수 없어요",
"Show message in desktop notification": "컴퓨터 알림에서 내용 보이기",
"Appear Offline": "미접속으로 표시하기",
"Bug report sent": "오류 보고서를 보냈어요",
"Thank you!": "감사합니다!",
"Back": "돌아가기",
"Edit": "수정하기",
"Toolbox": "도구상자",
"Developer Tools": "개발자 도구",
"Register": "등록"
}

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"
}

View File

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

View File

@@ -2,7 +2,7 @@
"Add an email address above to configure email notifications": "Legg til en epost adresse for å sette opp epost varsling",
"Advanced notification settings": "Avanserte varslingsinnstillinger",
"All messages": "Alle meldinger",
"All messages (loud)": "Alle meldinger (høy)",
"All messages (noisy)": "Alle meldinger (høy)",
"All notifications are currently disabled for all targets.": "Alle varsler er deaktivert for alle mottakere.",
"An error occurred whilst saving your email notification preferences.": "En feil oppsto i forbindelse med lagring av epost varsel innstillinger.",
"Cancel Sending": "Avbryt sending",

View File

@@ -2,7 +2,7 @@
"Add an email address above to configure email notifications": "Voeg een e-mailadres toe om e-mailmeldingen te ontvangen",
"Advanced notification settings": "Geavanceerde meldingsinstellingen",
"All messages": "Alle berichten",
"All messages (loud)": "Alle berichten (luid)",
"All messages (noisy)": "Alle berichten (luid)",
"All notifications are currently disabled for all targets.": "Alle meldingen zijn momenteel uitgeschakeld voor alle doelen.",
"An error occurred whilst saving your email notification preferences.": "Er is een fout opgetreden tijdens het opslaan van uw e-mailmeldingsvoorkeuren.",
"Call invitation": "Oproep-uitnodiging",
@@ -40,7 +40,7 @@
"Files": "Bestanden",
"Filter room names": "Filter kamernamen",
"Forget": "Vergeten",
"Guests can join": "Gasten kunnen deelnemen",
"Guests can join": "Gasten kunnen toetreden",
"Invite to this room": "Uitnodigen voor deze kamer",
"Keywords": "Trefwoorden",
"Leave": "Verlaten",
@@ -54,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",
@@ -66,7 +66,7 @@
"Operation failed": "Actie mislukt",
"Permalink": "Permanente link",
"powered by Matrix": "mogelijk gemaakt door Matrix",
"Quote": "Citeer",
"Quote": "Citeren",
"Reject": "Afwijzen",
"Remove %(name)s from the directory?": "%(name)s uit de kamerlijst verwijderen?",
"Remove": "Verwijderen",
@@ -85,12 +85,12 @@
"Unable to look up room ID from server": "Het is mislukt om de kamer-ID op te halen van de server",
"Unhide Preview": "Zichtbaar maken preview",
"unknown error code": "onbekende foutcode",
"Unnamed room": "Kamer zonder naam",
"Unnamed room": "Ruimte zonder naam",
"Uploaded on %(date)s by %(user)s": "Geüpload op %(date)s door %(user)s",
"View Decrypted Source": "Bekijk ontsleutelde bron",
"View Source": "Bekijk bron",
"When I'm invited to a room": "Wanneer ik uitgenodigd word voor een kamer",
"World readable": "Door iedereen leesbaar",
"World readable": "Leesbaar voor iedereen",
"You cannot delete this image. (%(code)s)": "Je kunt deze afbeelding niet verwijderen. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Je kunt dit bericht niet verwijderen. (%(code)s)",
"You are not receiving desktop notifications": "Je ontvangt momenteel geen desktopmeldingen",
@@ -129,7 +129,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot wordt niet ondersteund op het mobiele web. Wil je de app installeren?",
"Search": "Zoeken",
"Search…": "Zoeken…",
"Send": "Versturen",
"Send": "Verstuur",
"Send logs": "Logboeken versturen",
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, uw browser werkt <b>niet</b> met Riot.",
"This Room": "Deze kamer",
@@ -205,5 +205,26 @@
"Event sent!": "Event verstuurd!",
"Event Type": "Event-type",
"Event Content": "Event-inhoud",
"State Key": "Toestandssleutel"
"State Key": "Toestandssleutel",
"Show message in desktop notification": "Toon boodschap in bureaublad popup",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<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.",
@@ -214,5 +214,11 @@
"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"
"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,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar as notificações por email",
"All messages": "Todas as mensagens",
"All messages (loud)": "Todas as mensagens (alto)",
"All messages (noisy)": "Todas as mensagens (alto)",
"An error occurred whilst saving your email notification preferences.": "Ocorreu um erro ao guardar as suas preferências de notificação por email.",
"Call invitation": "Convite para chamada",
"Cancel Sending": "Cancelar o envio",

View File

@@ -1,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar suas notificações por email",
"All messages": "Todas as mensagens",
"All messages (loud)": "Todas as mensagens (alto)",
"All messages (noisy)": "Todas as mensagens (alto)",
"An error occurred whilst saving your email notification preferences.": "Um erro ocorreu enquanto o sistema estava salvando suas preferências de notificação por email.",
"Call invitation": "Convite para chamada",
"Cancel Sending": "Cancelar o envio",
@@ -23,7 +23,7 @@
"Enter keywords separated by a comma:": "Coloque cada palavras-chave separada por vírgula:",
"Error": "Erro",
"Error saving email notification preferences": "Erro ao salvar as preferências de notificação por email",
"Failed to add tag %(tagName)s to room": "Falha ao adicionar %(tagName)s à sala",
"Failed to add tag %(tagName)s to room": "Falha ao adicionar a tag %(tagName)s para a sala",
"Failed to change settings": "Falhou ao mudar as preferências",
"Failed to forget room %(errCode)s": "Falhou ao esquecer a sala %(errCode)s",
"Failed to update keywords": "Falha ao alterar as palavras-chave",
@@ -37,7 +37,7 @@
"Filter room names": "Filtrar salas por título",
"Forget": "Esquecer",
"Forward Message": "Encaminhar",
"Guests can join": "Convidados podem entrar",
"Guests can join": "Convidadas/os podem entrar",
"Invite to this room": "Convidar para esta sala",
"Keywords": "Palavras-chave",
"Leave": "Sair",
@@ -51,7 +51,7 @@
"Messages sent by bot": "Mensagens enviadas por bots",
"more": "ver mais",
"Mute": "Mudo",
"No rooms to show": "Não existem salas a serem exibidas",
"No rooms to show": "Nenhuma sala para mostrar",
"Noisy": "Barulhento",
"Notification targets": "Alvos de notificação",
"Notifications": "Notificações",
@@ -87,7 +87,7 @@
"View Decrypted Source": "Ver a fonte descriptografada",
"View Source": "Ver a fonte",
"When I'm invited to a room": "Quando sou convidada(o) a uma sala",
"World readable": "Público",
"World readable": "Aberto publicamente à leitura",
"You cannot delete this image. (%(code)s)": "Você não pode apagar esta imagem. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Você não pode apagar esta mensagem. (%(code)s)",
"You are not receiving desktop notifications": "Você não está recebendo notificações desktop",
@@ -102,7 +102,7 @@
"Today": "Hoje",
"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",
"Failed to remove tag %(tagName)s from room": "Falha ao remover a tag %(tagName)s da sala",
"Advanced notification settings": "Configurações avançadas de notificação",
"customServer_text": "Você pode usar as opções de servidor personalizado para entrar em outros servidores Matrix, especificando uma URL de outro Servidor de Base.<br/> Isso permite que você use Riot com uma conta Matrix que exista em outro Servidor de Base.<br/> <br/> Você também pode configurar um servidor de Identidade personalizado, mas neste caso não poderá convidar usuárias(os) pelo endereço de e-mail, ou ser convidado(a) 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> funcionam também.",
@@ -205,5 +205,26 @@
"Event sent!": "Evento enviado!",
"Event Type": "Tipo do Evento",
"Event Content": "Conteúdo do Evento",
"State Key": "Chave do Estado"
"State Key": "Chave do Estado",
"Show message in desktop notification": "Mostrar mensagens na notificação",
"Appear Offline": "Aparecer Desconectado",
"Away": "Ausente",
"Send Account Data": "Enviar Dados da Conta",
"Edit": "Editar",
"Explore Account Data": "Explorar Dados da Conta",
"Toolbox": "Ferramentas",
"Unpin Message": "Desafixar Mensagem",
"Pin Message": "Fixar Mensagem",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Por favor Instale <chromeLink>Chrome</chromeLink> Ou <firefoxLink>Firefox</firefoxLink> para uma melhor Experiencia.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> e <operaLink>Opera</operaLink> Funciona bem.",
"Register": "Registre-se",
"%(count)s Members|other": "%(count)s Membros",
"Rooms": "Salas",
"Invite to this community": "Convidar para essa comunidade",
"Add rooms to this community": "Adicionar salas na comunidade",
"Reply": "Responder",
"%(count)s Members|one": "%(count)s Membros",
"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.": "Você pode usar as opções customizadas de servidor para conectar-se a outros servidores Matrix ao especificar uma outra URL de Servidor de Base (homeserver).<br/> Isso permite que você use o Riot com uma conta Matrix existente em outro servidor de base.<br/><br/>Você também pode definir um servidor de identidade customizado, mas neste caso você não poderá convidar outras pesoas por endereço de email, ou ser convidada/o pelo seu endereço de email.",
"Online": "Conectada/o",
"View Community": "Ver a comunidade"
}

View File

@@ -63,7 +63,7 @@
"You are not receiving desktop notifications": "Вы не получаете уведомления на рабочем столе",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Возможно вы настроили их не в Riot, а в другом Matrix-клиенте. Настроить их в Riot не удастся, но они будут в нем применяться",
"All messages": "Все сообщения",
"All messages (loud)": "Все сообщения (со звуком)",
"All messages (noisy)": "Все сообщения (со звуком)",
"Cancel Sending": "Отменить отправку",
"Close": "Закрыть",
"Download this file": "Скачать этот файл",
@@ -132,7 +132,7 @@
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot использует многие передовые возможности браузера, некоторые из которых недоступны или являются экспериментальным в вашем текущем браузере.",
"Search": "Поиск",
"Search…": "Поиск.…",
"Send": "Отослать",
"Send": "Отправить",
"Send logs": "Отправка журналов",
"Sorry, your browser is <b>not</b> able to run Riot.": "К сожалению, ваш браузер <b>не способен</b> запустить Riot.",
"This Room": "Эта комната",
@@ -217,5 +217,14 @@
"Add rooms to this community": "Добавить комнаты в это сообщество",
"Toolbox": "Панель инструментов",
"Send Account Data": "Отправить данные аккаунта",
"Explore Account Data": "Просмотр данных аккаунта"
"Explore Account Data": "Просмотр данных аккаунта",
"Away": "Нет на месте",
"Appear Offline": "Отображать как не в сети",
"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> работают тоже.",
"Reply": "Ответить",
"%(count)s Members|other": "%(count)s членов",
"%(count)s Members|one": "%(count)s член",
"Online": "Онлайн",
"View Community": "Просмотр сообщества"
}

View File

@@ -44,8 +44,8 @@
"On": "Povolené",
"Noisy": "Hlučné",
"Failed to set direct chat tag": "Nepodarilo sa nastaviť značku priama konverzácia",
"Failed to remove tag %(tagName)s from room": "Nepodarilo sa odstrániť značku %(tagName)s pre túto miestnosť",
"Failed to add tag %(tagName)s to room": "Nepodarilo sa pridať značku %(tagName)s pre túto miestnosť",
"Failed to remove tag %(tagName)s from room": "Z miestnosti sa nepodarilo odstrániť značku %(tagName)s",
"Failed to add tag %(tagName)s to room": "Miestnosti sa nepodarilo pridať značku %(tagName)s",
"Search…": "Hľadať…",
"Search": "Vyhľadávanie",
"This Room": "V tejto miestnosti",
@@ -94,7 +94,7 @@
"Describe your problem here.": "Tu popíšte váš problém.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "S cieľom lepšej diagnostiky problému sa spolu s vašim hlásením odošlú záznami o činnosti programu Riot. Ak si želáte odoslať len text hlásenia, odškrtnite nasledujúce pole:",
"Send logs": "Zahrnúť záznamy",
"Send": "Poslať",
"Send": "Odoslať",
"Unavailable": "Nedostupné",
"Changelog": "Zoznam zmien",
"Back": "Naspäť",
@@ -130,12 +130,12 @@
"View Decrypted Source": "Zobraziť dešifrovaný zdroj",
"Unhide Preview": "Zobraziť náhľad",
"Permalink": "Trvalý odkaz",
"Quote": "Citovať",
"Quote": "Citácia",
"Source URL": "Pôvodná URL",
"Failed to set Direct Message status of room": "Nepodarilo sa nastaviť stav miestnosti priama konverzácia",
"unknown error code": "neznámy kód chyby",
"Failed to forget room %(errCode)s": "Nepodarilo sa zabudnuť miestnosť %(errCode)s",
"All messages (loud)": "Všetky správy (hlučné)",
"All messages (noisy)": "Všetky správy (hlučné)",
"All messages": "Všetky správy",
"Mentions only": "Len zmienky",
"Mute": "Umlčať",
@@ -178,7 +178,7 @@
"Couldn't find a matching Matrix room": "Nie je možné nájsť zodpovedajúcu Matrix miestnosť",
"Fetching third party location failed": "Nepodarilo sa získať umiestnenie tretej strany",
"Unable to look up room ID from server": "Nie je možné vyhľadať ID miestnosti na servery",
"World readable": "Viditeľná pre všetkých",
"World readable": "Viditeľné pre každého",
"Guests can join": "Pripojiť sa môžu aj hostia",
"Directory": "Adresár",
"No rooms to show": "Žiadne miestnosti na zobrazenie",
@@ -215,5 +215,12 @@
"Contributing code to Matrix and Riot": "Prispievanie kódu projektom Matrix a Riot",
"Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web",
"Dev chat for the Dendrite dev team": "Diskusia pre tím vývojárov Dendrite",
"Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web"
"Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web",
"Appear Offline": "Zdá sa byť nedostupný",
"Away": "Preč",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Aby ste s používania mali čo možno najlepší dojem, nainštalujte si <chromeLink>Chrome</chromeLink> alebo <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Správne fungujú aj <safariLink>Safari</safariLink> a <operaLink>Opera</operaLink>.",
"Reply": "Odpovedať",
"%(count)s Members|other": "%(count)s Členov",
"%(count)s Members|one": "%(count)s Člen"
}

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

@@ -0,0 +1,227 @@
{
"Riot is not supported on mobile web. Install the app?": "RIot не ради на мобилном вебу. Инсталирати апликацију?",
"Collecting app version information": "Прикупљам податке о издању апликације",
"Collecting logs": "Прикупљам записнике",
"Uploading report": "Отпремам извештај",
"Waiting for response from server": "Чекам на одговор са сервера",
"Riot Desktop on %(platformName)s": "Riot стони програм за %(platformName)s",
"Unknown device": "Непознати уређај",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s преко прегледача %(browserName)s на систему %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Морате користити HTTPS да бисте започели позив са дељењем екрана.",
"Messages containing my display name": "Поруке које садрже моје приказно име",
"Messages containing my user name": "Поруке које садрже моје корисничко име",
"Messages in one-to-one chats": "Поруке у један-на-један ћаскањима",
"Messages in group chats": "Поруке у групним ћаскањима",
"When I'm invited to a room": "Када сам позван у собу",
"Call invitation": "Позивница за позив",
"Messages sent by bot": "Поруке послате од бота",
"Error saving email notification preferences": "Грешка при чувању поставки мејл обавештења",
"An error occurred whilst saving your email notification preferences.": "Догодила се грешка при чувању ваших поставки мејл обавештења.",
"Keywords": "Кључне речи",
"Enter keywords separated by a comma:": "Унесите кључне речи одвојене зарезима:",
"OK": "У реду",
"Failed to change settings": "Нисам успео да променим подешавања",
"Operation failed": "Радња није успела",
"Can't update user notification settings": "Не могу да ажурирам корисничка подешавања обавештења",
"Failed to update keywords": "Нисам успео да ажурирам кључне речи",
"Messages containing <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": "Бучно",
"Failed to set direct chat tag": "Нисам успео да поставим ознаку директног ћаскања",
"Failed to remove tag %(tagName)s from room": "Нисам успео да скинем ознаку %(tagName)s са собе",
"Failed to add tag %(tagName)s to room": "Нисам успео да додам ознаку %(tagName)s на собу",
"Search…": "Претрага…",
"Search": "Претрага",
"This Room": "Ова соба",
"All Rooms": "Све собе",
"Sunday": "Недеља",
"Monday": "Понедељак",
"Tuesday": "Уторак",
"Wednesday": "Среда",
"Thursday": "Четвртак",
"Friday": "Петак",
"Saturday": "Субота",
"Today": "Данас",
"Yesterday": "Јуче",
"Custom Server Options": "Прилагођене опције сервера",
"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.": "Можете користити опције прилагођеног сервера за пријаву у друге Матрикс сервере навођењем другачије адресе кућног сервера.<br/>Ово вам омогућава да користите Riot са постојећим Матрикс налогомна другом кућном серверу.<br/><br/>Такође, можете поставити прилагођени идентитески сервер али нећете моћи да позивате кориснике по мејл адреси а ни други вас.",
"Dismiss": "Одбаци",
"powered by Matrix": "покреће Матрикс",
"You are not receiving desktop notifications": "Не примате стона обавештења",
"Enable them now": "Омогућите их сада",
"What's New": "Шта је ново",
"Update": "Ажурирај",
"What's new?": "Шта је ново?",
"Appear Offline": "Прикажи себе као ван мреже",
"Away": "Одустан",
"A new version of Riot is available.": "Ново издање RIot-а је доступно.",
"To return to your account in future you need to <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": "Врста догађаја",
"State Key": "Кључ стања",
"Event Content": "Садржај догађаја",
"Send Account Data": "Пошаљи податке налога",
"Filter results": "Филтрирај резултате",
"Explore Room State": "Истражи стање собе",
"Edit": "Уреди",
"Explore Account Data": "Истражи податке налога",
"Toolbox": "Алатница",
"Developer Tools": "Програмерске алатке",
"You have successfully set a password!": "Успешно сте поставили лозинку!",
"You have successfully set a password and an email address!": "Успешно сте поставили лозинку и мејл адресу!",
"You can now return to your account after signing out, and sign in on other devices.": "Можете се вратити у ваш налог након што се одјавите и пријавите поново, на другим уређајима.",
"Remember, you can always set an email address in user settings if you change your mind.": "Запамтите, увек можете поставити мејл адресу у корисничким подешавањима, уколико се предомислите.",
"Continue": "Настави",
"Failed to change password. Is your password correct?": "Нисам успео да променим лозинку. Да ли је ваша лозинка тачна?",
"(HTTP status %(httpStatus)s)": "(HTTP стање %(httpStatus)s)",
"Please set a password!": "Поставите лозинку!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Ово ће вам омогућити да се вратите у ваш налог након што се одјавите и пријавите, на другим уређајима.",
"You cannot delete this message. (%(code)s)": "Не можете обрисати ову поруку. (%(code)s)",
"Resend": "Поново пошаљи",
"Cancel Sending": "Откажи слање",
"Forward Message": "Проследи поруку",
"Unpin Message": "Откачи поруку",
"Pin Message": "Закачи поруку",
"View Source": "Погледај извор",
"View Decrypted Source": "Погледај дешифровани извор",
"Unhide Preview": "Откриј преглед",
"Permalink": "Трајна веза",
"Quote": "Цитат",
"Source URL": "Адреса извора",
"Failed to set Direct Message status of room": "Нисам успео да подесим стање директне поруке собе",
"unknown error code": "непознати код грешке",
"Failed to forget room %(errCode)s": "Нисам успео да заборавим собу %(errCode)s",
"All messages (loud)": "Све поруке (гласно)",
"All messages": "Све поруке",
"Mentions only": "Само спомињања",
"Mute": "Утишај",
"Leave": "Напусти",
"Forget": "Заборави",
"Reject": "Одбаци",
"Favourite": "Омиљено",
"Low Priority": "Најмања важност",
"Direct Chat": "Директно ћаскање",
"Sorry, your browser is <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>Сафари</safariLink> и <operaLink>Опера</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": "Регистровање",
"Invite to this room": "Позови у ову собу",
"Members": "Чланови",
"Files": "Датотеке",
"Notifications": "Обавештења",
"Rooms": "Собе",
"Hide panel": "Сакриј површ",
"Invite to this community": "Позови у ову заједницу",
"Add rooms to this community": "Додај собе у ову заједницу",
"Failed to get protocol list from Home Server": "Нисам успео да добијем списак протокола од кућног сервера",
"The Home Server may be too old to support third party networks": "Кућни сервер је можда сувише застарео да би подржао мреже трећих страна",
"Failed to get public room list": "Нисам успео да добавим списак јавних соба",
"The server may be unavailable or overloaded": "Сервер је можда недоступан или преоптерећен",
"Unnamed room": "Неименована соба",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Обрисати алијас собе %(alias)s и уклонити %(name)s из фасцикле?",
"Remove %(name)s from the directory?": "Уклонити %(name)s из фасцикле?",
"Remove from Directory": "Уклони из фасцикле",
"remove %(name)s from the directory.": "уклони %(name)s из фасцикле.",
"delete the alias.": "обриши алијас.",
"Unable to join network": "Не могу да приступим мрежи",
"Riot does not know how to join a room on this network": "Riot не зна како да приступи соби на овој мрежи",
"Room not found": "Соба није пронађена",
"Couldn't find a matching Matrix room": "Не могу да нађем одговарајућу Матрикс собу",
"Fetching third party location failed": "Добављање локације треће стране није успело",
"Unable to look up room ID from server": "Не могу да погледам ИБ собе на серверу",
"World readable": "Читљиво за све",
"Guests can join": "Гости могу приступити",
"Directory": "Фасцикла",
"No rooms to show": "Нема соба за приказ",
"Search for a room": "Потражи собу",
"#example": "#пример",
"more": "више",
"Expand panel": "Прошири површ",
"Collapse panel": "Скупи површ",
"Filter room names": "Филтрирај називе соба",
"Welcome to Riot.im": "Добродошли у Riot.im",
"Decentralised, encrypted chat &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!": "Много соба већ постоји у Матриксу, неке су повезане на постојеће мреже (Slack, IRC, Gitter итд.) а неке независне. Погледајте фасциклу!",
"Chat with Riot Bot": "Ћаскајте са Riot ботом",
"Get started with some tips from Riot Bot!": "Крените уз пар савета од Riot бота!",
"General discussion about Matrix and Riot": "Општи разговори о Матриксу и Riot-у",
"Discussion of all things Matrix!": "Разговори о свим Матрикс стварима!",
"Riot/Web &amp; Desktop chat": "Riot/веб и стоно ћаскање",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS и matrix-ios-sdk ћаскање",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Андроид и matrix-android-sdk ћаскање",
"Matrix technical discussions": "Технички разговори о Матриксу",
"Running Matrix services": "Покренуте Матрикс услуге",
"Community-run support for Synapse": "Подршка од стране заједнице за Synapse",
"Admin support for Dendrite": "Администраторска подршка за Dendrite",
"Announcements about Synapse releases": "Објаве поводом нових Synapse издања",
"Support for those using and running matrix-appservice-irc": "Подршка за оне који користе и одржавају matrix-appservice-irc",
"Building services on Matrix": "Стварање услуга уз помоћ Матрикса",
"Support for those using the Matrix spec": "Подршка за оне који користе Матрикс спецификацију",
"Design and implementation of E2E in Matrix": "Дизајн и имплементација E2E у Матриксу",
"Implementing VR services with Matrix": "Израда услуга за ВР уз Матрикс",
"Implementing VoIP services with Matrix": "Израда VoIP услуга уз Матрикс",
"Discussion of the Identity Service API": "Разговори о API-ју идентитетског сервиса",
"Support for those using, running and writing other bridges": "Подршка за оне који користе, одржавају и пишу друге мостове",
"Contributing code to Matrix and Riot": "Додавање кода у Матрикс и Riot",
"Dev chat for the Riot/Web dev team": "Програмерско ћаскање за Riot/веб програмерски тим",
"Dev chat for the Dendrite dev team": "Програмерско ћаскање за Dendrite програмерски тим",
"Co-ordination for Riot/Web translators": "Координација за Riot/веб преводиоце",
"Reply": "Одговори",
"All messages (noisy)": "Све поруке (гласно)",
"%(count)s Members|other": "%(count)s чланова",
"%(count)s Members|one": "%(count)s члан",
"Online": "На мрежи",
"View Community": "Погледај заједницу"
}

View File

@@ -2,7 +2,7 @@
"Add an email address above to configure email notifications": "Lägg till en epostadress här för att konfigurera epostaviseringar",
"Advanced notification settings": "Avancerade aviseringsinställingar",
"All messages": "Alla meddelanden",
"All messages (loud)": "Alla meddelanden (högljudd)",
"All messages (noisy)": "Alla meddelanden (högljudd)",
"All notifications are currently disabled for all targets.": "Alla aviseringar är för tillfället avstängda för alla mål.",
"An error occurred whilst saving your email notification preferences.": "Ett fel uppstod då epostaviseringsinställningarna sparades.",
"Call invitation": "Inbjudan till samtal",
@@ -196,5 +196,16 @@
"Thank you!": "Tack!",
"Back": "Tillbaka",
"Filter results": "Filtrera resultaten",
"Explore Room State": "Utforska rumläget"
"Explore Room State": "Utforska rumläget",
"Show message in desktop notification": "Visa meddelande i skrivbordsavisering",
"Edit": "Editera",
"Reply": "Svara",
"Online": "Aktiv",
"Away": "Borta",
"Appear Offline": "Visa som utloggad",
"Register": "Registrera",
"%(count)s Members|other": "%(count)s 1 Medlemmar",
"%(count)s Members|one": "%(count)s 1 Medlem",
"Rooms": "Rum",
"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 använda anpassade serverinställningar för att logga in på andra Matrix-servrar genom att ange en annan hemserver-URL.<BR/>Du kan då använda Riot med ett befintligt Matrix-konto på en annan hemserver.<br/><br/>Du kan också ange en anpassad identitetsserver men kommer då inte kunna bjuda in användare med epostadress, eller själv bli inbjuden med epostadress."
}

View File

@@ -4,7 +4,7 @@
"Add an email address above to configure email notifications": "மின்னஞ்சல் மூலம் அறிவிப்புகளை பெற உங்கள் மின்னஞ்சல் முகவரியை மேலே இணைக்கவும்",
"Advanced notification settings": "மேம்பட்ட அறிவிப்பிற்கான அமைப்புகள்",
"All messages": "அனைத்து செய்திகள்",
"All messages (loud)": "அனைத்து செய்திகள் (உரக்க)",
"All messages (noisy)": "அனைத்து செய்திகள் (உரக்க)",
"All Rooms": "அனைத்து அறைகள்",
"All notifications are currently disabled for all targets.": "அனைத்து இலக்குகளுக்கான அனைத்து அறிவுப்புகளும் தற்போது முடக்கி வைக்கப்பட்டுள்ளது.",
"An error occurred whilst saving your email notification preferences.": "உங்கள் மின்னஞ்சல் அறிவிப்பு விருப்பங்களை சேமிப்பதில் ஏதோ பிழை ஏற்பட்டுள்ளது.",

View File

@@ -16,7 +16,7 @@
"Add an email address above to configure email notifications": "ఇమెయిల్ ప్రకటనలను రూపశిల్పం చేయడానికి ఎగువ ఇమెయిల్ చిరునామాను జోడించండి",
"Advanced notification settings": "ఆధునిక తాఖీదు అమరిక",
"All messages": "అన్ని సందేశాలు",
"All messages (loud)": "అన్ని సందేశాలు (గట్టిగ)",
"All messages (noisy)": "అన్ని సందేశాలు (గట్టిగ)",
"All Rooms": "అన్ని గదులు",
"Call invitation": "మాట్లాడడానికి ఆహ్వానం",
"Cancel Sending": "పంపడాన్ని ఆపేయండి",

View File

@@ -81,7 +81,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot ไม่รองรับเว็บบนอุปกรณ์พกพา ติดตั้งแอป?",
"Riot does not know how to join a room on this network": "Riot ไม่รู้วิธีเข้าร่วมห้องในเครือข่ายนี้",
"Direct Chat": "แชทโดยตรง",
"All messages (loud)": "ทุกข้อความ (เสียงดัง)",
"All messages (noisy)": "ทุกข้อความ (เสียงดัง)",
"Custom Server Options": "กำหนดเซิร์ฟเวอร์เอง",
"Directory": "ไดเรกทอรี",
"Enable audible notifications in web client": "เปิดใช้งานเสียงแจ้งเตือนบนเว็บไคลเอนต์",

View File

@@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "E-posta bildirimlerini yapılandırmak için yukarıya bir e-posta adresi ekleyin",
"Advanced notification settings": "Gelişmiş bildirim ayarları",
"All messages": "Tüm mesajlar",
"All messages (loud)": "Tüm mesajlar (uzun)",
"All messages (noisy)": "Tüm mesajlar (uzun)",
"All Rooms": "Tüm Odalar",
"All notifications are currently disabled for all targets.": "Tüm bildirimler şu anda tüm hedefler için devre dışı bırakılmıştır.",
"An error occurred whilst saving your email notification preferences.": "E-posta bildirim tercihlerinizi kaydetme işlemi sırasında bir hata oluştu.",

View File

@@ -1,7 +1,7 @@
{
"A new version of Riot is available.": "Доступне оновлення для Riot.",
"All messages": "Усі повідомлення",
"All messages (loud)": "Усі повідомлення (гучно)",
"All messages (noisy)": "Усі повідомлення (гучно)",
"All Rooms": "Усі кімнати",
"All notifications are currently disabled for all targets.": "Сповіщення для усіх цілей на даний момент вимкнені.",
"An error occurred whilst saving your email notification preferences.": "Під час збереження налаштувань сповіщень е-поштою трапилася помилка.",
@@ -216,5 +216,11 @@
"Add rooms to this community": "Добавити кімнати в це суспільство",
"Toolbox": "Панель інструментів",
"Send Account Data": "Відправити данні аккаунта",
"Explore Account Data": "Продивитись данні аккаунта"
"Explore Account Data": "Продивитись данні аккаунта",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<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, вказав другий URL-адресу домашнього сервера. <br/>Це дозволяє використовувати Riot з обліковим записом Matrix який існує на другому домашньому сервері.<br/><br/>Окрім цього, можливо встановити ідентифікаційний сервер користувача, але ви не зможете запросити других користувачів та бути запрошенному використовуючи адресу електронної пошти.",
"Appear Offline": "Відображати як не в мережі",
"Away": "Нема на місці",
"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> працюють теж.",
"Reply": "Відповісти"
}

View File

@@ -10,7 +10,7 @@
"Add an email address above to configure email notifications": "请在上方输入电子邮件地址以接收邮件通知",
"Advanced notification settings": "通知高级设置",
"All messages": "全部消息",
"All messages (loud)": "全部消息(高亮)",
"All messages (noisy)": "全部消息(高亮)",
"All Rooms": "全部聊天室",
"All notifications are currently disabled for all targets.": "当前所有目标的通知均已禁用。",
"An error occurred whilst saving your email notification preferences.": "保存邮件通知首选项设定时出现错误。",
@@ -63,7 +63,7 @@
"(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:": "为了诊断问题,来自客户端的活动记录会随着这个程序 bug 报告一并发出。如果你只想送出以上文字,请取消勾选:",
"Invite to this room": "邀请加入此聊天室",
"Invite to this room": "邀请别人加入此聊天室",
"Keywords": "关键字",
"Leave": "离开",
"Login": "登录",
@@ -130,7 +130,7 @@
"View Source": "查看源码",
"What's New": "新鲜事",
"What's new?": "有什么新闻?",
"Waiting for response from server": "正在等待来自服务器的回应",
"Waiting for response from server": "正在等待服务器应",
"When I'm invited to a room": "当我被邀请进入聊天室",
"World readable": "公开可读",
"You cannot delete this image. (%(code)s)": "您不能删除这个图片。(%(code)s)",
@@ -203,5 +203,28 @@
"Event sent!": "事件已发出!",
"Event Type": "事件类型",
"Event Content": "事件内容",
"State Key": "状态密钥"
"State Key": "状态密钥",
"Show message in desktop notification": "在桌面通知中显示信息",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<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.": "您可以使用自订的服务器选项,并指定不同的主服务器 URL 来登录其他的 Matrix 服务器。<br/>这让您可以在不同的服务器上以既有的 Matrix 帐号使用 Riot。<br/><br/>您也可以设置一个自订的身份服务器,但您可能无法透过电子邮件地址来邀请用户,或是让别人透过电子邮件邀请您。",
"Toolbox": "工具箱",
"Back": "返回",
"Edit": "编辑",
"Send Account Data": "发送账户数据",
"Explore Account Data": "探索账户数据",
"Explore Room State": "探索聊天室状态",
"Unpin Message": "取消置顶消息",
"Pin Message": "置顶消息",
"Register": "注册",
"Rooms": "聊天室",
"Invite to this community": "邀请加入此社区",
"Add rooms to this community": "添加聊天室到此社区",
"Appear Offline": "似乎离线了",
"Away": "离开",
"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> 也能工作。",
"Reply": "回复",
"Online": "在线",
"View Community": "查看社区",
"%(count)s Members|other": "%(count)s 位成员",
"%(count)s Members|one": "%(count)s 位成员"
}

View File

@@ -8,7 +8,7 @@
"<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> 也能使用。",
"Advanced notification settings": "進階通知設定",
"All messages": "所有訊息",
"All messages (loud)": "所有訊息(吵鬧)",
"All messages (noisy)": "所有訊息(吵鬧)",
"All Rooms": "所有的聊天室",
"Call invitation": "通話邀請",
"Cancel": "取消",
@@ -43,14 +43,14 @@
"Messages sent by bot": "由機器人送出的訊息",
"more": "更多",
"Mute": "靜音",
"No rooms to show": "無聊天室可顯示",
"No rooms to show": "未顯示聊天室",
"Noisy": "吵鬧",
"Notifications": "通知",
"Off": "關閉",
"On": "開啟",
"Operation failed": "操作失敗",
"powered by Matrix": "由 Matrix 架設",
"Quote": "引",
"Quote": "引",
"Remove": "移除",
"Resend": "重新傳送",
"Room not found": "找不到聊天室",
@@ -66,7 +66,7 @@
"Unhide Preview": "取消隱藏預覽",
"Unknown device": "未知裝置",
"unknown error code": "未知的錯誤代碼",
"Unnamed room": "命名的聊天室",
"Unnamed room": "命名的聊天室",
"Update": "更新",
"Uploaded on %(date)s by %(user)s": "由 %(user)s 在 %(date)s 上傳",
"Uploading report": "上傳報告",
@@ -97,19 +97,19 @@
"Enable audible notifications in web client": "在網頁客戶端啟用音訊通知",
"Enter keywords separated by a comma:": "輸入以逗號隔開的關鍵字:",
"Error saving email notification preferences": "儲存電子郵件通知偏好設定時出錯",
"Failed to add tag %(tagName)s to room": "無法為聊天室新增標籤 %(tagName)s",
"Failed to add tag %(tagName)s to room": "新增標籤 %(tagName)s 到聊天室失敗",
"Failed to get protocol list from Home Server": "無法從主機伺服器取得協定清單",
"Failed to get public room list": "無法取得公開的聊天室清單",
"Failed to remove tag %(tagName)s from room": "移除聊天室標籤 %(tagName)s 失敗",
"Failed to remove tag %(tagName)s from room": "聊天室移除標籤 %(tagName)s 失敗",
"Failed to send report: ": "無法傳送報告: ",
"Failed to set direct chat tag": "無法設定私人聊天標籤",
"Failed to set direct chat tag": "設定直接聊天標籤失敗",
"Failed to set Direct Message status of room": "無法設定聊天室的私人訊息狀態",
"Fetching third party location failed": "抓取第三方位置失敗",
"Files": "檔案",
"Filter room names": "過濾聊天室名稱",
"Forget": "忘記",
"Forward Message": "轉寄訊息",
"Guests can join": "訪客可加入",
"Guests can join": "訪客可加入",
"Hide panel": "隱藏面板",
"I understand the risks and wish to continue": "我了解這些風險並願意繼續",
"Invite to this room": "邀請加入這個聊天室",
@@ -141,7 +141,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot 不支援行動版網頁,要安裝應用程式嗎?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Roit 使用了許多先進的瀏覽器功能,有些在你目前所用的瀏覽器上無法使用或僅為實驗中的功能。",
"There are advanced notifications which are not shown here": "有些進階的通知並未在此顯示",
"World readable": "公開可讀",
"World readable": "所有人可讀",
"You cannot delete this image. (%(code)s)": "你不能刪除這個圖片。(%(code)s)",
"You are not receiving desktop notifications": "你將不會收到桌面通知",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "你也許不曾在其它 Riot 之外的客戶端設定它們。在 Riot 底下你無法調整它們但其仍然可用",
@@ -176,7 +176,7 @@
"Implementing VoIP services with Matrix": "使用 Matrix 實作 VoIP 服務",
"Discussion of the Identity Service API": "識別服務 API 的討論",
"Support for those using, running and writing other bridges": "那些使用、執行與撰寫其他橋接的支援",
"Contributing code to Matrix and Riot": "貢獻程式碼給 Matrix Riot",
"Contributing code to Matrix and Riot": " Matrix Riot 做出貢獻",
"Dev chat for the Riot/Web dev team": "Riot/Web 開發團隊的開發聊天",
"Dev chat for the Dendrite dev team": "Dendrite 開發團隊的開發聊天",
"Co-ordination for Riot/Web translators": "Riot/Web 翻譯者的協調區",
@@ -217,5 +217,14 @@
"Add rooms to this community": "新增聊天室到此社群",
"Toolbox": "工具箱",
"Send Account Data": "傳送帳號資料",
"Explore Account Data": "探索帳號資料"
"Explore Account Data": "探索帳號資料",
"Appear Offline": "顯示為離線",
"Away": "離開",
"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> 也可以運作。",
"Reply": "回覆",
"%(count)s Members|other": "%(count)s 個成員",
"%(count)s Members|one": "%(count)s 個成員",
"Online": "線上",
"View Community": "檢視社群"
}

View File

@@ -1,6 +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.
@@ -23,12 +24,7 @@ html {
}
body {
/* Open Sans lacks combining diacritics, so these will fall through
to the next font. Helevetica's diacritics however do not combine
nicely with Open Sans (on OSX, at least) and result in a huge
horizontal mess. Arial empirically gets it right, hence prioritising
Arial here. */
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
font-family: $font-family;
font-size: 15px;
background-color: $primary-bg-color;
color: $primary-fg-color;
@@ -73,7 +69,7 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus {
/* Required by Firefox */
textarea {
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
font-family: $font-family;
}
/* Prevent ugly dotted highlight around selected elements in Firefox */
@@ -123,6 +119,23 @@ textarea {
transition: height 120ms ease-out ! important;
}
// These are magic constants which are excluded from tinting, to let themes
// (which only have CSS, unlike skins) tell the app what their non-tinted
// colourscheme is by inspecting the stylesheet DOM.
//
// They are not used for layout!!
#mx_theme_accentColor {
color: $accent-color;
}
#mx_theme_secondaryAccentColor {
color: $secondary-accent-color;
}
#mx_theme_tertiaryAccentColor {
color: $roomsublist-label-bg-color;
}
.mx_Dialog_wrapper {
position: fixed;
z-index: 4000;
@@ -210,24 +223,19 @@ textarea {
}
.mx_Dialog button, .mx_Dialog input[type="submit"] {
border: 0px;
height: 36px;
border-radius: 40px;
border: solid 1px $accent-color;
font-weight: 600;
font-size: 14px;
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
@mixin mx_DialogButton;
margin-left: 0px;
margin-right: 8px;
padding-left: 1.5em;
padding-right: 1.5em;
outline: none;
cursor: pointer;
color: $accent-color;
background-color: $primary-bg-color;
/* align images in buttons (eg spinners) */
vertical-align: middle;
// flip colours for the secondary ones
font-weight: 600;
border: 1px solid $accent-color ! important;
color: $accent-color;
background-color: $accent-fg-color;
}
.mx_Dialog button:hover, .mx_Dialog input[type="submit"]:hover {
@mixin mx_DialogButton_hover;
}
.mx_Dialog button:focus, .mx_Dialog input[type="submit"]:focus {
@@ -292,26 +300,18 @@ textarea {
color: $selection-fg-color;
}
/** green button with rounded corners */
.mx_textButton {
color: $accent-fg-color;
background-color: $accent-color;
border-radius: 17px;
text-align: center;
padding-left: 1em;
padding-right: 1em;
cursor: pointer;
display: inline;
@mixin mx_DialogButton_small;
}
.mx_textButton:hover {
@mixin mx_DialogButton_hover;
}
.mx_button_row {
margin-top: 69px;
}
.changelog_text {
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
}
.mx_Beta {
color: red;
margin-right: 10px;
@@ -332,3 +332,30 @@ textarea {
border: 1px solid gray;
background-color: darkred;
}
.mx_TintableSvgButton {
position: relative;
display: flex;
flex-direction: row;
justify-content: center;
align-content: center;
}
.mx_TintableSvgButton object {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
}
.mx_TintableSvgButton span {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0;
cursor: pointer;
}

View File

@@ -11,10 +11,12 @@
@import "./matrix-react-sdk/structures/_RoomStatusBar.scss";
@import "./matrix-react-sdk/structures/_RoomView.scss";
@import "./matrix-react-sdk/structures/_SearchBox.scss";
@import "./matrix-react-sdk/structures/_TagPanel.scss";
@import "./matrix-react-sdk/structures/_UploadBar.scss";
@import "./matrix-react-sdk/structures/_UserSettings.scss";
@import "./matrix-react-sdk/structures/login/_Login.scss";
@import "./matrix-react-sdk/views/avatars/_BaseAvatar.scss";
@import "./matrix-react-sdk/views/avatars/_MemberPresenceAvatar.scss";
@import "./matrix-react-sdk/views/dialogs/_BugReportDialog.scss";
@import "./matrix-react-sdk/views/dialogs/_ChatCreateOrReuseChatDialog.scss";
@import "./matrix-react-sdk/views/dialogs/_ChatInviteDialog.scss";
@@ -34,13 +36,17 @@
@import "./matrix-react-sdk/views/elements/_EditableItemList.scss";
@import "./matrix-react-sdk/views/elements/_MemberEventListSummary.scss";
@import "./matrix-react-sdk/views/elements/_ProgressBar.scss";
@import "./matrix-react-sdk/views/elements/_Quote.scss";
@import "./matrix-react-sdk/views/elements/_RichText.scss";
@import "./matrix-react-sdk/views/elements/_RoleButton.scss";
@import "./matrix-react-sdk/views/elements/_ToolTipButton.scss";
@import "./matrix-react-sdk/views/groups/_GroupPublicityToggle.scss";
@import "./matrix-react-sdk/views/groups/_GroupRoomList.scss";
@import "./matrix-react-sdk/views/groups/_GroupUserSettings.scss";
@import "./matrix-react-sdk/views/login/_InteractiveAuthEntryComponents.scss";
@import "./matrix-react-sdk/views/login/_ServerConfig.scss";
@import "./matrix-react-sdk/views/messages/_MEmoteBody.scss";
@import "./matrix-react-sdk/views/messages/_MFileBody.scss";
@import "./matrix-react-sdk/views/messages/_MImageBody.scss";
@import "./matrix-react-sdk/views/messages/_MNoticeBody.scss";
@import "./matrix-react-sdk/views/messages/_MTextBody.scss";
@@ -59,6 +65,7 @@
@import "./matrix-react-sdk/views/rooms/_PinnedEventTile.scss";
@import "./matrix-react-sdk/views/rooms/_PinnedEventsPanel.scss";
@import "./matrix-react-sdk/views/rooms/_PresenceLabel.scss";
@import "./matrix-react-sdk/views/rooms/_QuotePreview.scss";
@import "./matrix-react-sdk/views/rooms/_RoomHeader.scss";
@import "./matrix-react-sdk/views/rooms/_RoomList.scss";
@import "./matrix-react-sdk/views/rooms/_RoomPreviewBar.scss";
@@ -80,7 +87,9 @@
@import "./vector-web/structures/_RoomSubList.scss";
@import "./vector-web/structures/_ViewSource.scss";
@import "./vector-web/views/context_menus/_MessageContextMenu.scss";
@import "./vector-web/views/context_menus/_PresenceContextMenuOption.scss";
@import "./vector-web/views/context_menus/_RoomTileContextMenu.scss";
@import "./vector-web/views/context_menus/_TagTileContextMenu.scss";
@import "./vector-web/views/dialogs/_ChangelogDialog.scss";
@import "./vector-web/views/dialogs/_DevtoolsDialog.scss";
@import "./vector-web/views/dialogs/_SetEmailDialog.scss";
@@ -89,6 +98,7 @@
@import "./vector-web/views/elements/_ImageView.scss";
@import "./vector-web/views/elements/_InlineSpinner.scss";
@import "./vector-web/views/elements/_Spinner.scss";
@import "./vector-web/views/elements/_SyntaxHighlight.scss";
@import "./vector-web/views/globals/_MatrixToolbar.scss";
@import "./vector-web/views/messages/_DateSeparator.scss";
@import "./vector-web/views/messages/_MessageTimestamp.scss";

View File

@@ -94,6 +94,60 @@ limitations under the License.
left: 1px;
}
.mx_ContextualMenu.mx_ContextualMenu_top {
top: 8px;
}
.mx_ContextualMenu_chevron_top {
position: absolute;
left: 0px;
top: -8px;
width: 0;
height: 0;
border-left: 8px solid transparent;
border-bottom: 8px solid $menu-border-color;
border-right: 8px solid transparent;
}
.mx_ContextualMenu_chevron_top:after{
content:'';
width: 0;
height: 0;
border-left: 7px solid transparent;
border-bottom: 7px solid $menu-bg-color;
border-right: 7px solid transparent;
position:absolute;
left: -7px;
top: 1px;
}
.mx_ContextualMenu.mx_ContextualMenu_bottom {
bottom: 8px;
}
.mx_ContextualMenu_chevron_bottom {
position: absolute;
left: 0px;
bottom: -8px;
width: 0;
height: 0;
border-left: 8px solid transparent;
border-top: 8px solid $menu-border-color;
border-right: 8px solid transparent;
}
.mx_ContextualMenu_chevron_bottom:after{
content:'';
width: 0;
height: 0;
border-left: 7px solid transparent;
border-top: 7px solid $menu-bg-color;
border-right: 7px solid transparent;
position:absolute;
left: -7px;
bottom: 1px;
}
.mx_ContextualMenu_field {
padding: 3px 6px 3px 6px;
cursor: pointer;

View File

@@ -90,6 +90,8 @@ limitations under the License.
.mx_GroupView_header_leftCol {
flex: 1;
overflow: hidden;
}
.mx_GroupView_header_rightCol {
@@ -149,6 +151,17 @@ limitations under the License.
top: 5px;
}
.mx_GroupView input[type='radio'] {
margin: 10px 10px 0px 10px;
}
.mx_GroupView_label_text {
display: inline-block;
max-width: 80%;
vertical-align: 0.1em;
line-height: 2em;
}
.mx_GroupView_body {
flex-grow: 1;
}
@@ -312,13 +325,21 @@ limitations under the License.
height: 150px;
}
.mx_GroupView_groupDesc_placeholder {
.mx_GroupView_groupDesc_placeholder,
.mx_GroupView_changeDelayWarning {
background-color: $info-plinth-bg-color;
color: $info-plinth-fg-color;
border-radius: 10px;
text-align: center;
cursor: pointer;
padding: 100px 20px;
margin: 20px 0px;
}
.mx_GroupView_groupDesc_placeholder {
padding: 100px 20px;
cursor: pointer;
}
.mx_GroupView_changeDelayWarning {
padding: 40px 20px;
}

View File

@@ -82,10 +82,6 @@ limitations under the License.
flex-direction: column;
}
.mx_MyGroups_content h3 {
margin-bottom: 10px;
}
.mx_MyGroups_placeholder {
background-color: $info-plinth-bg-color;
color: $info-plinth-fg-color;
@@ -94,7 +90,7 @@ limitations under the License.
text-align: center;
}
.mx_MyGroups_joinedGroups .gm-scroll-view {
.mx_MyGroups_joinedGroups {
border-top: 1px solid $primary-hairline-color;
overflow-x: hidden;
@@ -104,7 +100,7 @@ limitations under the License.
align-content: flex-start;
}
.mx_MyGroups_joinedGroups .gm-scroll-view .mx_GroupTile {
.mx_MyGroups_joinedGroups .mx_GroupTile {
min-width: 300px;
max-width: 33%;
flex: 1 0 300px;
@@ -115,6 +111,10 @@ limitations under the License.
cursor: pointer;
}
.mx_GroupTile_avatar {
cursor: grab, -webkit-grab;
}
.mx_GroupTile_profile {
margin-left: 10px;
display: flex;
@@ -122,13 +122,13 @@ limitations under the License.
justify-content: center;
}
.mx_GroupTile_profile h3.mx_GroupTile_name,
.mx_GroupTile_profile .mx_GroupTile_name,
.mx_GroupTile_profile .mx_GroupTile_groupId,
.mx_GroupTile_profile .mx_GroupTile_desc {
padding-right: 10px;
}
.mx_GroupTile_profile h3.mx_GroupTile_name {
.mx_GroupTile_profile .mx_GroupTile_name {
margin: 0px;
font-size: 15px;
}

View File

@@ -54,7 +54,7 @@ limitations under the License.
left: 0px;
}
.mx_NotificationPanel .mx_EventTile .mx_SenderProfile,
.mx_NotificationPanel .mx_EventTile .mx_SenderProfile,
.mx_NotificationPanel .mx_EventTile .mx_MessageTimestamp {
color: $primary-fg-color;
font-size: 12px;

View File

@@ -96,6 +96,11 @@ limitations under the License.
order: 2;
}
.mx_RoomView_body .mx_RoomView_messagePanelSpinner {
order: 2;
margin: auto;
}
.mx_RoomView_body .mx_RoomView_statusArea {
order: 3;
}

View File

@@ -21,6 +21,8 @@ limitations under the License.
padding-top: 24px;
padding-bottom: 22px;
border-bottom: 1px solid $panel-divider-color;
display: flex;
}
@@ -38,7 +40,7 @@ limitations under the License.
.mx_SearchBox_search {
flex: 1 1 auto;
width: 0px;
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
font-family: $font-family;
font-size: 12px;
margin-top: -2px;
height: 24px;

View File

@@ -0,0 +1,131 @@
/*
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.
*/
.mx_TagPanel {
flex: 0 0 60px;
background-color: $tertiary-accent-color;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
}
.mx_TagPanel .mx_TagPanel_clearButton {
/* Constant height within flex mx_TagPanel */
height: 70px;
width: 60px;
flex: none;
display: flex;
justify-content: center;
align-items: flex-start;
}
.mx_TagPanel .mx_TagPanel_clearButton object {
/* Same as .mx_SearchBox padding-top */
margin-top: 24px;
pointer-events: none;
}
.mx_TagPanel .mx_TagPanel_divider {
height: 0px;
width: 42px;
border-bottom: 1px solid $panel-divider-color;
}
.mx_TagPanel .mx_TagPanel_scroller {
flex-grow: 1;
}
.mx_TagPanel .mx_TagPanel_tagTileContainer {
display: flex;
flex-direction: column;
align-items: center;
height: 100%;
}
.mx_TagPanel .mx_TagTile {
padding: 6px 3px;
opacity: 0.5;
position: relative;
}
.mx_TagPanel .mx_TagTile:focus,
.mx_TagPanel .mx_TagTile:hover,
.mx_TagPanel .mx_TagTile.mx_TagTile_selected {
opacity: 1;
}
.mx_TagPanel .mx_TagTile.mx_TagTile_selected {
/* To offset border of mx_TagTile_avatar */
padding: 3px 0px;
}
.mx_TagPanel .mx_TagTile.mx_TagTile_selected .mx_TagTile_avatar .mx_BaseAvatar {
border: 3px solid $accent-color;
background-color: $accent-color;
border-radius: 60px;
/* In case this is a "initial" avatar */
display: block;
height: 35px;
width: 35px;
}
.mx_TagPanel .mx_TagTile.mx_AccessibleButton:focus {
filter: none;
}
.mx_TagTile_tooltip {
position: relative;
top: -30px;
left: 5px;
}
.mx_TagTile_context_button {
min-width: 15px;
height: 15px;
position: absolute;
right: -5px;
top: 1px;
border-radius: 8px;
background-color: $neutral-badge-color;
color: #ffffff;
font-weight: 600;
font-size: 10px;
text-align: center;
padding-top: 1px;
padding-left: 4px;
padding-right: 4px;
}
.mx_TagPanel_createGroupButton {
opacity: 0.5;
margin-bottom: 17px;
margin-top: 18px;
height: 25px;
}
.mx_TagPanel_createGroupButton:hover {
opacity: 1;
}
.mx_TagPanel_createGroupButton object {
pointer-events: none;
}

View File

@@ -64,30 +64,13 @@ limitations under the License.
}
.mx_UserSettings_button {
@mixin mx_DialogButton;
display: inline;
vertical-align: middle;
border: 0px;
border-radius: 36px;
font-weight: 400;
font-size: 16px;
color: $accent-fg-color;
background-color: $accent-color;
width: auto;
margin: auto;
padding: 7px;
padding-left: 1.5em;
padding-right: 1.5em;
cursor: pointer;
}
.mx_UserSettings_button.mx_UserSettings_buttonSmall {
height: 36px;
padding: 4px;
padding-left: 7px;
padding-right: 7px;
font-size: 12px;
margin-right: 5px;
line-height: 12px;
.mx_UserSettings_button:hover {
@mixin mx_DialogButton_hover;
}
.mx_UserSettings_button.danger {
@@ -152,8 +135,8 @@ limitations under the License.
width: 200px;
}
.mx_UserSettings_webRtcDevices_dropdown{
width: 200px;
.mx_UserSettings_webRtcDevices_dropdown {
width: 50%;
}
.mx_UserSettings_profileTable

View File

@@ -26,7 +26,6 @@ limitations under the License.
}
.mx_Login h2 {
color: $primary-fg-color;
font-weight: 300;
margin-top: 32px;
margin-bottom: 20px;
@@ -80,15 +79,14 @@ limitations under the License.
}
.mx_Login_submit {
@mixin mx_DialogButton;
width: 100%;
margin-top: 35px;
margin-bottom: 24px;
width: 100%;
border-radius: 40px;
height: 40px;
border: 0px;
background-color: $accent-color;
font-size: 15px;
color: $accent-fg-color;
}
.mx_Login_submit:hover {
@mixin mx_DialogButton_hover;
}
.mx_Login_submit:disabled {
@@ -137,8 +135,7 @@ limitations under the License.
}
.mx_Login_forgot {
font-size: 13px;
opacity: 0.8;
font-size: 15px;
}
.mx_Login_forgot:link {
@@ -224,7 +221,6 @@ limitations under the License.
height: 16px;
flex-shrink: 1;
min-width: 0px;
border-radius: 3px;
}
.mx_Login_phoneNumberField {

View File

@@ -31,5 +31,5 @@ limitations under the License.
.mx_BaseAvatar_image {
border-radius: 40px;
vertical-align: top;
background-color: #fff;
background-color: $avatar-bg-color;
}

View File

@@ -0,0 +1,43 @@
/*
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.
*/
.mx_MemberPresenceAvatar {
display: inline-block;
position: relative;
}
.mx_MemberPresenceAvatar_status {
display: block;
width: 10px;
height: 10px;
border-radius: 10px;
position: absolute;
bottom: -2px;
right: -3px;
}
.mx_MemberPresenceAvatar_status_online {
background-color: $presence-online;
}
.mx_MemberPresenceAvatar_status_unavailable {
background-color: $presence-unavailable;
}
.mx_MemberPresenceAvatar_status_offline {
background-color: $presence-offline;
}

View File

@@ -28,7 +28,7 @@ limitations under the License.
{
height: 26px;
font-size: 14px;
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
font-family: $font-family;
padding-left: 12px;
padding-right: 12px;
margin: 0 !important;

View File

@@ -34,7 +34,7 @@ limitations under the License.
}
.mx_ConfirmUserActionDialog_reasonField {
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
font-family: $font-family;
font-size: 14px;
color: $primary-fg-color;
background-color: $primary-bg-color;

View File

@@ -21,19 +21,7 @@ limitations under the License.
}
.mx_EncryptedEventDialog .mx_MemberDeviceInfo_textButton {
border: 0px;
height: 36px;
border-radius: 40px;
border: solid 1px $accent-color;
font-weight: 600;
font-size: 14px;
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
margin-left: 0px;
margin-right: 8px;
padding-left: 1.5em;
padding-right: 1.5em;
outline: none;
cursor: pointer;
color: $accent-color;
@mixin mx_DialogButton;
background-color: $primary-bg-color;
color: $accent-color;
}

View File

@@ -43,22 +43,9 @@ limitations under the License.
}
.mx_UnknownDeviceDialog .mx_MemberDeviceInfo_textButton {
border: 0px;
height: 24px;
border-radius: 40px;
border: solid 1px $accent-color;
font-weight: 600;
font-size: 13px;
font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
margin-left: 0px;
margin-right: 8px;
padding-left: 0.5em;
padding-right: 0.5em;
width: 85px;
outline: none;
cursor: pointer;
color: $accent-color;
@mixin mx_DialogButton_small;
background-color: $primary-bg-color;
color: $accent-color;
}
.mx_UnknownDeviceDialog .mx_UnknownDeviceDialog_deviceList li {

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