Merge branch 'develop' into matthew/webpack4
This commit is contained in:
commit
c57c653535
40 changed files with 1380 additions and 411 deletions
249
CHANGELOG.md
249
CHANGELOG.md
|
@ -1,3 +1,252 @@
|
|||
Changes in [0.16.4](https://github.com/vector-im/riot-web/releases/tag/v0.16.4) (2018-09-10)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.4-rc.1...v0.16.4)
|
||||
|
||||
* No changes since rc.1
|
||||
|
||||
Changes in [0.16.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.4-rc.1) (2018-09-07)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3...v0.16.4-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#7296](https://github.com/vector-im/riot-web/pull/7296)
|
||||
* Fix config not loading & mobileguide script being loaded in riot
|
||||
[\#7288](https://github.com/vector-im/riot-web/pull/7288)
|
||||
* Instructions for installing mobile apps
|
||||
[\#7272](https://github.com/vector-im/riot-web/pull/7272)
|
||||
* Tidy up index.js
|
||||
[\#7265](https://github.com/vector-im/riot-web/pull/7265)
|
||||
|
||||
Changes in [0.16.3](https://github.com/vector-im/riot-web/releases/tag/v0.16.3) (2018-09-03)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3-rc.2...v0.16.3)
|
||||
|
||||
* SECURITY FIX: This version (and release candidates) pull in an upstream security
|
||||
fix from electron to fix CVE-2018-15685. Electron users should update as soon as
|
||||
possible. Riot-web run outside of Electron is unaffected.
|
||||
|
||||
Changes in [0.16.3-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.3-rc.2) (2018-08-31)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3-rc.1...v0.16.3-rc.2)
|
||||
|
||||
* Update js-sdk to fix an exception causing the room list to become unresponsive.
|
||||
|
||||
Changes in [0.16.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.3-rc.1) (2018-08-30)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.2...v0.16.3-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#7245](https://github.com/vector-im/riot-web/pull/7245)
|
||||
* Revert "Remove package-lock.json for now"
|
||||
[\#7128](https://github.com/vector-im/riot-web/pull/7128)
|
||||
* Remove package-lock.json for now
|
||||
[\#7115](https://github.com/vector-im/riot-web/pull/7115)
|
||||
|
||||
Changes in [0.16.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.2) (2018-08-23)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.1...v0.16.2)
|
||||
|
||||
* Support new server notices format
|
||||
|
||||
Changes in [0.16.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.1) (2018-08-20)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.1-rc.1...v0.16.1)
|
||||
|
||||
* No changes since rc.1
|
||||
|
||||
Changes in [0.16.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.1-rc.1) (2018-08-16)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0...v0.16.1-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#7178](https://github.com/vector-im/riot-web/pull/7178)
|
||||
* CSS for MAU warning bar
|
||||
[\#7152](https://github.com/vector-im/riot-web/pull/7152)
|
||||
* CSS for user limit error
|
||||
[\#7139](https://github.com/vector-im/riot-web/pull/7139)
|
||||
* Unpin sanitize-html
|
||||
[\#7132](https://github.com/vector-im/riot-web/pull/7132)
|
||||
* Pin sanitize-html to 0.18.2
|
||||
[\#7129](https://github.com/vector-im/riot-web/pull/7129)
|
||||
|
||||
Changes in [0.16.0](https://github.com/vector-im/riot-web/releases/tag/v0.16.0) (2018-07-30)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0-rc.2...v0.16.0)
|
||||
|
||||
* Update react-sdk version for bugfixes with Jitsi widgets and the new composer
|
||||
|
||||
Changes in [0.16.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.0-rc.2) (2018-07-24)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0-rc.1...v0.16.0-rc.2)
|
||||
|
||||
* Update to react-sdk rc.2 to remove Jitsi conference calling from labs
|
||||
|
||||
Changes in [0.16.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.0-rc.1) (2018-07-24)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7...v0.16.0-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#7082](https://github.com/vector-im/riot-web/pull/7082)
|
||||
* Sample config for jitsi integration URL
|
||||
[\#7055](https://github.com/vector-im/riot-web/pull/7055)
|
||||
|
||||
Changes in [0.15.7](https://github.com/vector-im/riot-web/releases/tag/v0.15.7) (2018-07-09)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7-rc.2...v0.15.7)
|
||||
|
||||
* No changes since rc.2
|
||||
|
||||
Changes in [0.15.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.7-rc.2) (2018-07-06)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7-rc.1...v0.15.7-rc.2)
|
||||
|
||||
* Update react-sdk and js-sdk
|
||||
|
||||
Changes in [0.15.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.7-rc.1) (2018-07-04)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6...v0.15.7-rc.1)
|
||||
|
||||
* add override for colour of room tile text within memberinfo (unreadable)
|
||||
[\#6889](https://github.com/vector-im/riot-web/pull/6889)
|
||||
|
||||
Changes in [0.15.6](https://github.com/vector-im/riot-web/releases/tag/v0.15.6) (2018-06-29)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.2...v0.15.6)
|
||||
|
||||
* Pull in bug fixes from react-sdk
|
||||
|
||||
Changes in [0.15.6-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.2) (2018-06-22)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.1...v0.15.6-rc.2)
|
||||
|
||||
* Update to react-sdk rc.2 for fix to slash commands
|
||||
|
||||
Changes in [0.15.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.1) (2018-06-21)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5...v0.15.6-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#6915](https://github.com/vector-im/riot-web/pull/6915)
|
||||
* [electron] Fix desktop app --hidden flag
|
||||
[\#6805](https://github.com/vector-im/riot-web/pull/6805)
|
||||
|
||||
Changes in [0.15.5](https://github.com/vector-im/riot-web/releases/tag/v0.15.5) (2018-06-12)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5-rc.1...v0.15.5)
|
||||
|
||||
* No changes since rc.1
|
||||
|
||||
Changes in [0.15.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.5-rc.1) (2018-06-06)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4...v0.15.5-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#6846](https://github.com/vector-im/riot-web/pull/6846)
|
||||
|
||||
Changes in [0.15.4](https://github.com/vector-im/riot-web/releases/tag/v0.15.4) (2018-05-25)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4-rc.1...v0.15.4)
|
||||
|
||||
* Add cookie policy link to desktop app config
|
||||
|
||||
Changes in [0.15.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.4-rc.1) (2018-05-24)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.3...v0.15.4-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#6792](https://github.com/vector-im/riot-web/pull/6792)
|
||||
* Hide URL options for e2e blob: URL images
|
||||
[\#6765](https://github.com/vector-im/riot-web/pull/6765)
|
||||
* Fix right click menu in electron
|
||||
[\#6763](https://github.com/vector-im/riot-web/pull/6763)
|
||||
* Update to electron 2.0.1
|
||||
[\#6764](https://github.com/vector-im/riot-web/pull/6764)
|
||||
* Add instructions for changing translated strings
|
||||
[\#6528](https://github.com/vector-im/riot-web/pull/6528)
|
||||
|
||||
Changes in [0.15.3](https://github.com/vector-im/riot-web/releases/tag/v0.15.3) (2018-05-18)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.2...v0.15.3)
|
||||
|
||||
* Fix right click menu in electron
|
||||
[\#6763](https://github.com/vector-im/riot-web/pull/6763)
|
||||
* Update to electron 2.0.1
|
||||
[\#6764](https://github.com/vector-im/riot-web/pull/6764)
|
||||
* Hide URL options for e2e blob: URL images
|
||||
[\#6765](https://github.com/vector-im/riot-web/pull/6765)
|
||||
|
||||
Changes in [0.15.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.2) (2018-05-17)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.1...v0.15.2)
|
||||
|
||||
* Update to matrix-react-sdk v0.12.5 to fix image size jumps
|
||||
|
||||
Changes in [0.15.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.1) (2018-05-16)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0...v0.15.1)
|
||||
|
||||
* Fix package-lock.json which was causing errors building the Electron app
|
||||
* Update Electron version
|
||||
|
||||
Changes in [0.15.0](https://github.com/vector-im/riot-web/releases/tag/v0.15.0) (2018-05-16)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.6...v0.15.0)
|
||||
|
||||
* No changes since rc.6
|
||||
|
||||
Changes in [0.15.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.6) (2018-05-15)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.5...v0.15.0-rc.6)
|
||||
|
||||
* Update to matrix-react-sdk 0.12.4-rc.6
|
||||
|
||||
Changes in [0.15.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.5) (2018-05-15)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.4...v0.15.0-rc.5)
|
||||
|
||||
* Update to matrix-react-sdk 0.12.4-rc.5
|
||||
|
||||
Changes in [0.15.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.4) (2018-05-14)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.3...v0.15.0-rc.4)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#6726](https://github.com/vector-im/riot-web/pull/6726)
|
||||
* Update to matrix-react-sdk 0.12.4-rc.4
|
||||
|
||||
Changes in [0.15.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.3) (2018-05-11)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.2...v0.15.0-rc.3)
|
||||
|
||||
* Update to matrix-react-sdk 0.12.4-rc.3
|
||||
|
||||
Changes in [0.15.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.2) (2018-05-09)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.1...v0.15.0-rc.2)
|
||||
|
||||
* Update to matrix-react-sdk 0.12.4-rc.2
|
||||
|
||||
Changes in [0.15.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.1) (2018-05-09)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.3-rc.1...v0.15.0-rc.1)
|
||||
|
||||
* No changes since 0.14.3-rc.1
|
||||
|
||||
Changes in [0.14.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.3-rc.1) (2018-05-09)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2...v0.14.3-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#6688](https://github.com/vector-im/riot-web/pull/6688)
|
||||
* Don't show presence on matrix.org
|
||||
[\#6638](https://github.com/vector-im/riot-web/pull/6638)
|
||||
* Enforce loading babel-polyfill first
|
||||
[\#6625](https://github.com/vector-im/riot-web/pull/6625)
|
||||
* Update hoek
|
||||
[\#6624](https://github.com/vector-im/riot-web/pull/6624)
|
||||
* Fix args in the release wrapper script
|
||||
[\#6614](https://github.com/vector-im/riot-web/pull/6614)
|
||||
|
||||
Changes in [0.14.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.2) (2018-04-30)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2-rc.3...v0.14.2)
|
||||
|
|
12
README.md
12
README.md
|
@ -241,18 +241,6 @@ apps using React.
|
|||
After creating a new component you must run `npm run reskindex` to regenerate
|
||||
the `component-index.js` for the app (used in future for skinning)
|
||||
|
||||
**However, as of July 2016 this layering abstraction is broken due to rapid
|
||||
development on Riot forcing `matrix-react-sdk` to move fast at the expense of
|
||||
maintaining a clear abstraction between the two.** Hacking on Riot inevitably
|
||||
means hacking equally on `matrix-react-sdk`, and there are bits of
|
||||
`matrix-react-sdk` behaviour incorrectly residing in the `riot-web` project
|
||||
(e.g. matrix-react-sdk specific CSS), and a bunch of Riot specific behaviour
|
||||
in the `matrix-react-sdk` (grep for `vector` / `riot`). This separation problem will be
|
||||
solved asap once development on Riot (and thus matrix-react-sdk) has
|
||||
stabilised. Until then, the two projects should basically be considered as a
|
||||
single unit. In particular, `matrix-react-sdk` issues are currently filed
|
||||
against `riot-web` in github.
|
||||
|
||||
Please note that Riot is intended to run correctly without access to the public
|
||||
internet. So please don't depend on resources (JS libs, CSS, images, fonts)
|
||||
hosted by external CDNs or servers but instead please package all dependencies
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"brand": "Riot",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
"integrations_jitsi_widget_url": "https://scalar.vector.im/api/widgets/jitsi.html",
|
||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||
"features": {
|
||||
"feature_groups": "labs",
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
## Requirements
|
||||
|
||||
- A working [Development Setup](../../#setting-up-a-dev-environment)
|
||||
- Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
|
||||
- Node 8 or later
|
||||
- Be able to understand English
|
||||
- Be able to understand the language you want to translate riot-web into
|
||||
|
||||
|
@ -30,9 +32,15 @@ function getColorName(hex) {
|
|||
|
||||
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed.
|
||||
1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
|
||||
1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json`` (if it fails because it can't find the script, your dev environment predates the script, so reinstall/link react-sdk with `npm link ../matrix-react-sdk`). If it segfaults, you may be on Node 6, so try a newer version of node.
|
||||
1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json``
|
||||
1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
|
||||
|
||||
## Editing existing strings
|
||||
|
||||
1. Edit every occurrence of the string inside `_t()` and `_td()` in the JSX files.
|
||||
1. Run `npm run i18n` to update `src/i18n/strings/en_EN.json`. (Be sure to run this in the same project as the JSX files you just edited.)
|
||||
1. Run `npm run prunei18n` to remove the old string from `src/i18n/strings/*.json`.
|
||||
|
||||
## Adding variables inside a string.
|
||||
|
||||
1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "src/electron-main.js",
|
||||
"version": "0.14.2",
|
||||
"version": "0.16.4",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Vector Creations Ltd.",
|
||||
"dependencies": {
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
},
|
||||
"piwik": {
|
||||
"url": "https://piwik.riot.im/",
|
||||
"siteId": 1
|
||||
"siteId": 1,
|
||||
"policyUrl": "https://matrix.org/docs/guides/riot_im_cookie_policy"
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
"https://matrix.org": false
|
||||
|
|
|
@ -23,7 +23,7 @@ const checkSquirrelHooks = require('./squirrelhooks');
|
|||
if (checkSquirrelHooks()) return;
|
||||
|
||||
const argv = require('minimist')(process.argv);
|
||||
const electron = require('electron');
|
||||
const {app, ipcMain, powerSaveBlocker, BrowserWindow, Menu} = require('electron');
|
||||
const AutoLaunch = require('auto-launch');
|
||||
|
||||
const tray = require('./tray');
|
||||
|
@ -33,8 +33,8 @@ const updater = require('./updater');
|
|||
|
||||
const windowStateKeeper = require('electron-window-state');
|
||||
|
||||
if (argv.profile) {
|
||||
electron.app.setPath('userData', `${electron.app.getPath('userData')}-${argv.profile}`);
|
||||
if (argv['profile']) {
|
||||
app.setPath('userData', `${app.getPath('userData')}-${argv['profile']}`);
|
||||
}
|
||||
|
||||
let vectorConfig = {};
|
||||
|
@ -62,14 +62,14 @@ process.on('uncaughtException', function(error) {
|
|||
});
|
||||
|
||||
let focusHandlerAttached = false;
|
||||
electron.ipcMain.on('setBadgeCount', function(ev, count) {
|
||||
electron.app.setBadgeCount(count);
|
||||
if (count === 0) {
|
||||
ipcMain.on('setBadgeCount', function(ev, count) {
|
||||
app.setBadgeCount(count);
|
||||
if (count === 0 && mainWindow) {
|
||||
mainWindow.flashFrame(false);
|
||||
}
|
||||
});
|
||||
|
||||
electron.ipcMain.on('loudNotification', function() {
|
||||
ipcMain.on('loudNotification', function() {
|
||||
if (process.platform === 'win32' && mainWindow && !mainWindow.isFocused() && !focusHandlerAttached) {
|
||||
mainWindow.flashFrame(true);
|
||||
mainWindow.once('focus', () => {
|
||||
|
@ -81,16 +81,16 @@ electron.ipcMain.on('loudNotification', function() {
|
|||
});
|
||||
|
||||
let powerSaveBlockerId;
|
||||
electron.ipcMain.on('app_onAction', function(ev, payload) {
|
||||
ipcMain.on('app_onAction', function(ev, payload) {
|
||||
switch (payload.action) {
|
||||
case 'call_state':
|
||||
if (powerSaveBlockerId && electron.powerSaveBlocker.isStarted(powerSaveBlockerId)) {
|
||||
if (powerSaveBlockerId && powerSaveBlocker.isStarted(powerSaveBlockerId)) {
|
||||
if (payload.state === 'ended') {
|
||||
electron.powerSaveBlocker.stop(powerSaveBlockerId);
|
||||
powerSaveBlocker.stop(powerSaveBlockerId);
|
||||
}
|
||||
} else {
|
||||
if (payload.state === 'connected') {
|
||||
powerSaveBlockerId = electron.powerSaveBlocker.start('prevent-display-sleep');
|
||||
powerSaveBlockerId = powerSaveBlocker.start('prevent-display-sleep');
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -98,9 +98,12 @@ electron.ipcMain.on('app_onAction', function(ev, payload) {
|
|||
});
|
||||
|
||||
|
||||
electron.app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
|
||||
app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
|
||||
|
||||
const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
|
||||
// If other instance launched with --hidden then skip showing window
|
||||
if (commandLine.includes('--hidden')) return;
|
||||
|
||||
const shouldQuit = electron.app.makeSingleInstance((commandLine, workingDirectory) => {
|
||||
// Someone tried to run a second instance, we should focus our window.
|
||||
if (mainWindow) {
|
||||
if (!mainWindow.isVisible()) mainWindow.show();
|
||||
|
@ -111,7 +114,7 @@ const shouldQuit = electron.app.makeSingleInstance((commandLine, workingDirector
|
|||
|
||||
if (shouldQuit) {
|
||||
console.log('Other instance detected: exiting');
|
||||
electron.app.exit();
|
||||
app.exit();
|
||||
}
|
||||
|
||||
|
||||
|
@ -136,7 +139,7 @@ const settings = {
|
|||
},
|
||||
};
|
||||
|
||||
electron.ipcMain.on('settings_get', async function(ev) {
|
||||
ipcMain.on('settings_get', async function(ev) {
|
||||
const data = {};
|
||||
|
||||
try {
|
||||
|
@ -145,34 +148,37 @@ electron.ipcMain.on('settings_get', async function(ev) {
|
|||
}));
|
||||
|
||||
ev.sender.send('settings', data);
|
||||
} catch(e) { console.error(e); }
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
});
|
||||
|
||||
electron.ipcMain.on('settings_set', function(ev, key, value) {
|
||||
ipcMain.on('settings_set', function(ev, key, value) {
|
||||
console.log(key, value);
|
||||
if (settings[key] && settings[key].set) {
|
||||
settings[key].set(value);
|
||||
}
|
||||
});
|
||||
|
||||
electron.app.on('ready', () => {
|
||||
|
||||
if (argv.devtools) {
|
||||
app.on('ready', () => {
|
||||
if (argv['devtools']) {
|
||||
try {
|
||||
const { default: installExtension, REACT_DEVELOPER_TOOLS, REACT_PERF } = require('electron-devtools-installer');
|
||||
installExtension(REACT_DEVELOPER_TOOLS)
|
||||
const { default: installExt, REACT_DEVELOPER_TOOLS, REACT_PERF } = require('electron-devtools-installer');
|
||||
installExt(REACT_DEVELOPER_TOOLS)
|
||||
.then((name) => console.log(`Added Extension: ${name}`))
|
||||
.catch((err) => console.log('An error occurred: ', err));
|
||||
installExtension(REACT_PERF)
|
||||
installExt(REACT_PERF)
|
||||
.then((name) => console.log(`Added Extension: ${name}`))
|
||||
.catch((err) => console.log('An error occurred: ', err));
|
||||
} catch(e) {console.log(e);}
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (vectorConfig.update_base_url) {
|
||||
console.log(`Starting auto update with base URL: ${vectorConfig.update_base_url}`);
|
||||
updater.start(vectorConfig.update_base_url);
|
||||
if (vectorConfig['update_base_url']) {
|
||||
console.log(`Starting auto update with base URL: ${vectorConfig['update_base_url']}`);
|
||||
updater.start(vectorConfig['update_base_url']);
|
||||
} else {
|
||||
console.log('No update_base_url is defined: auto update is disabled');
|
||||
}
|
||||
|
@ -185,7 +191,7 @@ electron.app.on('ready', () => {
|
|||
defaultHeight: 768,
|
||||
});
|
||||
|
||||
mainWindow = global.mainWindow = new electron.BrowserWindow({
|
||||
mainWindow = global.mainWindow = new BrowserWindow({
|
||||
icon: iconPath,
|
||||
show: false,
|
||||
autoHideMenuBar: true,
|
||||
|
@ -196,7 +202,7 @@ electron.app.on('ready', () => {
|
|||
height: mainWindowState.height,
|
||||
});
|
||||
mainWindow.loadURL(`file://${__dirname}/../../webapp/index.html`);
|
||||
electron.Menu.setApplicationMenu(vectorMenu);
|
||||
Menu.setApplicationMenu(vectorMenu);
|
||||
|
||||
// explicitly hide because setApplicationMenu on Linux otherwise shows...
|
||||
// https://github.com/electron/electron/issues/9621
|
||||
|
@ -208,11 +214,16 @@ electron.app.on('ready', () => {
|
|||
brand: vectorConfig.brand || 'Riot',
|
||||
});
|
||||
|
||||
if (!argv.hidden) {
|
||||
mainWindow.once('ready-to-show', () => {
|
||||
mainWindowState.manage(mainWindow);
|
||||
|
||||
if (!argv['hidden']) {
|
||||
mainWindow.show();
|
||||
});
|
||||
} else {
|
||||
// hide here explicitly because window manage above sometimes shows it
|
||||
mainWindow.hide();
|
||||
}
|
||||
});
|
||||
|
||||
mainWindow.on('closed', () => {
|
||||
mainWindow = global.mainWindow = null;
|
||||
|
@ -240,18 +251,17 @@ electron.app.on('ready', () => {
|
|||
}
|
||||
|
||||
webContentsHandler(mainWindow.webContents);
|
||||
mainWindowState.manage(mainWindow);
|
||||
});
|
||||
|
||||
electron.app.on('window-all-closed', () => {
|
||||
electron.app.quit();
|
||||
app.on('window-all-closed', () => {
|
||||
app.quit();
|
||||
});
|
||||
|
||||
electron.app.on('activate', () => {
|
||||
app.on('activate', () => {
|
||||
mainWindow.show();
|
||||
});
|
||||
|
||||
electron.app.on('before-quit', () => {
|
||||
app.on('before-quit', () => {
|
||||
global.appQuitting = true;
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('before-quit');
|
||||
|
@ -262,4 +272,4 @@ electron.app.on('before-quit', () => {
|
|||
// installer uses for the shortcut icon.
|
||||
// This makes notifications work on windows 8.1 (and is
|
||||
// a noop on other platforms).
|
||||
electron.app.setAppUserModelId('com.squirrel.riot-web.Riot');
|
||||
app.setAppUserModelId('com.squirrel.riot-web.Riot');
|
||||
|
|
|
@ -35,12 +35,15 @@ function onLinkContextMenu(ev, params) {
|
|||
const url = params.linkURL || params.srcURL;
|
||||
|
||||
const popupMenu = new Menu();
|
||||
// No point trying to open blob: URLs in an external browser: it ain't gonna work.
|
||||
if (!url.startsWith('blob:')) {
|
||||
popupMenu.append(new MenuItem({
|
||||
label: url,
|
||||
click() {
|
||||
safeOpenURL(url);
|
||||
},
|
||||
}));
|
||||
}
|
||||
|
||||
if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) {
|
||||
popupMenu.append(new MenuItem({
|
||||
|
@ -55,13 +58,17 @@ function onLinkContextMenu(ev, params) {
|
|||
}));
|
||||
}
|
||||
|
||||
// No point offerring to copy a blob: URL either
|
||||
if (!url.startsWith('blob:')) {
|
||||
popupMenu.append(new MenuItem({
|
||||
label: 'Copy Link Address',
|
||||
click() {
|
||||
clipboard.writeText(url);
|
||||
},
|
||||
}));
|
||||
popupMenu.popup();
|
||||
}
|
||||
// popup() requires an options object even for no options
|
||||
popupMenu.popup({});
|
||||
ev.preventDefault();
|
||||
}
|
||||
|
||||
|
@ -88,7 +95,8 @@ function onSelectedContextMenu(ev, params) {
|
|||
const items = _CutCopyPasteSelectContextMenus(params);
|
||||
const popupMenu = Menu.buildFromTemplate(items);
|
||||
|
||||
popupMenu.popup();
|
||||
// popup() requires an options object even for no options
|
||||
popupMenu.popup({});
|
||||
ev.preventDefault();
|
||||
}
|
||||
|
||||
|
@ -101,7 +109,8 @@ function onEditableContextMenu(ev, params) {
|
|||
|
||||
const popupMenu = Menu.buildFromTemplate(items);
|
||||
|
||||
popupMenu.popup();
|
||||
// popup() requires an options object even for no options
|
||||
popupMenu.popup({});
|
||||
ev.preventDefault();
|
||||
}
|
||||
|
||||
|
|
385
package-lock.json
generated
385
package-lock.json
generated
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "riot-web",
|
||||
"version": "0.12.2",
|
||||
"version": "0.16.4-rc.1",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -260,6 +260,16 @@
|
|||
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
|
||||
"dev": true
|
||||
},
|
||||
"array-includes": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
|
||||
"integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "1.1.2",
|
||||
"es-abstract": "1.9.0"
|
||||
}
|
||||
},
|
||||
"array-map": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
|
||||
|
@ -299,16 +309,6 @@
|
|||
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
|
||||
"dev": true
|
||||
},
|
||||
"array.prototype.find": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz",
|
||||
"integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "1.1.2",
|
||||
"es-abstract": "1.9.0"
|
||||
}
|
||||
},
|
||||
"arraybuffer.slice": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
|
||||
|
@ -1483,7 +1483,7 @@
|
|||
"resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
|
||||
"integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
|
||||
"requires": {
|
||||
"hoek": "4.2.0"
|
||||
"hoek": "4.2.1"
|
||||
}
|
||||
},
|
||||
"boxen": {
|
||||
|
@ -1877,17 +1877,6 @@
|
|||
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
|
||||
"dev": true
|
||||
},
|
||||
"commonmark": {
|
||||
"version": "0.27.0",
|
||||
"resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.27.0.tgz",
|
||||
"integrity": "sha1-2GwmK5YoIelIPGnFR7xYhAwEezQ=",
|
||||
"requires": {
|
||||
"entities": "1.1.1",
|
||||
"mdurl": "1.0.1",
|
||||
"minimist": "1.2.0",
|
||||
"string.prototype.repeat": "0.2.0"
|
||||
}
|
||||
},
|
||||
"compare-version": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
|
||||
|
@ -2210,7 +2199,7 @@
|
|||
"resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
|
||||
"integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
|
||||
"requires": {
|
||||
"hoek": "4.2.0"
|
||||
"hoek": "4.2.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2414,22 +2403,6 @@
|
|||
"integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
|
||||
"dev": true
|
||||
},
|
||||
"disposables": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/disposables/-/disposables-1.0.1.tgz",
|
||||
"integrity": "sha1-BkcnoltU9QK9griaot+4358bOeM="
|
||||
},
|
||||
"dnd-core": {
|
||||
"version": "2.5.4",
|
||||
"resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-2.5.4.tgz",
|
||||
"integrity": "sha512-BcI782MfTm3wCxeIS5c7tAutyTwEIANtuu3W6/xkoJRwiqhRXKX3BbGlycUxxyzMsKdvvoavxgrC3EMPFNYL9A==",
|
||||
"requires": {
|
||||
"asap": "2.0.6",
|
||||
"invariant": "2.2.2",
|
||||
"lodash": "4.17.4",
|
||||
"redux": "3.7.2"
|
||||
}
|
||||
},
|
||||
"doctrine": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.3.tgz",
|
||||
|
@ -3202,16 +3175,54 @@
|
|||
}
|
||||
},
|
||||
"eslint-plugin-react": {
|
||||
"version": "6.10.3",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz",
|
||||
"integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=",
|
||||
"version": "7.10.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz",
|
||||
"integrity": "sha512-18rzWn4AtbSUxFKKM7aCVcj5LXOhOKdwBino3KKWy4psxfPW0YtIbE8WNRDUdyHFL50BeLb6qFd4vpvNYyp7hw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array.prototype.find": "2.0.4",
|
||||
"doctrine": "1.2.3",
|
||||
"has": "1.0.1",
|
||||
"jsx-ast-utils": "1.4.1",
|
||||
"object.assign": "4.0.4"
|
||||
"doctrine": "2.1.0",
|
||||
"has": "1.0.3",
|
||||
"jsx-ast-utils": "2.0.1",
|
||||
"prop-types": "15.6.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"doctrine": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
|
||||
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esutils": "2.0.2"
|
||||
}
|
||||
},
|
||||
"has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "1.1.1"
|
||||
}
|
||||
},
|
||||
"jsx-ast-utils": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
|
||||
"integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-includes": "3.0.3"
|
||||
}
|
||||
},
|
||||
"prop-types": {
|
||||
"version": "15.6.2",
|
||||
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
|
||||
"integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "1.3.1",
|
||||
"object-assign": "4.1.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"espree": {
|
||||
|
@ -3699,6 +3710,22 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"focus-trap": {
|
||||
"version": "2.4.6",
|
||||
"resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-2.4.6.tgz",
|
||||
"integrity": "sha512-vWZTPtBU6pBoyWZDRZJHkXsyP2ZCZBHE3DRVXnSVdQKH/mcDtu9S5Kz8CUDyIqpfZfLEyI9rjKJLnc4Y40BRBg==",
|
||||
"requires": {
|
||||
"tabbable": "1.1.3"
|
||||
}
|
||||
},
|
||||
"focus-trap-react": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-3.1.2.tgz",
|
||||
"integrity": "sha512-MoQmONoy9gRPyrC5DGezkcOMGgx7MtIOAQDHe098UtL2sA2vmucJwEmQisb+8LRXNYFHxuw5zJ1oLFeKu4Mteg==",
|
||||
"requires": {
|
||||
"focus-trap": "2.4.6"
|
||||
}
|
||||
},
|
||||
"for-in": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
||||
|
@ -4657,8 +4684,7 @@
|
|||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"uid-number": {
|
||||
"version": "0.0.6",
|
||||
|
@ -4939,7 +4965,7 @@
|
|||
"requires": {
|
||||
"boom": "4.3.1",
|
||||
"cryptiles": "3.1.2",
|
||||
"hoek": "4.2.0",
|
||||
"hoek": "4.2.1",
|
||||
"sntp": "2.0.2"
|
||||
}
|
||||
},
|
||||
|
@ -4959,11 +4985,6 @@
|
|||
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
|
||||
"integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA=="
|
||||
},
|
||||
"hoist-non-react-statics": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz",
|
||||
"integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA="
|
||||
},
|
||||
"home-or-tmp": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
|
||||
|
@ -5696,12 +5717,6 @@
|
|||
"verror": "1.10.0"
|
||||
}
|
||||
},
|
||||
"jsx-ast-utils": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz",
|
||||
"integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=",
|
||||
"dev": true
|
||||
},
|
||||
"karma": {
|
||||
"version": "1.7.1",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz",
|
||||
|
@ -5740,7 +5755,7 @@
|
|||
"glob": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "1.0.0",
|
||||
|
@ -6049,6 +6064,11 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"lolex": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
|
||||
"integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng=="
|
||||
},
|
||||
"longest": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
|
||||
|
@ -6108,11 +6128,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"matrix-js-sdk": {
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-0.8.2.tgz",
|
||||
"integrity": "sha1-e7mrVoXrNCFLOFlMiDn++pY2ViE=",
|
||||
"version": "0.10.5",
|
||||
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-0.10.5.tgz",
|
||||
"integrity": "sha512-3Gt3tVKgkn4ufU9qLyrBxQqILZsSK3J58pmL+1IpDYEgA/lLeBPCtl2s5DL/CngjaWg6knph+1ZJO/fznTyTgQ==",
|
||||
"requires": {
|
||||
"another-json": "0.2.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"bluebird": "3.5.1",
|
||||
"browser-request": "0.3.3",
|
||||
"content-type": "1.0.4",
|
||||
|
@ -6130,9 +6151,9 @@
|
|||
}
|
||||
},
|
||||
"matrix-react-sdk": {
|
||||
"version": "0.10.2",
|
||||
"resolved": "https://registry.npmjs.org/matrix-react-sdk/-/matrix-react-sdk-0.10.2.tgz",
|
||||
"integrity": "sha1-TNSwkN1P4Jsl4Yh5Z/XOE17U8q4=",
|
||||
"version": "0.12.8",
|
||||
"resolved": "https://registry.npmjs.org/matrix-react-sdk/-/matrix-react-sdk-0.12.8.tgz",
|
||||
"integrity": "sha512-K7Jpj8me8eywtv1LznGlsjiQGuVWIBXA/afshkRiEuSH13lk+XW8+9eQD+GcyZ0/6ziIkMMrmmgDH5gV0xKorA==",
|
||||
"requires": {
|
||||
"babel-runtime": "6.26.0",
|
||||
"bluebird": "3.5.1",
|
||||
|
@ -6140,7 +6161,7 @@
|
|||
"browser-encrypt-attachment": "0.3.0",
|
||||
"browser-request": "0.3.3",
|
||||
"classnames": "2.2.5",
|
||||
"commonmark": "0.27.0",
|
||||
"commonmark": "0.28.1",
|
||||
"counterpart": "0.18.3",
|
||||
"draft-js": "0.11.0-alpha",
|
||||
"draft-js-export-html": "0.6.0",
|
||||
|
@ -6149,17 +6170,25 @@
|
|||
"file-saver": "1.3.3",
|
||||
"filesize": "3.5.6",
|
||||
"flux": "2.1.1",
|
||||
"focus-trap-react": "3.1.2",
|
||||
"fuse.js": "2.7.4",
|
||||
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279810d05319ac5ff1bd34910bff32325c7b",
|
||||
"gfm.css": "1.1.1",
|
||||
"glob": "5.0.15",
|
||||
"highlight.js": "8.9.1",
|
||||
"highlight.js": "9.12.0",
|
||||
"isomorphic-fetch": "2.2.1",
|
||||
"linkifyjs": "2.1.5",
|
||||
"lodash": "4.17.4",
|
||||
"matrix-js-sdk": "0.8.2",
|
||||
"lolex": "2.3.2",
|
||||
"matrix-js-sdk": "0.10.5",
|
||||
"optimist": "0.6.1",
|
||||
"pako": "1.0.6",
|
||||
"prop-types": "15.6.0",
|
||||
"qrcode-react": "0.1.16",
|
||||
"querystring": "0.2.0",
|
||||
"react": "15.6.2",
|
||||
"react-addons-css-transition-group": "15.3.2",
|
||||
"react-beautiful-dnd": "4.0.1",
|
||||
"react-dom": "15.6.2",
|
||||
"react-gemini-scrollbar": "github:matrix-org/react-gemini-scrollbar#5e97aef7e034efc8db1431f4b0efe3b26e249ae9",
|
||||
"sanitize-html": "1.14.1",
|
||||
|
@ -6169,10 +6198,28 @@
|
|||
"whatwg-fetch": "1.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"highlight.js": {
|
||||
"version": "8.9.1",
|
||||
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz",
|
||||
"integrity": "sha1-uKnFSTISqTkvAiK2SclhFJfr+4g="
|
||||
"commonmark": {
|
||||
"version": "0.28.1",
|
||||
"resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
|
||||
"integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
|
||||
"requires": {
|
||||
"entities": "1.1.1",
|
||||
"mdurl": "1.0.1",
|
||||
"minimist": "1.2.0",
|
||||
"string.prototype.repeat": "0.2.0"
|
||||
}
|
||||
},
|
||||
"react-gemini-scrollbar": {
|
||||
"version": "github:matrix-org/react-gemini-scrollbar#5e97aef7e034efc8db1431f4b0efe3b26e249ae9",
|
||||
"requires": {
|
||||
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279810d05319ac5ff1bd34910bff32325c7b"
|
||||
}
|
||||
},
|
||||
"velocity-vector": {
|
||||
"version": "github:vector-im/velocity#059e3b2348f1110888d033974d3109fd5a3af00f",
|
||||
"requires": {
|
||||
"jquery": "3.2.1"
|
||||
}
|
||||
},
|
||||
"whatwg-fetch": {
|
||||
"version": "1.1.1",
|
||||
|
@ -6202,6 +6249,11 @@
|
|||
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
|
||||
"dev": true
|
||||
},
|
||||
"memoize-one": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-3.1.1.tgz",
|
||||
"integrity": "sha512-YqVh744GsMlZu6xkhGslPSqSurOv6P+kLN2J3ysBZfagLcL5FdRK/0UpgLoL8hwjjEvvAVkjJZyFP+1T6p1vgA=="
|
||||
},
|
||||
"memory-fs": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
|
||||
|
@ -6611,25 +6663,6 @@
|
|||
"integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
|
||||
"dev": true
|
||||
},
|
||||
"object.assign": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz",
|
||||
"integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "1.1.2",
|
||||
"function-bind": "1.1.1",
|
||||
"object-keys": "1.0.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"object-keys": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
|
||||
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"object.entries": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz",
|
||||
|
@ -7322,6 +7355,19 @@
|
|||
"integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=",
|
||||
"dev": true
|
||||
},
|
||||
"qr.js": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz",
|
||||
"integrity": "sha1-ys6GOG9ZoNuAUPqQ2baw6IoeNk8="
|
||||
},
|
||||
"qrcode-react": {
|
||||
"version": "0.1.16",
|
||||
"resolved": "https://registry.npmjs.org/qrcode-react/-/qrcode-react-0.1.16.tgz",
|
||||
"integrity": "sha512-FK+QCfFqCQMSxUE1byzglERJQkwKqXYvYMCS+/Ad2zACJOfoHkHHtRqsQQPji7lfb1y1qCXLvL+3eP1hAfg8Ng==",
|
||||
"requires": {
|
||||
"qr.js": "0.0.0"
|
||||
}
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
|
||||
|
@ -7344,6 +7390,19 @@
|
|||
"integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=",
|
||||
"dev": true
|
||||
},
|
||||
"raf": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz",
|
||||
"integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==",
|
||||
"requires": {
|
||||
"performance-now": "2.1.0"
|
||||
}
|
||||
},
|
||||
"raf-schd": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-2.1.2.tgz",
|
||||
"integrity": "sha512-Orl0IEvMtUCgPddgSxtxreK77UiQz4nPYJy9RggVzu4mKsZkQWiAaG1y9HlYWdvm9xtN348xRaT37qkvL/+A+g=="
|
||||
},
|
||||
"randomatic": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
|
||||
|
@ -7448,25 +7507,21 @@
|
|||
"integrity": "sha1-wStu/cIkfBDae4dw0YUICnsEcVY=",
|
||||
"dev": true
|
||||
},
|
||||
"react-dnd": {
|
||||
"version": "2.5.4",
|
||||
"resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-2.5.4.tgz",
|
||||
"integrity": "sha512-y9YmnusURc+3KPgvhYKvZ9oCucj51MSZWODyaeV0KFU0cquzA7dCD1g/OIYUKtNoZ+MXtacDngkdud2TklMSjw==",
|
||||
"react-beautiful-dnd": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-4.0.1.tgz",
|
||||
"integrity": "sha512-d73RMu4QOFCyjUELLWFyY/EuclnfqulI9pECx+2gIuJvV0ycf1uR88o+1x0RSB9ILD70inHMzCBKNkWVbbt+vA==",
|
||||
"requires": {
|
||||
"disposables": "1.0.1",
|
||||
"dnd-core": "2.5.4",
|
||||
"hoist-non-react-statics": "2.3.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"invariant": "2.2.2",
|
||||
"lodash": "4.17.4",
|
||||
"prop-types": "15.6.0"
|
||||
}
|
||||
},
|
||||
"react-dnd-html5-backend": {
|
||||
"version": "2.5.4",
|
||||
"resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-2.5.4.tgz",
|
||||
"integrity": "sha512-jDqAkm/hI8Tl4HcsbhkBgB6HgpJR1e+ML1SbfxaegXYiuMxEVQm0FOwEH5WxUoo6fmIG4N+H0rSm59POuZOCaA==",
|
||||
"requires": {
|
||||
"lodash": "4.17.4"
|
||||
"memoize-one": "3.1.1",
|
||||
"prop-types": "15.6.0",
|
||||
"raf-schd": "2.1.2",
|
||||
"react-motion": "0.5.2",
|
||||
"react-redux": "5.0.7",
|
||||
"redux": "3.7.2",
|
||||
"redux-thunk": "2.3.0",
|
||||
"reselect": "3.0.1"
|
||||
}
|
||||
},
|
||||
"react-dom": {
|
||||
|
@ -7480,10 +7535,51 @@
|
|||
"prop-types": "15.6.0"
|
||||
}
|
||||
},
|
||||
"react-gemini-scrollbar": {
|
||||
"version": "github:matrix-org/react-gemini-scrollbar#5e97aef7e034efc8db1431f4b0efe3b26e249ae9",
|
||||
"react-motion": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz",
|
||||
"integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==",
|
||||
"requires": {
|
||||
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279810d05319ac5ff1bd34910bff32325c7b"
|
||||
"performance-now": "0.2.0",
|
||||
"prop-types": "15.6.0",
|
||||
"raf": "3.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"performance-now": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
|
||||
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
|
||||
}
|
||||
}
|
||||
},
|
||||
"react-redux": {
|
||||
"version": "5.0.7",
|
||||
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz",
|
||||
"integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==",
|
||||
"requires": {
|
||||
"hoist-non-react-statics": "2.5.5",
|
||||
"invariant": "2.2.2",
|
||||
"lodash": "4.17.10",
|
||||
"lodash-es": "4.17.10",
|
||||
"loose-envify": "1.3.1",
|
||||
"prop-types": "15.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"hoist-non-react-statics": {
|
||||
"version": "2.5.5",
|
||||
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
|
||||
"integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.10",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
|
||||
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
|
||||
},
|
||||
"lodash-es": {
|
||||
"version": "4.17.10",
|
||||
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz",
|
||||
"integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"read-all-stream": {
|
||||
|
@ -7591,6 +7687,11 @@
|
|||
"symbol-observable": "1.0.4"
|
||||
}
|
||||
},
|
||||
"redux-thunk": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz",
|
||||
"integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw=="
|
||||
},
|
||||
"regenerate": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
|
||||
|
@ -7863,6 +7964,11 @@
|
|||
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
|
||||
"dev": true
|
||||
},
|
||||
"reselect": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz",
|
||||
"integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc="
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
|
||||
|
@ -8167,7 +8273,7 @@
|
|||
"resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz",
|
||||
"integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=",
|
||||
"requires": {
|
||||
"hoek": "4.2.0"
|
||||
"hoek": "4.2.1"
|
||||
}
|
||||
},
|
||||
"socket.io": {
|
||||
|
@ -8360,30 +8466,36 @@
|
|||
"dev": true
|
||||
},
|
||||
"source-map-loader": {
|
||||
"version": "0.1.6",
|
||||
"resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.1.6.tgz",
|
||||
"integrity": "sha1-wJkD2m1zueU7ftjuUkVZcFHpjpE=",
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.3.tgz",
|
||||
"integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async": "0.9.2",
|
||||
"async": "2.6.1",
|
||||
"loader-utils": "0.2.17",
|
||||
"source-map": "0.1.43"
|
||||
"source-map": "0.6.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "0.9.2",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
|
||||
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
||||
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash": "4.17.10"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.10",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
|
||||
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.43",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
|
||||
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"amdefine": "1.0.1"
|
||||
}
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8582,6 +8694,11 @@
|
|||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz",
|
||||
"integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0="
|
||||
},
|
||||
"tabbable": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/tabbable/-/tabbable-1.1.3.tgz",
|
||||
"integrity": "sha512-nOWwx35/JuDI4ONuF0ZTo6lYvI0fY0tZCH1ErzY2EXfu4az50ZyiUX8X073FLiZtmWUVlkRnuXsehjJgCw9tYg=="
|
||||
},
|
||||
"table": {
|
||||
"version": "3.8.3",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
|
||||
|
@ -9095,12 +9212,6 @@
|
|||
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
|
||||
"dev": true
|
||||
},
|
||||
"velocity-vector": {
|
||||
"version": "github:vector-im/velocity#059e3b2348f1110888d033974d3109fd5a3af00f",
|
||||
"requires": {
|
||||
"jquery": "3.2.1"
|
||||
}
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||
|
|
12
package.json
12
package.json
|
@ -2,7 +2,7 @@
|
|||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "electron_app/src/electron-main.js",
|
||||
"version": "0.14.2",
|
||||
"version": "0.16.4",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "New Vector Ltd.",
|
||||
"repository": {
|
||||
|
@ -64,13 +64,13 @@
|
|||
"gemini-scrollbar": "matrix-org/gemini-scrollbar#b302279",
|
||||
"gfm.css": "^1.1.1",
|
||||
"highlight.js": "^9.0.0",
|
||||
"matrix-js-sdk": "0.10.2",
|
||||
"matrix-react-sdk": "0.12.4-rc.1",
|
||||
"matrix-js-sdk": "0.11.0",
|
||||
"matrix-react-sdk": "0.13.4",
|
||||
"modernizr": "^3.1.0",
|
||||
"prop-types": "^15.5.10",
|
||||
"react": "^15.6.0",
|
||||
"react-dom": "^15.6.0",
|
||||
"sanitize-html": "^1.11.1",
|
||||
"sanitize-html": "^1.18.4",
|
||||
"ua-parser-js": "^0.7.10",
|
||||
"url": "^0.11.0"
|
||||
},
|
||||
|
@ -121,7 +121,7 @@
|
|||
"minimist": "^1.2.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mocha": "^2.4.5",
|
||||
"parallelshell": "^3.0.2",
|
||||
"parallelshell": "3.0.1",
|
||||
"postcss-extend": "^1.0.5",
|
||||
"postcss-import": "^11.1.0",
|
||||
"postcss-loader": "^2.1.4",
|
||||
|
@ -145,7 +145,7 @@
|
|||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
"category": "Network",
|
||||
"electronVersion": "1.8.4",
|
||||
"electronVersion": "2.0.8",
|
||||
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
||||
"asar": false,
|
||||
"dereference": true,
|
||||
|
|
|
@ -76,6 +76,8 @@ $focus-brightness: 125%;
|
|||
|
||||
// red warning colour
|
||||
$warning-color: #F69E98;
|
||||
$warning-bg-color: #DF2A8B;
|
||||
$info-bg-color: #2A9EDF;
|
||||
$mention-user-pill-bg-color: #ff0064;
|
||||
$other-user-pill-bg-color: rgba(0, 0, 0, 0.1);
|
||||
|
||||
|
@ -284,3 +286,7 @@ $progressbar-color: #000;
|
|||
.mx_RoomSubList_chevron {
|
||||
top: 8px ! important;
|
||||
}
|
||||
|
||||
.mx_MemberInfo .mx_RoomTile_name {
|
||||
color: $primary-fg-color ! important;
|
||||
}
|
||||
|
|
|
@ -24,10 +24,12 @@ const INCLUDE_LANGS = [
|
|||
{'value': 'fr', 'label': 'Français'},
|
||||
{'value': 'gl', 'label': 'Galego'},
|
||||
{'value': 'hu', 'label': 'Magyar'},
|
||||
{'value': 'it', 'label': 'Italiano'},
|
||||
{'value': 'ko', 'label': '한국어'},
|
||||
{'value': 'lv', 'label': 'Latviešu'},
|
||||
{'value': 'nb_NO', 'label': 'Norwegian Bokmål'},
|
||||
{'value': 'nl', 'label': 'Nederlands'},
|
||||
{'value': 'nn', 'label': 'Norsk Nynorsk'},
|
||||
{'value': 'pl', 'label': 'Polski'},
|
||||
{'value': 'pt', 'label': 'Português'},
|
||||
{'value': 'pt_BR', 'label': 'Português do Brasil'},
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
"Dismiss": "تجاهل",
|
||||
"Riot is not supported on mobile web. Install the app?": "رايوت غير مدعوم في وضعية الويب على الهاتف. هل تريد تثبيت التطبيق ؟",
|
||||
"Riot Desktop on %(platformName)s": "الواجهة المكتبية لرايوت على %(platformName)s",
|
||||
"Unknown device": "جهاز مجهول"
|
||||
"Unknown device": "جهاز مجهول",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s عبر %(browserName)s على %(osName)s"
|
||||
}
|
||||
|
|
|
@ -1 +1,3 @@
|
|||
{}
|
||||
{
|
||||
"Riot is not supported on mobile web. Install the app?": "মোবাইল ওয়েব রায়ট সমর্থন করে না. অ্য়াপ টি ইনস্টল করতে চান?"
|
||||
}
|
||||
|
|
|
@ -34,5 +34,6 @@
|
|||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS a matrix-ios-sdk chat",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/Android a matrix-android-sdk chat",
|
||||
"Discussion of the Identity Service API": "Diskuze o API služby identity",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Přes vlastní serverové volby se můžete přihlásit k dalším Matrix serverům tak, že zadáte jinou adresu domovského serveru.<br/>Díky tomu můžete v Riotu používat Matrix účet z jiného domovského serveru.<br/><br/>Můžete nastavit i vlastní server identity, ale pak už nebudete moci zvát ani být zván/a skrze e-mailovou adresu."
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Přes vlastní serverové volby se můžete přihlásit k dalším Matrix serverům tak, že zadáte jinou adresu domovského serveru.<br/>Díky tomu můžete v Riotu používat Matrix účet z jiného domovského serveru.<br/><br/>Můžete nastavit i vlastní server identity, ale pak už nebudete moci zvát ani být zván/a skrze e-mailovou adresu.",
|
||||
"Co-ordination for Riot translators": "Spolupráce pro překladatele Riot"
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"Unknown device": "Άγνωστη συσκευή",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Απαιτείται η χρήση HTTPS για το διαμοιρασμό της επιφάνειας εργασίας μέσω κλήσης.",
|
||||
"Riot is not supported on mobile web. Install the app?": "Το Riot δεν υποστηρίζεται από περιηγητές κινητών. Θέλετε να εγκαταστήσετε την εφαρμογή;",
|
||||
"powered by Matrix": "βασισμένο στο πρωτόκολλο Matrix",
|
||||
"powered by Matrix": "βασισμένο στο Matrix",
|
||||
"Welcome to Riot.im": "Καλώς ήλθατε στο Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Αποκεντρωμένη, κρυπτογραφημένη συνομιλία & συνεργασία με τη βοήθεια του [matrix]",
|
||||
"Search the room directory": "Αναζήτηση του ευρετηρίου δωματίων",
|
||||
|
@ -22,16 +22,18 @@
|
|||
"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",
|
||||
"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 spec",
|
||||
"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": "Συζήτηση σχετικά με το Identity Service API",
|
||||
"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",
|
||||
"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 κ.λπ) ή αυτόνομα. Ρίξτε μια ματιά στο ευρετήριο!",
|
||||
"Support for those using, running and writing other bridges": "Υποστήριξη για τους χρήστες που χρησιμοποιούν ή αναπτύσσουν εφαρμογές ενσωμάτωσης για το Matrix"
|
||||
"Support for those using, running and writing other bridges": "Υποστήριξη για τους χρήστες που χρησιμοποιούν ή αναπτύσσουν εφαρμογές ενσωμάτωσης για το Matrix",
|
||||
"Co-ordination for Riot translators": "Συντονισμός για μεταφραστές του Riot",
|
||||
"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/>Μπορείτε επίσης να ορίσετε έναν προσαρμοσμένο διακομιστή ταυτοποίησης αλλά δεν θα μπορείτε να προσκαλέσετε χρήστες ή να προσκληθείτε εσείς μέσω διεύθυνσης ηλεκτρονικού ταχυδρομίου."
|
||||
}
|
||||
|
|
|
@ -33,5 +33,7 @@
|
|||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk chat",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & Desktop chat",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk chat"
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk chat",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.",
|
||||
"Co-ordination for Riot translators": "Co-ordination for Riot translators"
|
||||
}
|
||||
|
|
|
@ -34,5 +34,6 @@
|
|||
"Dev chat for the Riot/Web dev team": "Conversaciones del equipo de desarrollo de Riot/Web",
|
||||
"Dev chat for the Dendrite dev team": "Conversaciones del equipo de desarrollo de Dendrite",
|
||||
"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 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."
|
||||
"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.",
|
||||
"Co-ordination for Riot translators": "Co-odinación de traductores de Riot"
|
||||
}
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
"powered by Matrix": "propulsé par Matrix",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s dans %(browserName)s sous %(osName)s",
|
||||
"Riot Desktop on %(platformName)s": "Version bureau de Riot sur %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot n’est pas supporté sur les appareils mobiles. Installer l’application ?",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot n’est pas disponible en version web mobile. Installer l’application ?",
|
||||
"Unknown device": "Appareil inconnu",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Vous devez utiliser HTTPS pour effectuer un appel en partage d’écran.",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Vous devez utiliser HTTPS pour effectuer un appel avec partage d’écran.",
|
||||
"Welcome to Riot.im": "Bienvenue sur Riot.im",
|
||||
"Chat with Riot Bot": "Discussion avec Riot Bot",
|
||||
"Search the room directory": "Rechercher dans le répertoire de salons",
|
||||
|
|
|
@ -4,35 +4,36 @@
|
|||
"Dismiss": "Rexeitar",
|
||||
"powered by Matrix": "funciona grazas a Matrix",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop en %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot no se pode executar na web móbil. Instalar a app?",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot non se pode executar na web do móbil. Instalar a aplicación?",
|
||||
"Unknown device": "Dispositivo descoñecido",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Precisa utilizar HTTPS para establecer unha chamada de pantalla compartida.",
|
||||
"Welcome to Riot.im": "Benvida a Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Chat & colaboración descentralizados e cifrados grazas a [matrix]",
|
||||
"Welcome to Riot.im": "Benvida/o a Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Conversas e colaboración descentralizada e cifrada grazas a [matrix]",
|
||||
"Search the room directory": "Buscar no directorio de salas",
|
||||
"Chat with Riot Bot": "Chat co Bot de Riot",
|
||||
"Get started with some tips from Riot Bot!": "Iníciese con algúns consellos do Bot de Riot!",
|
||||
"Chat with Riot Bot": "Conversa co bot de Riot",
|
||||
"Get started with some tips from Riot Bot!": "Iníciese con algúns consellos do bot de Riot!",
|
||||
"General discussion about Matrix and Riot": "Discusión xeral sobre Matrix e Riot",
|
||||
"Discussion of all things Matrix!": "Conversa sobre to o relativo a Matrix!",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & chat de Escritorio",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & chat matrix-ios-sdk",
|
||||
"Discussion of all things Matrix!": "Conversa sobre todo o relativo a Matrix!",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & sala de conversas para escritorio",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & sala de conversas matrix-ios-sdk",
|
||||
"Matrix technical discussions": "Discusións técnicas sobre Matrix",
|
||||
"Running Matrix services": "Servizos correndo sobre Matrix",
|
||||
"Running Matrix services": "Servizos que empregan Matrix",
|
||||
"Community-run support for Synapse": "Axuda da comunidade para Synapse",
|
||||
"Admin support for Dendrite": "Axuda administrador para Dendrite",
|
||||
"Admin support for Dendrite": "Axuda de administrador para Dendrite",
|
||||
"Announcements about Synapse releases": "Anuncios sobre lanzamentos de Synapse",
|
||||
"Support for those using and running matrix-appservice-irc": "Axuda para quen usa matrix-appservice-irc",
|
||||
"Building services on Matrix": "Deseñando servizos sobre Matrix",
|
||||
"Support for those using the Matrix spec": "Axuda para quen usa a especificación Matrix",
|
||||
"Support for those using the Matrix spec": "Axuda para quen usa a especificación de Matrix",
|
||||
"Design and implementation of E2E in Matrix": "Deseño e implementación de E2E en Matrix",
|
||||
"Implementing VR services with Matrix": "Implementando servizos de RV con Matrix",
|
||||
"Implementing VoIP services with Matrix": "Implementación de servizos VoIP con Matrix",
|
||||
"Discussion of the Identity Service API": "Conversa sobre a Identity Service API",
|
||||
"Support for those using, running and writing other bridges": "Axuda para que utiliza, executa e desenvolve outras pontes",
|
||||
"Contributing code to Matrix and Riot": "Contribuíndo ao código en Matrix e Riot",
|
||||
"Dev chat for the Riot/Web dev team": "Chat para o equipo de desenvolvemento do Riot/Web",
|
||||
"Dev chat for the Dendrite dev team": "Chat para o equipo de desenvolvemento de Dendrite",
|
||||
"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!",
|
||||
"Riot/Android & matrix-android-sdk chat": "Chat para Riot/Android & matrix-android-sdk",
|
||||
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vostede pode utilizar as opcións de servidor personalizado para conectarse a outros servidores Matrix indicando o enderezo URL do Servidor.</br>Esto permítelle utilizar Riot con unha conta Matrix existente en outro servidor.<br/><br/>Tamén pode indicar un servidor de identidade pero non poderá convidar a usarias polo seu enderezo de correo electrónico, o ser convidada vostede por correo electrónico."
|
||||
"Discussion of the Identity Service API": "Conversa sobre a API do servizo de identificación",
|
||||
"Support for those using, running and writing other bridges": "Axuda para quen está a utilizar, executar ou desenvolver outras pontes",
|
||||
"Contributing code to Matrix and Riot": "Contribuíndo ao código de Matrix e Riot",
|
||||
"Dev chat for the Riot/Web dev team": "Sala de conversa para o equipo de desenvolvemento de Riot/Web",
|
||||
"Dev chat for the Dendrite dev team": "Sala de conversas para o equipo de desenvolvemento de Dendrite",
|
||||
"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 ben ligadas a redes existentes (Slack, IRC, Gitter etc) ou ben independentes. Busque no directorio!",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/Android & sala de conversas matrix-android-sdk",
|
||||
"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.": "Pode utilizar as opcións persoais de servidor para conectarse a outros servidores Matrix indicando o enderezo URL dese servidor.</br>Isto permítelle utilizar Riot cunha conta Matrix existente en outro servidor.<br/><br/>Tamén pode empregar un servidor personalizado de identidade mais nese caso nin se poderán convidar a outros usuarios empregando os correo electrónicos nin tampouco eles o poderán convidar a vostede por correo.",
|
||||
"Co-ordination for Riot translators": "Coordinación para tradutora/es de Riot"
|
||||
}
|
||||
|
|
|
@ -34,6 +34,6 @@
|
|||
"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",
|
||||
"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 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 szerverre is az egyedi szerverbeállításoknál megadott másik szerver URL-jével.<br/>Így használhatod a Riotot 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.",
|
||||
"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 szerverre is az egyedi szerverbeállításoknál megadott Matrix szerver URL-jével.<br/>Így használhatod a Riotot 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.",
|
||||
"Co-ordination for Riot translators": "Koordináció Riot fordítók számára"
|
||||
}
|
||||
|
|
|
@ -34,5 +34,6 @@
|
|||
"Dev chat for the Riot/Web dev team": "Obrolan Developer untuk tim developer Riot/Web",
|
||||
"Dev chat for the Dendrite dev team": "Obrolan Developer untuk tim developer Dendrite",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Banyak ruang sudah tersedia di Matrix, terhubung ke jaringan yang sudah ada (Slack, IRC, Gitter dls) atau independen. Cek direktori!",
|
||||
"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."
|
||||
"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.",
|
||||
"Co-ordination for Riot translators": "Koordinasi dengan penerjemah Riot"
|
||||
}
|
||||
|
|
|
@ -23,5 +23,17 @@
|
|||
"Co-ordination for Riot translators": "Yfirlit fyrir þýðendur Riot",
|
||||
"Search the room directory": "Leita í herbergisskránni",
|
||||
"Building services on Matrix": "Að byggja þjónustur á Matrix",
|
||||
"Design and implementation of E2E in Matrix": "Hönnun og framkvæmd E2E í Matrix"
|
||||
"Design and implementation of E2E in Matrix": "Hönnun og framkvæmd E2E í Matrix",
|
||||
"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.": "Þú getur notað sérsniðna valkosti til að skrá inn á aðra Matrix-vefþjóna með því að tilgreina aðra slóð á Heimavefþjón.<br/>Þetta gerir þér kleift að nota Riot með fyrirliggjandi Matrix notandaaðgangi á öðrum heimaþjóni.<br/><br/>Þú getur líka stillt sérsniðinn auðkenningarþjón, en þá getur þú ekki boðið notendum eftir tölvupóstfangi eða sjálfur fengið boð með tölvupósti.",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Dulritað dreifvinnsluspjall & samstarfstól keyrt með [matrix]",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Margar spjallrásir eru til í Matrix, tengdar við fyrirliggjandi netkerfi (Slack, IRC, Gitter, o.s.frv.) eða óháð. Skoðaðu skráninguna!",
|
||||
"Community-run support for Synapse": "Aðstoð frá samfélaginu fyrir Synapse",
|
||||
"Admin support for Dendrite": "Kerfisstjórnarstuðningur fyrir Dendrite",
|
||||
"Announcements about Synapse releases": "Tilkynningar um Synapse útgáfur",
|
||||
"Support for those using and running matrix-appservice-irc": "Stuðningur við þá sem nota og keyra matrix-appservice-irc",
|
||||
"Support for those using the Matrix spec": "Stuðningur við þá sem nota tæknilega Matrix eiginleika",
|
||||
"Discussion of the Identity Service API": "Umræða um Identity Service API-kerfisviðmót",
|
||||
"Support for those using, running and writing other bridges": "Stuðningur við þá sem nota, keyra og skrifa aðrar brýr",
|
||||
"Dev chat for the Riot/Web dev team": "Forritaraspjall fyrir Riot/vefþróunarhópinn",
|
||||
"Dev chat for the Dendrite dev team": "Forritaraspjall fyrir Dendrite þróunarhópinn"
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"Custom Server Options": "Opzioni Server Personalizzate",
|
||||
"Dismiss": "Scarta",
|
||||
"Dismiss": "Chiudi",
|
||||
"powered by Matrix": "offerto da Matrix",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop su %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot non è supportato sul web mobile. Vuoi installare l'applicazione?",
|
||||
|
@ -34,5 +34,6 @@
|
|||
"Dev chat for the Riot/Web dev team": "Chat per gli sviluppatori di Riot/Web",
|
||||
"Dev chat for the Dendrite dev team": "Chat per gli sviluppatori di Dendrite",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti già esistenti (Slack, IRC, Gitter ecc) o indipendenti. Dai un'occhiata all'elenco!",
|
||||
"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."
|
||||
"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.",
|
||||
"Co-ordination for Riot translators": "Coordinazione per i traduttori di Riot"
|
||||
}
|
||||
|
|
39
src/i18n/strings/ka.json
Normal file
39
src/i18n/strings/ka.json
Normal file
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot ვებსაიტს არ აქვს მხარდაჭერა მობილური მოწყობილობებისთვის. გსურთ აპლიკაციის დაყენება?",
|
||||
"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-ს.",
|
||||
"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 სერვერებზე შესასვლელად შეგიძლიათ გამოიყენოთ პერსონალიზებული სერვერის პარამეტრები განსხვავებული მთავარი სერვერის URL-ის მითითებით <br/>ეს გაძლევთ საშუალებას, გამოიყენოთ Riot-ი არსებულ Matrix ანგარიშით სხვა მთავარ სერვერზე.<br/><br/>თქვენ ასევე შეგიძლიათ დააყენოთ პერსონალიზებული იდენტუროის სერვერი, მაგრამ თქვენ ვერ მოიწვევთ მომხმარებლებს ელფოსტის მისამართით და თავად თქვენ ვერ მოგიწვევენ ელფოსტის მისამართით.",
|
||||
"Dismiss": "უარის თქმა",
|
||||
"powered by Matrix": "Matrix-ზე დაფუძნებული",
|
||||
"Welcome to Riot.im": "კეთილი იყოს თქვენი მობრძანება Riot.im-ზე",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "დეცენტრალიზებული, დაშიფრული ჩატი & კოლაბორაცია, დაფუძნებული [matrix]-ზე",
|
||||
"Search the room directory": "მოძებნა ოთახის სიაში",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "მრავალი ოთახი უკვე არსებობს Matrix-ში, რომლებიც არიან დაკავშირებული არსებულ ქსელებთან (Slack, IRC, Glitter და ა.შ) ან დამოუკიდებელი. შეამოწმეთ სია!",
|
||||
"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 & Desktop chat": "Riot/ვებ-ისა & Desktop-ის ჩატი",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS-ისა & matrix-ios-sdk-ის ჩატი",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/ანდროიდისა & 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": "პირით-პირამდე დაშიფვრის დაგეგმვა და შესრულება",
|
||||
"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": "მხარდაჭერა მათთვის, ვინც იყენებს და წერს სხვა ხიდებს",
|
||||
"Contributing code to Matrix and Riot": "Matrix-ის და Riot-ის გამომუშავებაში მონაწილეობის მიღება",
|
||||
"Dev chat for the Riot/Web dev team": "დეველოპერების ჩატი Riot/ვებ დეველოპერების გუნდთან",
|
||||
"Dev chat for the Dendrite dev team": "დეველოპერების ჩატი Dendrite-ის დეველოპერების გუნდთან",
|
||||
"Co-ordination for Riot translators": "კოორდინაცია Riot-ის მთარგმნელებისთვის"
|
||||
}
|
|
@ -1,37 +1,37 @@
|
|||
{
|
||||
"Custom Server Options": "사용자 지정 서버 설정",
|
||||
"Dismiss": "없애기",
|
||||
"powered by Matrix": "매트릭스의 지원을 받고 있어요",
|
||||
"Riot Desktop on %(platformName)s": "%(platformName)s에서 라이엇 컴퓨터판",
|
||||
"Riot is not supported on mobile web. Install the app?": "라이엇은 모바일 사이트를 지원하지 않아요. 앱을 설치하시겠어요?",
|
||||
"powered by Matrix": "Matrix의 지원을 받고 있습니다",
|
||||
"Riot Desktop on %(platformName)s": "%(platformName)s PC용 Riot",
|
||||
"Riot is not supported on mobile web. Install the app?": "”Riot은 모바일 사이트를 지원하지 않습니다. 앱을 설치하시겠어요?",
|
||||
"Unknown device": "알 수 없는 장치",
|
||||
"Welcome to Riot.im": "라이엇에 오신 걸 환영해요",
|
||||
"Chat with Riot Bot": "Riot 봇과 이야기하기",
|
||||
"Welcome to Riot.im": "Riot에 오신 걸 환영해요",
|
||||
"Chat with Riot Bot": "Riot 봇과 대화하기",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)s의 %(browserName)s을 통한 %(appName)s",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "화면 공유를 하려면 HTTPS를 써야만 해요.",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "화면 공유 전화를 걸려면 HTTPS를 사용해야 합니다.",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "분산되고, 암호화된 대화 & [matrix]의 지원으로 협력",
|
||||
"Search the room directory": "방 목록을 찾기",
|
||||
"Search the room directory": "방 목록 찾기",
|
||||
"Get started with some tips from Riot Bot!": "라이엇 봇에게 조언을 받고 시작하세요!",
|
||||
"General discussion about Matrix and Riot": "매트릭스와 라이엇에 대한 일반 논의",
|
||||
"Discussion of all things Matrix!": "매트릭스의 모든 것에 대한 토론!",
|
||||
"Riot/Web & Desktop chat": "라이엇/웹 & 컴퓨터 이야기",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "라이엇/IOS & matrix-ios-sdk 대화",
|
||||
"Riot/Android & matrix-android-sdk chat": "매트릭스/안드로이드 & matrix-ios-sdk 대화",
|
||||
"Matrix technical discussions": "매트릭스 기술 논의",
|
||||
"Running Matrix services": "매트릭스 서비스 실행",
|
||||
"General discussion about Matrix and Riot": "Matrix와 Riot에 대한 일반적인 토론",
|
||||
"Discussion of all things Matrix!": "모든 Matrix에 대한 토론!",
|
||||
"Riot/Web & Desktop chat": "Riot/웹 & PC 대화",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/IOS & matrix-ios-sdk 대화",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-ios-sdk 대화",
|
||||
"Matrix technical discussions": "Matrix에 대한 기술적인 토론",
|
||||
"Running Matrix services": "Matrix 서비스 실행 중",
|
||||
"Community-run support for Synapse": "시냅스 커뮤니티 운영 지원",
|
||||
"Admin support for Dendrite": "덴드라이트 관리 지원",
|
||||
"Announcements about Synapse releases": "시냅스 공개 발표",
|
||||
"Support for those using and running matrix-appservice-irc": "matrix-appservice-irc를 사용하고 운영하는 사람들을 지원",
|
||||
"Building services on Matrix": "매트릭스에서 서비스 구축",
|
||||
"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 spec을 사용하는 사람들을 지원",
|
||||
"Design and implementation of E2E in Matrix": "매트릭스에서 E2E 설계와 구현",
|
||||
"Implementing VR services with Matrix": "매트릭스로 VR 서비스 구현",
|
||||
"Implementing VoIP services with Matrix": "매트릭스로 인터넷전화 서비스 구현",
|
||||
"Implementing VoIP services with Matrix": "Matrix로 인터넷전화 서비스 구현",
|
||||
"Discussion of the Identity Service API": "ID 서비스 API에 대한 논의",
|
||||
"Support for those using, running and writing other bridges": "다른 브릿지를 사용하고, 운영하고, 기록하는 사람들을 지원",
|
||||
"Contributing code to Matrix and Riot": "매트릭스와 라이엇에 코드 기여하기",
|
||||
"Dev chat for the Riot/Web dev team": "라이엇/웹 개발 팀을 위한 개발자 대화",
|
||||
"Support for those using, running and writing other bridges": "다른 브릿지를 사용하고, 운영하고, 기록하는 사람들을 위한 지원",
|
||||
"Contributing code to Matrix and Riot": "Matrix와 Riot에 코드 기여하기",
|
||||
"Dev chat for the Riot/Web dev team": "Riot/웹 개발 팀을 위한 개발자 대화",
|
||||
"Dev chat for the Dendrite dev team": "덴드라이트 개발 팀을 위한 개발자 대화",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "기존 네트워크(Slack, IRC, Gitter 등)에 연결되있거나 독립된 많은 방들이 이미 매트릭스에 있어요. 목록을 확인해보세요!"
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "기존 네트워크(Slack, IRC, Gitter 등)에 연결되있거나 독립된 많은 방이 이미 Matrix에 있습니다. 목록을 확인해보세요!"
|
||||
}
|
||||
|
|
|
@ -1,38 +1,39 @@
|
|||
{
|
||||
"Unknown device": "Nežinomas įrenginys",
|
||||
"powered by Matrix": "palaikomas Matrix",
|
||||
"powered by Matrix": "veikia su Matrix",
|
||||
"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 Desktop, %(platformName)s",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop, naudojant %(platformName)s",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s, naudojant %(osName)s",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Norint skambinti su ekrano bendrinimo funkcija būtina naudoti HTTPS.",
|
||||
"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",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizuotas, šifruotas čatas; bendradarbiavimas palaikomas [matrix]",
|
||||
"Custom Server Options": "Tinkinto serverio parametrai",
|
||||
"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 prisijungti prie kito nei Matrix serverio, galite naudoti tinkinto serverio parametrus ir nurodyti kito serverio URL adresą.<br/>Tai leis jums naudoti Riot su esama Matrix paskyra kituose serveriuose.<br/><br/>Taip pat galite nustatyti tinkintą tapatybės serverį, tačiau tuomet negalėsite pakviesti kitus naudotojus pagal el. paštą, o taip pat ir jie negalės pakviesti jūsų.",
|
||||
"Dismiss": "Atmesti",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizuoti, šifruoti pokalbiai ir bendradarbiavimas, veikiantis su [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 & Desktop chat": "Riot/Web & Darbalaukio čatas",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk chat",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/Android & 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"
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Daugybė kambarių jau yra Matrix, susieti prie esamų tinklų (Slack, IRC, Gitter ir t.t.) arba nepriklausomi. Pasižvalgykite kataloge!",
|
||||
"Get started with some tips from Riot Bot!": "Pradėkite darbo pradžią nuo Riot roboto patarimų!",
|
||||
"Discussion of all things Matrix!": "Diskusijos apie viską, kas susiję su Matrix!",
|
||||
"Riot/Web & Desktop chat": "Pokalbiai apie Riot/Web ir Desktop",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Pokalbiai apie Riot/iOS ir matrix-ios-sdk",
|
||||
"Riot/Android & matrix-android-sdk chat": "Pokalbiai apie Riot/Android ir matrix-android-sdk",
|
||||
"Running Matrix services": "Matrix paslaugų paleidimas",
|
||||
"Community-run support for Synapse": "Su Synapse susijęs bendruomenės palaikymas",
|
||||
"Admin support for Dendrite": "Dendrite administratorių palaikymas",
|
||||
"Announcements about Synapse releases": "Skelbimai apie Synapse laidas",
|
||||
"Support for those using and running matrix-appservice-irc": "Palaikymas skirtas besinaudojantiems ir prižiūrintiems matrix-appservice-irc",
|
||||
"Building services on Matrix": "Paslaugų kūrimas, naudojant Matrix",
|
||||
"Support for those using the Matrix spec": "Palaikymas skirtas besinaudojantiems Matrix specifikacija",
|
||||
"Design and implementation of E2E in Matrix": "E2E dizainas ir įgyvendinimas ties Matrix",
|
||||
"Implementing VR services with Matrix": "VR paslaugų įgyvendinimas ties Matrix",
|
||||
"Implementing VoIP services with Matrix": "VoIP paslaugų įgyvendinimas ties Matrix",
|
||||
"Discussion of the Identity Service API": "Diskusijos apie tapatybės paslaugos API",
|
||||
"Support for those using, running and writing other bridges": "Palaikymas skirtas besinaudojantiems, prižiūrintiems ar kuriantiems kitus tinklų tiltus",
|
||||
"Contributing code to Matrix and Riot": "Matrix ir Riot kodo plėtojimas",
|
||||
"Dev chat for the Riot/Web dev team": "Kūrėjų pokalbiai, skirti Riot/Web kūrėjų komandai",
|
||||
"Dev chat for the Dendrite dev team": "Kūrėjų pokalbiai, skirti Dendrite kūrėjų komandai",
|
||||
"Co-ordination for Riot translators": "Koordinavimas Riot vertėjams"
|
||||
}
|
||||
|
|
|
@ -1,4 +1,16 @@
|
|||
{
|
||||
"Custom Server Options": "Tilpassede serveralternativer",
|
||||
"powered by Matrix": "benytter seg av Matrix"
|
||||
"powered by Matrix": "benytter seg av Matrix",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot er ikke støttet av mobil-nettlesere. Ønsker De å innstalere appen?",
|
||||
"Riot Desktop on %(platformName)s": "Riot på skrivebordet er på %(platformName)s",
|
||||
"Unknown device": "Ukjent enhet",
|
||||
"%(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.": "De er nødt til å benytte HTTPS for å kunne ha en samtale med skjermdeling.",
|
||||
"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.": "De kan benytte brukerdefinerte server-innstillinger for å kunne logge Dem inn på andre Matrix-servere ved å spesifisere en annen hjemmeserver-adresse. <br/> Dette tillater Dem til å bruke Riot med en eksisterende Matrix-konto på en annen hjemmeserver. <br/><br/> De kan i tillegg definere en egen hjemmeserver-identitet, men De kan da ikke invitere andre brukere via email, og De kan heller ikke bli invitert via email selv.",
|
||||
"Dismiss": "Avvis",
|
||||
"Welcome to Riot.im": "Velkommen skal De være til Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Desentralisert, kryptert nettprat & sammabeid drevet av [matrix]",
|
||||
"Search the room directory": "Søk i romutvalget",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Allerede finnes det alskens rom i Matrix, sammenkoblet til eksisterende nettverk (Slack, IRC, Gitter osv.) eller selvstendig. Dersom De formoder, kan De kikke på utvalget!",
|
||||
"Chat with Riot Bot": "Nettprat med Riot Bot"
|
||||
}
|
||||
|
|
|
@ -34,5 +34,6 @@
|
|||
"Support for those using, running and writing other bridges": "Ondersteuning voor het gebruiken, draaien en ontwikkelen aan andere bruggen",
|
||||
"Dev chat for the Riot/Web dev team": "Dev-chat voor het Riot/Web ontwikkelteam",
|
||||
"Dev chat for the Dendrite dev team": "Dev-chat voor het Dendrite-ontwikkelteam",
|
||||
"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."
|
||||
"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.",
|
||||
"Co-ordination for Riot translators": "Coördinatie voor Riot vertalers"
|
||||
}
|
||||
|
|
39
src/i18n/strings/nn.json
Normal file
39
src/i18n/strings/nn.json
Normal file
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot er ikkja støtta på mobilnettlesare. Last æppen inn?",
|
||||
"Riot Desktop on %(platformName)s": "Riot på Skrivebord for %(platformName)s",
|
||||
"Unknown device": "Ukjend eining",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s gjennom %(browserName)s på %(osName)s",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Du må bruka HTTPS for å ha ei samtale med skjermdeling.",
|
||||
"Dismiss": "Avvis",
|
||||
"powered by Matrix": "Matrixdriven",
|
||||
"Welcome to Riot.im": "Velkomen til Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Desentralisert, kryptert nettprat & samarbeid driven av [matrix]",
|
||||
"Search the room directory": "Søk i romutvalet",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Det finst allereie massevis av rom på Matrix, anten lenkja til nettverk som allereie finst (Slack, IRC, Gitter osv.) eller uavhengige. Tak ein titt på utvalet!",
|
||||
"Chat with Riot Bot": "Nettprat med Riot Bot",
|
||||
"Get started with some tips from Riot Bot!": "Kom i gang med nokre råd frå Riot Bot!",
|
||||
"General discussion about Matrix and Riot": "Allmenn meiningsutveksling om Matrix og Riot",
|
||||
"Discussion of all things Matrix!": "Meiningsutveksling om alt som gjeld Matrix!",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & Skrivebordsprat",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk-prat",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk-prat",
|
||||
"Matrix technical discussions": "Teknisk meiningsutveksling om Matrix",
|
||||
"Running Matrix services": "Å køyra Matrix-tenestar",
|
||||
"Community-run support for Synapse": "Samfunnsdriven støtte for Synapse",
|
||||
"Admin support for Dendrite": "Administratorstøtte for Dendrite",
|
||||
"Announcements about Synapse releases": "Kunngjeringar om Synapse-utgåver",
|
||||
"Support for those using and running matrix-appservice-irc": "Støtte for dei som brukar og køyrar matrix-appleservice-irc",
|
||||
"Building services on Matrix": "Byggingstenester på Matrix",
|
||||
"Support for those using the Matrix spec": "Støtte for dei som brukar Matrix-specen",
|
||||
"Design and implementation of E2E in Matrix": "E2E-oppbygging og -implementering på Matrix",
|
||||
"Implementing VR services with Matrix": "Implementering av VR-tenester med Matrix",
|
||||
"Implementing VoIP services with Matrix": "Implementering av VoIP-tenester med Matrix",
|
||||
"Discussion of the Identity Service API": "Meiningsutveksling om Identitetstenar-APIen",
|
||||
"Support for those using, running and writing other bridges": "Støtte for dei som brukar, køyrer og skriv andre bruer",
|
||||
"Contributing code to Matrix and Riot": "For å bidraga med kode til Matrix og Riot",
|
||||
"Dev chat for the Riot/Web dev team": "Utviklar-prat for Riot/Web-utviklargruppa",
|
||||
"Dev chat for the Dendrite dev team": "Utviklar-prat for Dendrite-utviklargruppa",
|
||||
"Co-ordination for Riot translators": "Samordning for Riot-omsetjare",
|
||||
"Custom Server Options": "Eigentenar-innstillingar",
|
||||
"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 bruka eigentenarinnstillingar til å logga inn på andre Matrixtenarar ved å oppgje ein annan Heimtenar-URL. <br/>Dette gjer at du kan bruka Riot med ein Matrixbrukar som allereie finst på ein annan heimtenar.<br/><br/>Du kan òg setja ein eigen identitetstenar men du kjem i so fall ikkje til å kunna byda brukare inn med epost, eller å sjølv verta boden inn med epost."
|
||||
}
|
|
@ -8,12 +8,12 @@
|
|||
"Unknown device": "Nieznane urządzenie",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Musisz używać bezpiecznego protokołu HTTPS aby użyć połączenia współdzielenia ekranu.",
|
||||
"Welcome to Riot.im": "Witamy w Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Zdecentralizowany, szyfrowany czat & współpraca wspierana przez [matrix]",
|
||||
"Search the room directory": "Wyszukaj katalog pokojów",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Zdecentralizowany, szyfrowany czat & współpraca oparta na [matrix]",
|
||||
"Search the room directory": "Przeszukaj katalog pokojów",
|
||||
"Chat with Riot Bot": "Rozmowa z Botem Riota",
|
||||
"Get started with some tips from Riot Bot!": "Rozpocznij z wskazówkami Riot Bota!",
|
||||
"General discussion about Matrix and Riot": "Generalna rozmowa o Matrix i Riot",
|
||||
"Discussion of all things Matrix!": "Rozmowa o wszystkim Matrixowym!",
|
||||
"General discussion about Matrix and Riot": "Ogólna rozmowa o Matrix i Riot",
|
||||
"Discussion of all things Matrix!": "Rozmowa o wszystkich sprawach Matrixowych!",
|
||||
"Matrix technical discussions": "Dyskusje techniczne Matrixa",
|
||||
"Riot/Web & Desktop chat": "Czat o Riot/Web i Desktop",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Czat o Riot/iOS i matrix-ios-sdk",
|
||||
|
@ -29,10 +29,11 @@
|
|||
"Implementing VR services with Matrix": "Implementowanie usług wirtualnej rzeczywistości w oparciu o Matrix",
|
||||
"Implementing VoIP services with Matrix": "Implementowanie usług telefonii internetowej VoIP w oparciu o Matrix",
|
||||
"Discussion of the Identity Service API": "Dyskusja na temat API Identity Service",
|
||||
"Support for those using, running and writing other bridges": "Wsparcie dla używających, zapewniających i piszących inne mosty",
|
||||
"Contributing code to Matrix and Riot": "Wspieranie rozwoju Matrix i Riot",
|
||||
"Support for those using, running and writing other bridges": "Wsparcie dla używających, utrzymujących i piszących inne mosty",
|
||||
"Contributing code to Matrix and Riot": "Współtworzenie kodu do Matrix lub Riot",
|
||||
"Dev chat for the Riot/Web dev team": "Czat deweloperów zespołu Riot/Web",
|
||||
"Dev chat for the Dendrite dev team": "Czat deweloperów zespołu Dendrite",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix ma wiele, już działających pokoi, połączonych z istniejącymi sieciami, takimi jak Slack, IRC lub Gitter, a także wiele zupełnie niezależnych. Możesz przejrzeć je wszystkie w spisie pokoi!",
|
||||
"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.": "Możesz skorzystać z opcji dedykowanego serwera, aby zalogować się na inne serwery Matrix, podając inny adres URL serwera Domowego.<br/>Pozwala to na używanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Możesz również ustawić dedykowany serwer tożsamości, ale nie będziesz w stanie zapraszać użytkowników przez adres email, lub otrzymywać zaproszeń na adres email."
|
||||
"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.": "Możesz skorzystać z opcji niestandardowego serwera, aby zalogować się na inne serwery Matrix, podając inny adres URL serwera domowego.<br/>Pozwala to na używanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Możesz również ustawić niestandardowy serwer tożsamości, ale nie będziesz w stanie zapraszać użytkowników przez adres e-mail ani otrzymywać zaproszeń na adres e-mail.",
|
||||
"Co-ordination for Riot translators": "Koordynacja tłumaczy Riot"
|
||||
}
|
||||
|
|
5
src/i18n/strings/ro.json
Normal file
5
src/i18n/strings/ro.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot nu functionează pe mobil. Instalezi aplicaţia?",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop pe %(platformName)s",
|
||||
"Unknown device": "Device necunoscut"
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"Custom Server Options": "Egna serverinställningar",
|
||||
"Custom Server Options": "Anpassade serverinställningar",
|
||||
"Dismiss": "Avvisa",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s på %(osName)s",
|
||||
"powered by Matrix": "drivs av Matrix",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop på %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot stöds inte på mobil-webb. Installera appen?",
|
||||
"Unknown device": "Okänd enhet",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Du måste använda HTTPS för att dela din skärm.",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Du måste använda HTTPS för att ringa med skärmdelning.",
|
||||
"Welcome to Riot.im": "Välkommen till Riot.im",
|
||||
"Chat with Riot Bot": "Chatta med Riot Bot",
|
||||
"Get started with some tips from Riot Bot!": "Kom igång med några tips från Riot Bot!",
|
||||
|
@ -27,7 +27,7 @@
|
|||
"Dev chat for the Riot/Web dev team": "Chatt för utvecklare av Riot/Web",
|
||||
"Dev chat for the Dendrite dev team": "Chatt för utvecklare av Dendrite",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Många rum finns redan i Matrix, länkade till andra nätverk (Slack, IRC, Gitter etc.) eller fristående. Kolla in katalogen!",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentraliserad, krypterad chatt & samarbete möjliggjort med [matrix]",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentraliserad, krypterad chatt & samarbetsplattform möjliggjort med [matrix]",
|
||||
"Search the room directory": "Sök i rumskatalogen",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & Desktop-chatt",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk-chatt",
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)s işletim sisteminde %(browserName)s ile %(appName)s",
|
||||
"Custom Server Options": "Özel Sunucu Seçenekleri",
|
||||
"Dismiss": "Uzaklaştır",
|
||||
"Custom Server Options": "Özelleştirilebilir Sunucu Seçenekleri",
|
||||
"Dismiss": "Kapat",
|
||||
"powered by Matrix": "Matrix tarafından desteklenmektedir",
|
||||
"Riot Desktop on %(platformName)s": "%(platformName)s platformunda Riot Masaüstü",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot mobil web'de desteklenmiyor . Uygulamayı yükle ?",
|
||||
"Unknown device": "Bilinmeyen aygıt",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Ekran paylaşımlı arama yapmak için HTTPS kullanıyor olmalısınız.",
|
||||
"Welcome to Riot.im": "Riot.im'e Hoş Geldiniz",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Dağıtık , şifreli sohbet & işbirliği ile Matrix tarafından desteklenmektedir",
|
||||
"Welcome to Riot.im": "Riot.im'e hoş geldiniz",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Merkezsiz, şifreli sohbet & işbirliği ile Matrix tarafından desteklenmektedir",
|
||||
"Search the room directory": "Oda dizinini ara",
|
||||
"Chat with Riot Bot": "Riot Bot ile Sohbet Et",
|
||||
"Get started with some tips from Riot Bot!": "Bazı Riot Bot ipuçları ile başlayın !",
|
||||
"Chat with Riot Bot": "Riot Bot ile sohbet et",
|
||||
"Get started with some tips from Riot Bot!": "Riot Bot'tan bazı ipuçları ile başlayın!",
|
||||
"General discussion about Matrix and Riot": "Matrix ve Riot hakkında genel tartışma",
|
||||
"Discussion of all things Matrix!": "Matrix'in tüm tartışması!",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & Masaüstü sohbet",
|
||||
|
@ -19,19 +19,21 @@
|
|||
"Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk sohbet",
|
||||
"Matrix technical discussions": "Matrix teknik tartışmalar",
|
||||
"Running Matrix services": "Çalışan Matrix hizmetleri",
|
||||
"Community-run support for Synapse": "Synapse için topluluk tarafından işlenen destek",
|
||||
"Admin support for Dendrite": "Dendrite için Admin desteği",
|
||||
"Community-run support for Synapse": "Synapse için topluluk tarafından işletilen destek",
|
||||
"Admin support for Dendrite": "Dendrite için yönetici desteği",
|
||||
"Announcements about Synapse releases": "Synapse sürümleri hakkında duyurular",
|
||||
"Support for those using and running matrix-appservice-irc": "matrix-appservice-irc kullanan ve çalıştıran kullanıcılar için destek",
|
||||
"Building services on Matrix": "Matrix üzerinde Yapı hizmetleri",
|
||||
"Building services on Matrix": "Matrix üzerinde yapı hizmetleri",
|
||||
"Support for those using the Matrix spec": "Matrix teknik özelliklerini kullananlar için destek",
|
||||
"Design and implementation of E2E in Matrix": "Matrix'te E2E ' nin Tasarım ve İmplementasyonu",
|
||||
"Implementing VR services with Matrix": "Matrix'te VR hizmetlerini implement etmek",
|
||||
"Implementing VoIP services with Matrix": "Matrix'te VoIP hizmetlerini implement etmek",
|
||||
"Discussion of the Identity Service API": "Kimlik Hizmet API ( Identity Service API ) Tartışması",
|
||||
"Design and implementation of E2E in Matrix": "Matrix'te E2E ' nin Tasarımı ve uyglamanması",
|
||||
"Implementing VR services with Matrix": "Matrix'te VR hizmetlerini uygulamak",
|
||||
"Implementing VoIP services with Matrix": "Matrix'te VoIP hizmetlerini uygulamak",
|
||||
"Discussion of the Identity Service API": "Kimlik Hizmet API ( Identity Service API ) tartışması",
|
||||
"Support for those using, running and writing other bridges": "Diğer köprüleri kullanan , çalıştıran ve yazanlar için destek",
|
||||
"Contributing code to Matrix and Riot": "Matrix ve Riot'a kod katkısı (contribution) sağla",
|
||||
"Dev chat for the Riot/Web dev team": "Riot/Web Geliştirici takımı için Geliştirici sohbeti",
|
||||
"Dev chat for the Dendrite dev team": "Dendrite Geliştirici Takımı için Geliştirici sohbeti",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix'te varolan ağlara (Slack , IRC , Gitter vb.) bağlı ya da bağımsız bir çok oda var . Dizini kontrol edin!"
|
||||
"Contributing code to Matrix and Riot": "Matrix ve Riot'a kod katkısı sağlama",
|
||||
"Dev chat for the Riot/Web dev team": "Riot/Web Geliştirici takımı için geliştirici sohbeti",
|
||||
"Dev chat for the Dendrite dev team": "Dendrite geliştirici takımı için geliştirici sohbeti",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix'te var olan ağalara bağlı (Slack , IRC , Gitter vb.) birçok oda var. Dizini kontrol edin!",
|
||||
"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.": "Farklı bir ev sunucusu URL'sini belirterek diğer Matrix sunucularına oturum açmak için özel sunucu seçeneklerini kullanabilirsiniz.<br />Bu, Riot'u başka bir ev sunucusu üzerinde var olan Matrix hesabını kullanmanıza olanak sağlar. <br/><br/> Ayrıca özelleştirilebilir bir kimlik de ayarlayabilirsiniz, ama kullanıcılırı ve kendinizi e-posta adreslerinden davet edemeyeceksiniz.",
|
||||
"Co-ordination for Riot translators": "Riot çeviricileri için iş güdüm (koordinasyon)"
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s 透過 %(browserName)s 在 %(osName)s",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "在 %(osName)s 的 %(browserName)s 上的 %(appName)s",
|
||||
"Custom Server Options": "自訂伺服器選項",
|
||||
"Dismiss": "無視",
|
||||
"powered by Matrix": "由 Matrix 架設",
|
||||
"Dismiss": "關閉",
|
||||
"powered by Matrix": "由 Matrix 提供",
|
||||
"Unknown device": "未知裝置",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "你需要使用 HTTPS 來放置螢幕分享的通話。",
|
||||
"Riot Desktop on %(platformName)s": "Riot 桌面版在 %(platformName)s",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "你需要使用 HTTPS 來撥打螢幕分享的通話。",
|
||||
"Riot Desktop on %(platformName)s": "%(platformName)s 的 Riot 桌面版",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot 不支援行動版網頁,要安裝應用程式嗎?",
|
||||
"Welcome to Riot.im": "歡迎來到 Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "去中心化、保密的聊天與協作,由 [matrix] 出品",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "去中心化、保密的聊天與協作,由 [matrix] 提供",
|
||||
"Search the room directory": "搜尋聊天室目錄",
|
||||
"Chat with Riot Bot": "與 Riot 機器人聊天",
|
||||
"Get started with some tips from Riot Bot!": "從 Riot 機器人了解使用 Riot 的訣竅吧!",
|
||||
|
|
67
src/vector/getconfig.js
Normal file
67
src/vector/getconfig.js
Normal file
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
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 Promise from 'bluebird';
|
||||
import request from 'browser-request';
|
||||
|
||||
export async function getVectorConfig(relativeLocation) {
|
||||
if (relativeLocation === undefined) relativeLocation = '';
|
||||
if (relativeLocation !== '' && !relativeLocation.endsWith('/')) relativeLocation += '/';
|
||||
try {
|
||||
const configJson = await getConfig(`${relativeLocation}config.${document.domain}.json`);
|
||||
// 404s succeed with an empty json config, so check that there are keys
|
||||
if (Object.keys(configJson).length === 0) {
|
||||
throw new Error(); // throw to enter the catch
|
||||
}
|
||||
return configJson;
|
||||
} catch (e) {
|
||||
return await getConfig(relativeLocation + "config.json");
|
||||
}
|
||||
}
|
||||
|
||||
function getConfig(configJsonFilename) {
|
||||
let deferred = Promise.defer();
|
||||
|
||||
request(
|
||||
{ method: "GET", url: configJsonFilename },
|
||||
(err, response, body) => {
|
||||
if (err || response.status < 200 || response.status >= 300) {
|
||||
// Lack of a config isn't an error, we should
|
||||
// just use the defaults.
|
||||
// Also treat a blank config as no config, assuming
|
||||
// the status code is 0, because we don't get 404s
|
||||
// from file: URIs so this is the only way we can
|
||||
// not fail if the file doesn't exist when loading
|
||||
// from a file:// URI.
|
||||
if (response) {
|
||||
if (response.status == 404 || (response.status == 0 && body == '')) {
|
||||
deferred.resolve({});
|
||||
}
|
||||
}
|
||||
deferred.reject({err: err, response: response});
|
||||
return;
|
||||
}
|
||||
|
||||
// We parse the JSON ourselves rather than use the JSON
|
||||
// parameter, since this throws a parse error on empty
|
||||
// which breaks if there's no config.json and we're
|
||||
// loading from the filesystem (see above).
|
||||
deferred.resolve(JSON.parse(body));
|
||||
}
|
||||
);
|
||||
|
||||
return deferred.promise;
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2017 Vector Creations 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.
|
||||
|
@ -15,8 +16,6 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// Require common CSS here; this will make webpack process it into bundle.css.
|
||||
// Our own CSS (which is themed) is imported via separate webpack entry points
|
||||
// in webpack.config.js
|
||||
|
@ -25,36 +24,22 @@ require('gfm.css/gfm.css');
|
|||
require('highlight.js/styles/github.css');
|
||||
require('draft-js/dist/Draft.css');
|
||||
|
||||
const rageshake = require("matrix-react-sdk/lib/rageshake/rageshake");
|
||||
rageshake.init().then(() => {
|
||||
console.log("Initialised rageshake: See https://bugs.chromium.org/p/chromium/issues/detail?id=583193 to fix line numbers on Chrome.");
|
||||
rageshake.cleanup();
|
||||
}, (err) => {
|
||||
console.error("Failed to initialise rageshake: " + err);
|
||||
});
|
||||
|
||||
window.addEventListener('beforeunload', (e) => {
|
||||
console.log('riot-web closing');
|
||||
// try to flush the logs to indexeddb
|
||||
rageshake.flush();
|
||||
});
|
||||
|
||||
|
||||
import React from 'react';
|
||||
// add React and ReactPerf to the global namespace, to make them easier to
|
||||
// access via the console
|
||||
global.React = require("react");
|
||||
global.React = React;
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
global.Perf = require("react-addons-perf");
|
||||
global.Perf = require('react-addons-perf');
|
||||
}
|
||||
|
||||
var RunModernizrTests = require("./modernizr"); // this side-effects a global
|
||||
var ReactDOM = require("react-dom");
|
||||
var sdk = require("matrix-react-sdk");
|
||||
const PlatformPeg = require("matrix-react-sdk/lib/PlatformPeg");
|
||||
import RunModernizrTests from './modernizr'; // this side-effects a global
|
||||
import ReactDOM from 'react-dom';
|
||||
import sdk from 'matrix-react-sdk';
|
||||
import PlatformPeg from 'matrix-react-sdk/lib/PlatformPeg';
|
||||
sdk.loadSkin(require('../component-index'));
|
||||
var VectorConferenceHandler = require('matrix-react-sdk/lib/VectorConferenceHandler');
|
||||
import VectorConferenceHandler from 'matrix-react-sdk/lib/VectorConferenceHandler';
|
||||
import Promise from 'bluebird';
|
||||
var request = require('browser-request');
|
||||
import request from 'browser-request';
|
||||
import * as languageHandler from 'matrix-react-sdk/lib/languageHandler';
|
||||
// Also import _t directly so we can call it just `_t` as this is what gen-i18n.js expects
|
||||
import { _t } from 'matrix-react-sdk/lib/languageHandler';
|
||||
|
@ -69,12 +54,29 @@ import SettingsStore, {SettingLevel} from "matrix-react-sdk/lib/settings/Setting
|
|||
import Tinter from 'matrix-react-sdk/lib/Tinter';
|
||||
import SdkConfig from "matrix-react-sdk/lib/SdkConfig";
|
||||
|
||||
var lastLocationHashSet = null;
|
||||
import rageshake from "matrix-react-sdk/lib/rageshake/rageshake";
|
||||
|
||||
var CallHandler = require("matrix-react-sdk/lib/CallHandler");
|
||||
CallHandler.setConferenceHandler(VectorConferenceHandler);
|
||||
import CallHandler from 'matrix-react-sdk/lib/CallHandler';
|
||||
|
||||
MatrixClientPeg.setIndexedDbWorkerScript(window.vector_indexeddb_worker_script);
|
||||
import {getVectorConfig} from './getconfig';
|
||||
|
||||
let lastLocationHashSet = null;
|
||||
|
||||
function initRageshake() {
|
||||
rageshake.init().then(() => {
|
||||
console.log("Initialised rageshake: See https://bugs.chromium.org/p/chromium/issues/detail?id=583193 to fix line numbers on Chrome.");
|
||||
|
||||
window.addEventListener('beforeunload', (e) => {
|
||||
console.log('riot-web closing');
|
||||
// try to flush the logs to indexeddb
|
||||
rageshake.flush();
|
||||
});
|
||||
|
||||
rageshake.cleanup();
|
||||
}, (err) => {
|
||||
console.error("Failed to initialise rageshake: " + err);
|
||||
});
|
||||
}
|
||||
|
||||
function checkBrowserFeatures(featureList) {
|
||||
if (!window.Modernizr) {
|
||||
|
@ -100,11 +102,6 @@ function checkBrowserFeatures(featureList) {
|
|||
return featureComplete;
|
||||
}
|
||||
|
||||
var validBrowser = checkBrowserFeatures([
|
||||
"displaytable", "flexbox", "es5object", "es5function", "localstorage",
|
||||
"objectfit", "indexeddb", "webworkers",
|
||||
]);
|
||||
|
||||
// Parse the given window.location and return parameters that can be used when calling
|
||||
// MatrixChat.showScreen(screen, params)
|
||||
function getScreenFromLocation(location) {
|
||||
|
@ -135,7 +132,7 @@ function onHashChange(ev) {
|
|||
|
||||
// This will be called whenever the SDK changes screens,
|
||||
// so a web page can update the URL bar appropriately.
|
||||
var onNewScreen = function(screen) {
|
||||
function onNewScreen(screen) {
|
||||
console.log("newscreen "+screen);
|
||||
var hash = '#/' + screen;
|
||||
lastLocationHashSet = hash;
|
||||
|
@ -151,7 +148,7 @@ var onNewScreen = function(screen) {
|
|||
// If we're in electron, we should never pass through a file:// URL otherwise
|
||||
// the identity server will try to 302 the browser to it, which breaks horribly.
|
||||
// so in that instance, hardcode to use riot.im/app for now instead.
|
||||
var makeRegistrationUrl = function(params) {
|
||||
function makeRegistrationUrl(params) {
|
||||
let url;
|
||||
if (window.location.protocol === "file:") {
|
||||
url = 'https://riot.im/app/#/register';
|
||||
|
@ -177,8 +174,6 @@ var makeRegistrationUrl = function(params) {
|
|||
return url;
|
||||
}
|
||||
|
||||
window.addEventListener('hashchange', onHashChange);
|
||||
|
||||
function getConfig(configJsonFilename) {
|
||||
let deferred = Promise.defer();
|
||||
|
||||
|
@ -226,6 +221,12 @@ function onTokenLoginCompleted() {
|
|||
}
|
||||
|
||||
async function loadApp() {
|
||||
initRageshake();
|
||||
MatrixClientPeg.setIndexedDbWorkerScript(window.vector_indexeddb_worker_script);
|
||||
CallHandler.setConferenceHandler(VectorConferenceHandler);
|
||||
|
||||
window.addEventListener('hashchange', onHashChange);
|
||||
|
||||
await loadLanguage();
|
||||
|
||||
const fragparts = parseQsFromFragment(window.location);
|
||||
|
@ -239,15 +240,7 @@ async function loadApp() {
|
|||
let configJson;
|
||||
let configError;
|
||||
try {
|
||||
try {
|
||||
configJson = await getConfig(`config.${document.domain}.json`);
|
||||
// 404s succeed with an empty json config, so check that there are keys
|
||||
if (Object.keys(configJson).length === 0) {
|
||||
throw new Error(); // throw to enter the catch
|
||||
}
|
||||
} catch (e) {
|
||||
configJson = await getConfig("config.json");
|
||||
}
|
||||
configJson = await getVectorConfig();
|
||||
} catch (e) {
|
||||
configError = e;
|
||||
}
|
||||
|
@ -261,31 +254,13 @@ async function loadApp() {
|
|||
const preventRedirect = Boolean(fragparts.params.client_secret);
|
||||
|
||||
if (!preventRedirect) {
|
||||
if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {
|
||||
// FIXME: ugly status hardcoding
|
||||
if (SettingsStore.getValue("theme") === 'status') {
|
||||
window.location = "https://status.im/join-riot.html";
|
||||
const isIos = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
|
||||
const isAndroid = /Android/.test(navigator.userAgent);
|
||||
if (isIos || isAndroid) {
|
||||
if (!document.cookie.split(';').some((c) => c.startsWith('mobile_redirect_to_guide'))) {
|
||||
window.location = "mobile_guide/";
|
||||
return;
|
||||
}
|
||||
else {
|
||||
if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) {
|
||||
window.location = "https://itunes.apple.com/us/app/vector.im/id1083446067";
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (/Android/.test(navigator.userAgent)) {
|
||||
// FIXME: ugly status hardcoding
|
||||
if (SettingsStore.getValue("theme") === 'status') {
|
||||
window.location = "https://status.im/join-riot.html";
|
||||
return;
|
||||
}
|
||||
else {
|
||||
if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) {
|
||||
window.location = "https://play.google.com/store/apps/details?id=im.vector.alpha";
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -325,17 +300,19 @@ async function loadApp() {
|
|||
}
|
||||
}
|
||||
|
||||
if (window.localStorage && window.localStorage.getItem('mx_accepts_unsupported_browser')) {
|
||||
console.log('User has previously accepted risks in using an unsupported browser');
|
||||
validBrowser = true;
|
||||
}
|
||||
const validBrowser = checkBrowserFeatures([
|
||||
"displaytable", "flexbox", "es5object", "es5function", "localstorage",
|
||||
"objectfit", "indexeddb", "webworkers",
|
||||
]);
|
||||
|
||||
const acceptInvalidBrowser = window.localStorage && window.localStorage.getItem('mx_accepts_unsupported_browser');
|
||||
|
||||
console.log("Vector starting at "+window.location);
|
||||
if (configError) {
|
||||
window.matrixChat = ReactDOM.render(<div className="error">
|
||||
Unable to load config file: please refresh the page to try again.
|
||||
</div>, document.getElementById('matrixchat'));
|
||||
} else if (validBrowser) {
|
||||
} else if (validBrowser || acceptInvalidBrowser) {
|
||||
const platform = PlatformPeg.get();
|
||||
platform.startUpdater();
|
||||
|
||||
|
@ -362,7 +339,6 @@ async function loadApp() {
|
|||
window.matrixChat = ReactDOM.render(
|
||||
<CompatibilityPage onAccept={function() {
|
||||
if (window.localStorage) window.localStorage.setItem('mx_accepts_unsupported_browser', true);
|
||||
validBrowser = true;
|
||||
console.log("User accepts the compatibility risks.");
|
||||
loadApp();
|
||||
}} />,
|
||||
|
|
386
src/vector/mobile_guide/index.html
Normal file
386
src/vector/mobile_guide/index.html
Normal file
File diff suppressed because one or more lines are too long
23
src/vector/mobile_guide/index.js
Normal file
23
src/vector/mobile_guide/index.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
import {getVectorConfig} from '../getconfig';
|
||||
|
||||
function onBackToRiotClick() {
|
||||
document.cookie = 'mobile_redirect_to_guide=false;path=/';
|
||||
window.location.href = '../';
|
||||
}
|
||||
|
||||
async function initPage() {
|
||||
document.getElementById('back_to_riot_button').onclick = onBackToRiotClick;
|
||||
|
||||
const config = await getVectorConfig('..');
|
||||
let hsUrl;
|
||||
if (config && config['default_hs_url']) {
|
||||
hsUrl = config['default_hs_url'];
|
||||
}
|
||||
if (hsUrl && hsUrl !== 'https://matrix.org/') {
|
||||
document.getElementById('step2_container').style.display = 'block';
|
||||
document.getElementById('hs_url').innerHTML = hsUrl;
|
||||
document.getElementById('step_login_header').innerHTML= 'Step 3: Register or Log in';
|
||||
}
|
||||
}
|
||||
|
||||
initPage();
|
|
@ -13,6 +13,8 @@ module.exports = {
|
|||
"bundle": ["babel-polyfill", "./src/vector/index.js"],
|
||||
"indexeddb-worker": "./src/vector/indexeddb-worker.js",
|
||||
|
||||
"mobileguide": "./src/vector/mobile_guide/index.js",
|
||||
|
||||
// We ship olm.js as a separate lump of javascript. This makes it get
|
||||
// loaded via a separate <script/> tag in index.html (which loads it
|
||||
// into the browser global `Olm`, where js-sdk expects to find it).
|
||||
|
@ -139,10 +141,16 @@ module.exports = {
|
|||
// bottom of <head> or the bottom of <body>, and I'm a bit scared
|
||||
// about moving them.
|
||||
inject: false,
|
||||
excludeChunks: ['mobileguide'],
|
||||
vars: {
|
||||
og_image_url: og_image_url,
|
||||
},
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: './src/vector/mobile_guide/index.html',
|
||||
filename: 'mobile_guide/index.html',
|
||||
chunks: ['mobileguide'],
|
||||
}),
|
||||
],
|
||||
devtool: 'source-map',
|
||||
|
||||
|
|
Loading…
Reference in a new issue