Merge branch 'develop' into t3chguy/random_fix_1
This commit is contained in:
commit
d8f7262eac
328 changed files with 2368 additions and 348 deletions
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2017 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,21 +15,21 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import sdk from 'matrix-react-sdk';
|
||||
import dis from 'matrix-react-sdk/lib/dispatcher';
|
||||
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
|
||||
import Velocity from 'velocity-vector';
|
||||
import 'velocity-vector/velocity.ui';
|
||||
|
||||
var React = require('react');
|
||||
var ReactDOM = require('react-dom');
|
||||
var sdk = require('matrix-react-sdk');
|
||||
import { _t } from 'matrix-react-sdk/lib/languageHandler';
|
||||
var dis = require('matrix-react-sdk/lib/dispatcher');
|
||||
var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/AccessibleButton');
|
||||
const CALLOUT_ANIM_DURATION = 1000;
|
||||
|
||||
module.exports = React.createClass({
|
||||
displayName: 'BottomLeftMenu',
|
||||
|
||||
propTypes: {
|
||||
collapsed: React.PropTypes.bool.isRequired,
|
||||
teamToken: React.PropTypes.string,
|
||||
},
|
||||
|
||||
getInitialState: function() {
|
||||
|
@ -41,6 +42,18 @@ module.exports = React.createClass({
|
|||
});
|
||||
},
|
||||
|
||||
componentWillMount: function() {
|
||||
this._dispatcherRef = dis.register(this.onAction);
|
||||
this._peopleButton = null;
|
||||
this._directoryButton = null;
|
||||
this._createRoomButton = null;
|
||||
this._lastCallouts = {};
|
||||
},
|
||||
|
||||
componentWillUnmount: function() {
|
||||
dis.unregister(this._dispatcherRef);
|
||||
},
|
||||
|
||||
// Room events
|
||||
onDirectoryClick: function() {
|
||||
dis.dispatch({ action: 'view_room_directory' });
|
||||
|
@ -105,6 +118,30 @@ module.exports = React.createClass({
|
|||
this.setState({ settingsHover: false });
|
||||
},
|
||||
|
||||
onAction: function(payload) {
|
||||
let calloutElement;
|
||||
switch (payload.action) {
|
||||
// Incoming instruction: dance!
|
||||
case 'callout_start_chat':
|
||||
calloutElement = this._peopleButton;
|
||||
break;
|
||||
case 'callout_room_directory':
|
||||
calloutElement = this._directoryButton;
|
||||
break;
|
||||
case 'callout_create_room':
|
||||
calloutElement = this._createRoomButton;
|
||||
break;
|
||||
}
|
||||
if (calloutElement) {
|
||||
const lastCallout = this._lastCallouts[payload.action];
|
||||
const now = Date.now();
|
||||
if (lastCallout == undefined || lastCallout < now - CALLOUT_ANIM_DURATION) {
|
||||
this._lastCallouts[payload.action] = now;
|
||||
Velocity(ReactDOM.findDOMNode(calloutElement), "callout.bounce", CALLOUT_ANIM_DURATION);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Get the label/tooltip to show
|
||||
getLabel: function(label, show) {
|
||||
if (show) {
|
||||
|
@ -113,39 +150,41 @@ module.exports = React.createClass({
|
|||
}
|
||||
},
|
||||
|
||||
render: function() {
|
||||
var TintableSvg = sdk.getComponent('elements.TintableSvg');
|
||||
_collectPeopleButton: function(e) {
|
||||
this._peopleButton = e;
|
||||
},
|
||||
|
||||
var homeButton;
|
||||
if (this.props.teamToken) {
|
||||
homeButton = (
|
||||
<AccessibleButton className="mx_BottomLeftMenu_homePage" onClick={ this.onHomeClick } onMouseEnter={ this.onHomeMouseEnter } onMouseLeave={ this.onHomeMouseLeave } >
|
||||
<TintableSvg src="img/icons-home.svg" width="25" height="25" />
|
||||
{ this.getLabel(_t("Welcome page"), this.state.homeHover) }
|
||||
</AccessibleButton>
|
||||
);
|
||||
}
|
||||
_collectDirectoryButton: function(e) {
|
||||
this._directoryButton = e;
|
||||
},
|
||||
|
||||
_collectCreateRoomButton: function(e) {
|
||||
this._createRoomButton = e;
|
||||
},
|
||||
|
||||
render: function() {
|
||||
const HomeButton = sdk.getComponent('elements.HomeButton');
|
||||
const StartChatButton = sdk.getComponent('elements.StartChatButton');
|
||||
const RoomDirectoryButton = sdk.getComponent('elements.RoomDirectoryButton');
|
||||
const CreateRoomButton = sdk.getComponent('elements.CreateRoomButton');
|
||||
const SettingsButton = sdk.getComponent('elements.SettingsButton');
|
||||
|
||||
return (
|
||||
<div className="mx_BottomLeftMenu">
|
||||
<div className="mx_BottomLeftMenu_options">
|
||||
{ homeButton }
|
||||
<AccessibleButton className="mx_BottomLeftMenu_people" onClick={ this.onPeopleClick } onMouseEnter={ this.onPeopleMouseEnter } onMouseLeave={ this.onPeopleMouseLeave } >
|
||||
<TintableSvg src="img/icons-people.svg" width="25" height="25" />
|
||||
{ this.getLabel(_t("Start chat"), this.state.peopleHover) }
|
||||
</AccessibleButton>
|
||||
<AccessibleButton className="mx_BottomLeftMenu_directory" onClick={ this.onDirectoryClick } onMouseEnter={ this.onDirectoryMouseEnter } onMouseLeave={ this.onDirectoryMouseLeave } >
|
||||
<TintableSvg src="img/icons-directory.svg" width="25" height="25"/>
|
||||
{ this.getLabel(_t("Room directory"), this.state.directoryHover) }
|
||||
</AccessibleButton>
|
||||
<AccessibleButton className="mx_BottomLeftMenu_createRoom" onClick={ this.onRoomsClick } onMouseEnter={ this.onRoomsMouseEnter } onMouseLeave={ this.onRoomsMouseLeave } >
|
||||
<TintableSvg src="img/icons-create-room.svg" width="25" height="25" />
|
||||
{ this.getLabel(_t("Create new room"), this.state.roomsHover) }
|
||||
</AccessibleButton>
|
||||
<AccessibleButton className="mx_BottomLeftMenu_settings" onClick={ this.onSettingsClick } onMouseEnter={ this.onSettingsMouseEnter } onMouseLeave={ this.onSettingsMouseLeave } >
|
||||
<TintableSvg src="img/icons-settings.svg" width="25" height="25" />
|
||||
{ this.getLabel(_t("Settings"), this.state.settingsHover) }
|
||||
</AccessibleButton>
|
||||
<HomeButton tooltip={true} />
|
||||
<div ref={this._collectPeopleButton}>
|
||||
<StartChatButton tooltip={true} />
|
||||
</div>
|
||||
<div ref={this._collectDirectoryButton}>
|
||||
<RoomDirectoryButton tooltip={true} />
|
||||
</div>
|
||||
<div ref={this._collectCreateRoomButton}>
|
||||
<CreateRoomButton tooltip={true} />
|
||||
</div>
|
||||
<span className="mx_BottomLeftMenu_settings">
|
||||
<SettingsButton tooltip={true} />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
|
|
@ -18,21 +18,82 @@ limitations under the License.
|
|||
'use strict';
|
||||
|
||||
import React from 'react';
|
||||
import GeminiScrollbar from 'react-gemini-scrollbar';
|
||||
import request from 'browser-request';
|
||||
import { _t } from 'matrix-react-sdk/lib/languageHandler';
|
||||
import sanitizeHtml from 'sanitize-html';
|
||||
|
||||
module.exports = React.createClass({
|
||||
displayName: 'HomePage',
|
||||
|
||||
propTypes: {
|
||||
teamServerUrl: React.PropTypes.string.isRequired,
|
||||
teamToken: React.PropTypes.string.isRequired,
|
||||
collapsedRhs: React.PropTypes.bool,
|
||||
// URL base of the team server. Optional.
|
||||
teamServerUrl: React.PropTypes.string,
|
||||
// Team token. Optional. If set, used to get the static homepage of the team
|
||||
// associated. If unset, homePageUrl will be used.
|
||||
teamToken: React.PropTypes.string,
|
||||
// URL to use as the iFrame src. Defaults to /home.html.
|
||||
homePageUrl: React.PropTypes.string,
|
||||
},
|
||||
|
||||
getInitialState: function() {
|
||||
return {
|
||||
iframeSrc: '',
|
||||
page: '',
|
||||
};
|
||||
},
|
||||
|
||||
translate: function(s) {
|
||||
s = sanitizeHtml(_t(s));
|
||||
// ugly fix for https://github.com/vector-im/riot-web/issues/4243
|
||||
s = s.replace(/Riot\.im/, '<a href="https://riot.im target="_blank">Riot.im</a>');
|
||||
s = s.replace(/\[matrix\]/, '<a href="https://matrix.org" target="_blank"><img width="79" height="34" alt="[matrix]" style="padding-left: 1px;vertical-align: middle" src="home/images/matrix.svg"/></a>');
|
||||
return s;
|
||||
},
|
||||
|
||||
componentWillMount: function() {
|
||||
if (this.props.teamToken && this.props.teamServerUrl) {
|
||||
this.setState({
|
||||
iframeSrc: `${this.props.teamServerUrl}/static/${this.props.teamToken}/home.html`
|
||||
});
|
||||
}
|
||||
else {
|
||||
// we use request() to inline the homepage into the react component
|
||||
// so that it can inherit CSS and theming easily rather than mess around
|
||||
// with iframes and trying to synchronise document.stylesheets.
|
||||
|
||||
let src = this.props.homePageUrl || 'home.html';
|
||||
|
||||
request(
|
||||
{ method: "GET", url: src },
|
||||
(err, response, body) => {
|
||||
if (err || response.status < 200 || response.status >= 300) {
|
||||
console.log(err);
|
||||
this.setState({ page: "Couldn't load home page" });
|
||||
}
|
||||
|
||||
body = body.replace(/_t\(['"]([\s\S]*?)['"]\)/mg, (match, g1)=>this.translate(g1));
|
||||
this.setState({ page: body });
|
||||
}
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
render: function() {
|
||||
return (
|
||||
<div className="mx_HomePage">
|
||||
<iframe src={`${this.props.teamServerUrl}/static/${this.props.teamToken}/home.html`}/>
|
||||
</div>
|
||||
);
|
||||
if (this.state.iframeSrc) {
|
||||
return (
|
||||
<div className="mx_HomePage">
|
||||
<iframe src={ this.state.iframeSrc } />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
else {
|
||||
return (
|
||||
<GeminiScrollbar autoshow={true} className="mx_HomePage">
|
||||
<div className="mx_HomePage_body" dangerouslySetInnerHTML={{ __html: this.state.page }}>
|
||||
</div>
|
||||
</GeminiScrollbar>
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -21,16 +21,18 @@ var DragDropContext = require('react-dnd').DragDropContext;
|
|||
var HTML5Backend = require('react-dnd-html5-backend');
|
||||
var sdk = require('matrix-react-sdk')
|
||||
var dis = require('matrix-react-sdk/lib/dispatcher');
|
||||
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
|
||||
|
||||
var VectorConferenceHandler = require('../../VectorConferenceHandler');
|
||||
var CallHandler = require("matrix-react-sdk/lib/CallHandler");
|
||||
|
||||
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
|
||||
|
||||
var LeftPanel = React.createClass({
|
||||
displayName: 'LeftPanel',
|
||||
|
||||
propTypes: {
|
||||
collapsed: React.PropTypes.bool.isRequired,
|
||||
teamToken: React.PropTypes.string,
|
||||
},
|
||||
|
||||
getInitialState: function() {
|
||||
|
@ -97,17 +99,21 @@ var LeftPanel = React.createClass({
|
|||
render: function() {
|
||||
var RoomList = sdk.getComponent('rooms.RoomList');
|
||||
var BottomLeftMenu = sdk.getComponent('structures.BottomLeftMenu');
|
||||
var SearchBox = sdk.getComponent('structures.SearchBox');
|
||||
|
||||
var collapseButton;
|
||||
var topBox;
|
||||
if (MatrixClientPeg.get().isGuest()) {
|
||||
var LoginBox = sdk.getComponent('structures.LoginBox');
|
||||
topBox = <LoginBox collapsed={ this.props.collapsed }/>;
|
||||
}
|
||||
else {
|
||||
var SearchBox = sdk.getComponent('structures.SearchBox');
|
||||
topBox = <SearchBox collapsed={ this.props.collapsed } onSearch={ this.onSearch } />;
|
||||
}
|
||||
|
||||
var classes = "mx_LeftPanel mx_fadable";
|
||||
if (this.props.collapsed) {
|
||||
classes += " collapsed";
|
||||
}
|
||||
else {
|
||||
// Hide the collapse button until we work out how to display it in the new skin
|
||||
// collapseButton = <img className="mx_LeftPanel_hideButton" onClick={ this.onHideClick } src="img/hide.png" width="12" height="20" alt="<"/>
|
||||
}
|
||||
|
||||
var callPreview;
|
||||
if (this.state.showCallElement && !this.props.collapsed) {
|
||||
|
@ -121,15 +127,14 @@ var LeftPanel = React.createClass({
|
|||
|
||||
return (
|
||||
<aside className={classes} style={{ opacity: this.props.opacity }}>
|
||||
<SearchBox collapsed={ this.props.collapsed } onSearch={ this.onSearch } />
|
||||
{ collapseButton }
|
||||
{ topBox }
|
||||
{ callPreview }
|
||||
<RoomList
|
||||
selectedRoom={this.props.selectedRoom}
|
||||
collapsed={this.props.collapsed}
|
||||
searchFilter={this.state.searchFilter}
|
||||
ConferenceHandler={VectorConferenceHandler} />
|
||||
<BottomLeftMenu collapsed={this.props.collapsed} teamToken={this.props.teamToken}/>
|
||||
<BottomLeftMenu collapsed={this.props.collapsed}/>
|
||||
</aside>
|
||||
);
|
||||
}
|
||||
|
|
86
src/components/structures/LoginBox.js
Normal file
86
src/components/structures/LoginBox.js
Normal file
|
@ -0,0 +1,86 @@
|
|||
/*
|
||||
Copyright 2017 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var React = require('react');
|
||||
import { _t } from 'matrix-react-sdk/lib/languageHandler';
|
||||
var sdk = require('matrix-react-sdk')
|
||||
var dis = require('matrix-react-sdk/lib/dispatcher');
|
||||
var rate_limited_func = require('matrix-react-sdk/lib/ratelimitedfunc');
|
||||
var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/AccessibleButton');
|
||||
|
||||
module.exports = React.createClass({
|
||||
displayName: 'LoginBox',
|
||||
|
||||
propTypes: {
|
||||
collapsed: React.PropTypes.bool,
|
||||
},
|
||||
|
||||
onToggleCollapse: function(show) {
|
||||
if (show) {
|
||||
dis.dispatch({
|
||||
action: 'show_left_panel',
|
||||
});
|
||||
}
|
||||
else {
|
||||
dis.dispatch({
|
||||
action: 'hide_left_panel',
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
onLoginClick: function() {
|
||||
dis.dispatch({ action: 'start_login' });
|
||||
},
|
||||
|
||||
render: function() {
|
||||
var TintableSvg = sdk.getComponent('elements.TintableSvg');
|
||||
|
||||
var toggleCollapse;
|
||||
if (this.props.collapsed) {
|
||||
toggleCollapse =
|
||||
<AccessibleButton className="mx_SearchBox_maximise" onClick={ this.onToggleCollapse.bind(this, true) }>
|
||||
<TintableSvg src="img/maximise.svg" width="10" height="16" alt="Expand panel"/>
|
||||
</AccessibleButton>
|
||||
}
|
||||
else {
|
||||
toggleCollapse =
|
||||
<AccessibleButton className="mx_SearchBox_minimise" onClick={ this.onToggleCollapse.bind(this, false) }>
|
||||
<TintableSvg src="img/minimise.svg" width="10" height="16" alt="Collapse panel"/>
|
||||
</AccessibleButton>
|
||||
}
|
||||
|
||||
var loginButton;
|
||||
if (!this.props.collapsed) {
|
||||
loginButton = (
|
||||
<div className="mx_LoginBox_loginButton_wrapper">
|
||||
<AccessibleButton className="mx_LoginBox_loginButton" element="button" onClick={this.onLoginClick}>
|
||||
{ _t("Login") }
|
||||
</AccessibleButton>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
var self = this;
|
||||
return (
|
||||
<div className="mx_SearchBox">
|
||||
{ loginButton }
|
||||
{ toggleCollapse }
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
|
@ -93,11 +93,7 @@ module.exports = React.createClass({
|
|||
|
||||
onInviteButtonClick: function() {
|
||||
if (MatrixClientPeg.get().isGuest()) {
|
||||
var NeedToRegisterDialog = sdk.getComponent("dialogs.NeedToRegisterDialog");
|
||||
Modal.createDialog(NeedToRegisterDialog, {
|
||||
title: _t('Please Register'),
|
||||
description: _t('Guest users can\'t invite users. Please register to invite.')
|
||||
});
|
||||
dis.dispatch({action: 'view_set_mxid'});
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -224,7 +220,7 @@ module.exports = React.createClass({
|
|||
<div className="mx_RightPanel_headerButton mx_RightPanel_collapsebutton" title={ _t("Hide panel") } onClick={ this.onCollapseClick }>
|
||||
<TintableSvg src="img/minimise.svg" width="10" height="16"/>
|
||||
</div>
|
||||
</div>;
|
||||
</div>;
|
||||
}
|
||||
|
||||
if (!this.props.collapsed) {
|
||||
|
|
|
@ -353,11 +353,7 @@ module.exports = React.createClass({
|
|||
// to the directory.
|
||||
if (MatrixClientPeg.get().isGuest()) {
|
||||
if (!room.world_readable && !room.guest_can_join) {
|
||||
var NeedToRegisterDialog = sdk.getComponent("dialogs.NeedToRegisterDialog");
|
||||
Modal.createDialog(NeedToRegisterDialog, {
|
||||
title: _t('Failed to join the room'),
|
||||
description: _t('This room is inaccessible to guests. You may be able to join if you register.')
|
||||
});
|
||||
dis.dispatch({action: 'view_set_mxid'});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/*
|
||||
Copyright 2017 Vector Creations Ltd
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -84,6 +85,8 @@ var RoomSubList = React.createClass({
|
|||
incomingCall: React.PropTypes.object,
|
||||
onShowMoreRooms: React.PropTypes.func,
|
||||
searchFilter: React.PropTypes.string,
|
||||
emptyContent: React.PropTypes.node, // content shown if the list is empty
|
||||
headerItems: React.PropTypes.node, // content shown in the sublist header
|
||||
},
|
||||
|
||||
getInitialState: function() {
|
||||
|
@ -522,16 +525,15 @@ var RoomSubList = React.createClass({
|
|||
|
||||
render: function() {
|
||||
var connectDropTarget = this.props.connectDropTarget;
|
||||
var RoomDropTarget = sdk.getComponent('rooms.RoomDropTarget');
|
||||
var TruncatedList = sdk.getComponent('elements.TruncatedList');
|
||||
|
||||
var label = this.props.collapsed ? null : this.props.label;
|
||||
|
||||
//console.log("render: " + JSON.stringify(this.state.sortedList));
|
||||
|
||||
var target;
|
||||
if (this.state.sortedList.length == 0 && this.props.editable) {
|
||||
target = <RoomDropTarget label={ _t("Drop here %(toAction)s", {toAction: this.props.verb}) }/>;
|
||||
let content;
|
||||
if (this.state.sortedList.length == 0) {
|
||||
content = this.props.emptyContent;
|
||||
} else {
|
||||
content = this.makeRoomTiles();
|
||||
}
|
||||
|
||||
if (this.state.sortedList.length > 0 || this.props.editable) {
|
||||
|
@ -541,8 +543,7 @@ var RoomSubList = React.createClass({
|
|||
if (!this.state.hidden) {
|
||||
subList = <TruncatedList className={ classes } truncateAt={this.state.truncateAt}
|
||||
createOverflowElement={this._createOverflowTile} >
|
||||
{ target }
|
||||
{ this.makeRoomTiles() }
|
||||
{ content }
|
||||
</TruncatedList>;
|
||||
}
|
||||
else {
|
||||
|
|
118
src/components/views/dialogs/SetPasswordDialog.js
Normal file
118
src/components/views/dialogs/SetPasswordDialog.js
Normal file
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
Copyright 2017 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import sdk from 'matrix-react-sdk';
|
||||
import { _t } from 'matrix-react-sdk/lib/languageHandler';
|
||||
|
||||
|
||||
/**
|
||||
* Prompt the user to set a password
|
||||
*
|
||||
* On success, `onFinished()` when finished
|
||||
*/
|
||||
export default React.createClass({
|
||||
displayName: 'SetPasswordDialog',
|
||||
propTypes: {
|
||||
onFinished: React.PropTypes.func.isRequired,
|
||||
},
|
||||
|
||||
getInitialState: function() {
|
||||
return {
|
||||
error: null,
|
||||
success: false,
|
||||
};
|
||||
},
|
||||
|
||||
_onPasswordChanged: function() {
|
||||
this.setState({
|
||||
success: true,
|
||||
});
|
||||
},
|
||||
|
||||
_onContinueClicked: function() {
|
||||
this.props.onFinished(true);
|
||||
},
|
||||
|
||||
_onPasswordChangeError: function(err) {
|
||||
let errMsg = err.error || "";
|
||||
if (err.httpStatus === 403) {
|
||||
errMsg = _t('Failed to change password. Is your password correct?');
|
||||
} else if (err.httpStatus) {
|
||||
errMsg += _t(
|
||||
' (HTTP status %(httpStatus))',
|
||||
{ httpStatus: err.httpStatus },
|
||||
);
|
||||
}
|
||||
this.setState({
|
||||
error: errMsg,
|
||||
});
|
||||
},
|
||||
|
||||
render: function() {
|
||||
const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
|
||||
const ChangePassword = sdk.getComponent('views.settings.ChangePassword');
|
||||
|
||||
if (this.state.success) {
|
||||
return (
|
||||
<BaseDialog className="mx_SetPasswordDialog"
|
||||
onFinished={this.props.onFinished}
|
||||
title={ _t('You have successfully set a password!') }
|
||||
>
|
||||
<div className="mx_Dialog_content">
|
||||
<p>
|
||||
{ _t('You can now return to your account after signing out, and sign in on other devices.') }
|
||||
</p>
|
||||
</div>
|
||||
<div className="mx_Dialog_buttons">
|
||||
<button
|
||||
className="mx_Dialog_primary"
|
||||
autoFocus={true}
|
||||
onClick={this._onContinueClicked}>
|
||||
{ _t('Continue') }
|
||||
</button>
|
||||
</div>
|
||||
</BaseDialog>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<BaseDialog className="mx_SetPasswordDialog"
|
||||
onFinished={this.props.onFinished}
|
||||
title={ _t('Please set a password!') }
|
||||
>
|
||||
<div className="mx_Dialog_content">
|
||||
<p>
|
||||
{ _t('This will allow you to return to your account after signing out, and sign in on other devices.') }
|
||||
</p>
|
||||
<ChangePassword
|
||||
className="mx_SetPasswordDialog_change_password"
|
||||
rowClassName=""
|
||||
rowLabelClassName=""
|
||||
rowInputClassName=""
|
||||
buttonClassName="mx_Dialog_primary mx_SetPasswordDialog_change_password_button"
|
||||
confirm={false}
|
||||
autoFocusNewPasswordInput={true}
|
||||
onError={this._onPasswordChangeError}
|
||||
onFinished={this._onPasswordChanged} />
|
||||
<div className="error">
|
||||
{ this.state.error }
|
||||
</div>
|
||||
</div>
|
||||
</BaseDialog>
|
||||
);
|
||||
},
|
||||
});
|
|
@ -1,54 +0,0 @@
|
|||
/*
|
||||
Copyright 2016 OpenMarket Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
var React = require('react');
|
||||
var dis = require('matrix-react-sdk/lib/dispatcher');
|
||||
import { _tJsx } from 'matrix-react-sdk/lib/languageHandler';
|
||||
|
||||
module.exports = React.createClass({
|
||||
displayName: 'GuestWarningBar',
|
||||
|
||||
onRegisterClicked: function() {
|
||||
dis.dispatch({'action': 'start_upgrade_registration'});
|
||||
},
|
||||
|
||||
onLoginClicked: function() {
|
||||
dis.dispatch({'action': 'logout'});
|
||||
dis.dispatch({'action': 'start_login'});
|
||||
},
|
||||
|
||||
render: function() {
|
||||
return (
|
||||
<div className="mx_GuestWarningBar">
|
||||
<img className="mx_GuestWarningBar_warning" src="img/warning.svg" width="24" height="23" alt="/!\"/>
|
||||
<div>
|
||||
{ _tJsx(
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!",
|
||||
[
|
||||
/<a>(.*?)<\/a>/,
|
||||
/<a>(.*?)<\/a>/
|
||||
],
|
||||
[
|
||||
(sub) => <a onClick={this.onRegisterClicked}>{sub}</a>,
|
||||
(sub) => <a onClick={this.onLoginClicked}>{sub}</a>
|
||||
]
|
||||
) }
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
60
src/components/views/globals/PasswordNagBar.js
Normal file
60
src/components/views/globals/PasswordNagBar.js
Normal file
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
Copyright 2017 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import React from 'react';
|
||||
import sdk from 'matrix-react-sdk';
|
||||
import Modal from 'matrix-react-sdk/lib/Modal';
|
||||
import dis from 'matrix-react-sdk/lib/dispatcher';
|
||||
|
||||
export default React.createClass({
|
||||
onUpdateClicked: function() {
|
||||
const SetPasswordDialog = sdk.getComponent('dialogs.SetPasswordDialog');
|
||||
Modal.createDialog(SetPasswordDialog, {
|
||||
onFinished: (passwordChanged) => {
|
||||
if (!passwordChanged) {
|
||||
return;
|
||||
}
|
||||
// Notify SessionStore that the user's password was changed
|
||||
dis.dispatch({
|
||||
action: 'password_changed',
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
render: function() {
|
||||
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
|
||||
const toolbarClasses = "mx_MatrixToolbar mx_MatrixToolbar_clickable";
|
||||
return (
|
||||
<div className={toolbarClasses} onClick={this.onUpdateClicked}>
|
||||
<img className="mx_MatrixToolbar_warning"
|
||||
src="img/warning.svg"
|
||||
width="24"
|
||||
height="23"
|
||||
alt="Warning"
|
||||
/>
|
||||
<div className="mx_MatrixToolbar_content">
|
||||
To return to your account in future you need to <u>set a password</u>
|
||||
</div>
|
||||
<button className="mx_MatrixToolbar_action">
|
||||
Set Password
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
|
@ -16,8 +16,8 @@ limitations under the License.
|
|||
|
||||
'use strict';
|
||||
|
||||
const React = require('react');
|
||||
const DateUtils = require('matrix-react-sdk/lib/DateUtils');
|
||||
import React from 'react';
|
||||
import DateUtils from 'matrix-react-sdk/lib/DateUtils';
|
||||
|
||||
module.exports = React.createClass({
|
||||
displayName: 'MessageTimestamp',
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
"Notifications": "Benachrichtigungen",
|
||||
"Invite to this room": "In diesen Raum einladen",
|
||||
"Filter room names": "Raum-Namen filtern",
|
||||
"Start chat": "Neuen Chat starten",
|
||||
"Start chat": "Starte Chat",
|
||||
"Room directory": "Raum-Verzeichnis",
|
||||
"Create new room": "Neuen Raum erstellen",
|
||||
"Create new room": "Erstelle neuen Raum",
|
||||
"Settings": "Einstellungen",
|
||||
"powered by Matrix": "betrieben mit Matrix",
|
||||
"Custom Server Options": "Erweiterte Server-Optionen",
|
||||
|
@ -17,7 +17,7 @@
|
|||
"The Home Server may be too old to support third party networks": "Der Home-Server ist eventuell zu alt, um Drittanbieter-Netzwerke zu unterstützen",
|
||||
"Directory": "Raum-Verzeichnis",
|
||||
"#example:": "#beispiel:",
|
||||
"Search for a room": "Suche einen Raum",
|
||||
"Search for a room": "Nach einem Raum suchen",
|
||||
"No rooms to show": "Keine Räume zum anzeigen",
|
||||
"World readable": "Alle können mitlesen",
|
||||
"Guests can join": "Gäste können beitreten",
|
||||
|
@ -37,7 +37,7 @@
|
|||
"Enable desktop notifications": "Desktop-Benachrichtigungen aktivieren",
|
||||
"Enable email notifications": "E-Mail-Benachrichtigungen aktivieren",
|
||||
"Enable notifications for this account": "Benachrichtigungen für dieses Konto aktivieren",
|
||||
"Enter keywords separated by a comma:": "Schlagworte kommagetrennt eingeben:",
|
||||
"Enter keywords separated by a comma:": "Schlüsselwörter kommagetrennt eingeben:",
|
||||
"Error": "Fehler",
|
||||
"Error saving email notification preferences": "Fehler beim Speichern der E-Mail-Benachrichtigungseinstellungen",
|
||||
"#example": "#Beispiel",
|
||||
|
@ -59,7 +59,7 @@
|
|||
"Low Priority": "Niedrige Priorität",
|
||||
"Noisy": "Laut",
|
||||
"Notification targets": "Benachrichtigungsziele",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Benachrichtigungen zu folgenden Stichwörtern folgen Regeln, die hier nicht angezeigt werden können:",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Die Benachrichtigungen zu den folgenden Schlüsselwörtern folgen Regeln, die hier nicht angezeigt werden können:",
|
||||
"Notify for all other messages/rooms": "Benachrichtigungen für alle anderen Mitteilungen/Räume aktivieren",
|
||||
"Operation failed": "Aktion fehlgeschlagen",
|
||||
"Reject": "ablehnen",
|
||||
|
@ -120,18 +120,18 @@
|
|||
"Advanced notification settings": "Erweiterte Benachrichtigungs-Einstellungen",
|
||||
"Call invitation": "Anruf-Einladung",
|
||||
"Messages containing my display name": "Nachrichten, die meinen Anzeigenamen enthalten",
|
||||
"Messages containing my user name": "Nachrichten, die meinen Nutzernamen enthalten",
|
||||
"Messages containing my user name": "Nachrichten, die meinen Benutzernamen enthalten",
|
||||
"Messages in group chats": "Nachrichten in Gruppen-Chats",
|
||||
"Messages in one-to-one chats": "Nachrichten in Eins-zu-Eins-Chats",
|
||||
"Messages in one-to-one chats": "Nachrichten in Einzel-Chats",
|
||||
"Messages sent by bot": "Nachrichten von Bots",
|
||||
"more": "mehr",
|
||||
"When I'm invited to a room": "Wenn ich in einen Raum eingeladen werde",
|
||||
"customServer_text": "Du kannst die erweiterten Server-Optionen nutzen, um dich auf anderen Matrix-Servern anzumelden, indem du eine andere Heimserver-URL eingibst. <br/>Dies ermöglicht es dir, Riot mit einem bereits existierenden Matrix-Konto auf einem anderen Heimserver zu nutzen.<br/><br/>Du kannst auch einen benutzerdefinierten Identitäts-Server eingeben, allerdings wirst du dann nicht in der Lage sein, andere Benutzer per E-Mail-Adresse einzuladen oder selbst Einladungen per E-Mail-Adresse zu erhalten.",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> und <a href=\"http://opera.com\">Opera</a> funktionieren ebenfalls.",
|
||||
"I understand the risks and wish to continue": "Ich verstehe das Risiko und möchte fortfahren",
|
||||
"Messages containing <span>keywords</span>": "Nachrichten, die definierte <span>Schlagworte</span> enthalten",
|
||||
"Messages containing <span>keywords</span>": "Nachrichten, die definierte <span>Schlüsselwörter</span> enthalten",
|
||||
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Bitte installiere <a href=\"https://www.google.com/chrome\">Chrome</a> oder <a href=\"https://getfirefox.com\">Firefox</a> für die beste Erfahrung.",
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot nutzt manche erweiterten Browser-Funktionen - manche sind deinem aktuellen Browser nicht verfügbar oder im experimentellen Status.",
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot nutzt zahlreiche fortgeschrittene Browser-Funktionen, die teilweise in deinem aktuell verwendeten Browser noch nicht verfügbar sind oder sich noch im experimentellen Status befinden.",
|
||||
"Sorry, your browser is <b>not</b> able to run Riot.": "Es tut uns leid, aber dein Browser kann Riot <b>nicht</b> ausführen.",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "In deinem aktuellen Browser kann das Aussehen und Gefühl der Anwendung komplett inkorrekt sein und einige oder alle Funktionen funktionieren evtl. nicht. Du kannst es trotzdem versuchen und fortfahren, aber du bist alleine mit allen Problemen auf die du stößt!",
|
||||
"Expand panel": "Panel ausklappen",
|
||||
|
@ -154,8 +154,8 @@
|
|||
"Report a bug": "Einen Fehler melden",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop auf %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot wird im mobilen Web nicht unterstützt. App installieren?",
|
||||
"Search": "Suche",
|
||||
"Search…": "Suche…",
|
||||
"Search": "Suchen",
|
||||
"Search…": "Suchen…",
|
||||
"Send": "Sende",
|
||||
"Send logs": "Sende Protokolle",
|
||||
"This Room": "Dieser Raum",
|
||||
|
@ -168,5 +168,40 @@
|
|||
"Waiting for response from server": "Warte auf eine Antwort vom Server",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Du verwendest Riot als Gast. <a>Registriere</a> oder <a>melde dich an</a> um Zugang zu mehr Räumen und Funktionen zu bekommen!",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Du musst HTTPS nutzen um einen Anruf mit Bildschirmfreigabe durchzuführen.",
|
||||
"OK": "OK"
|
||||
"OK": "OK",
|
||||
"Login": "Anmeldung",
|
||||
"Welcome to Riot.im": "Willkommen bei Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Dezentralisierter, verschlüsselter Chat & Zusammenarbeit unterstützt von [matrix]",
|
||||
"Search the room directory": "Durchsuche Raum-Verzeichnis",
|
||||
"Chat with Riot Bot": "Chatte mit dem Riot-Bot",
|
||||
"Get started with some tips from Riot Bot!": "Beginne mit einigen Tipps vom Riot-Bot!",
|
||||
"General discussion about Matrix": "Allgemeine Diskussion über Matrix",
|
||||
"Discussion of all things Matrix!": "\"Diskussion über alle Dinge\"-Matrix!",
|
||||
"Riot/Web & Desktop chat": "Riot-Web & Desktop-Chat",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot-iOS & \"matrix-ios-sdk\"-Chat",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot-Android & matrix-android-sdk-Chat",
|
||||
"Matrix technical discussions": "Technische Diskussion über Matrix",
|
||||
"Running Matrix services": "Matrix-Dienste betreiben",
|
||||
"Community-run support for Synapse": "Synapse-Support von der Community",
|
||||
"Admin support for Dendrite": "Admin-Unterstützung für Dendrite",
|
||||
"Announcements about Synapse releases": "Ankündigungen über Synapse-Versionen",
|
||||
"Support for those using and running matrix-appservice-irc": "Unterstützung für die, die \"matrix-appservice-irc\" betreiben und nutzen",
|
||||
"Building services on Matrix": "Dienste bauen für Matrix",
|
||||
"Support for those using the Matrix spec": "Unterstützung für die Nutzer der Matrix-Spezification",
|
||||
"Design and implementation of E2E in Matrix": "Design und Implementierung von Ende-zu-Ende-Verschlüsselung in Matrix",
|
||||
"Implementing VR services with Matrix": "Implementierung von VR-Diensten mit Matrix",
|
||||
"Implementing VoIP services with Matrix": "Implementierung von VoIP-Diensten mit Matrix",
|
||||
"Discussion of the Identity Service API": "Diskussion der Identitätsdienst-API",
|
||||
"Support for those using, running and writing other bridges": "Unterstützung für die, die andere Brücken nutzen, betreiben oder schreiben",
|
||||
"Contributing code to Matrix and Riot": "Code zu Matrix und Riot beitragen",
|
||||
"Dev chat for the Riot/Web dev team": "Entwickler-Chat für das Riot-Web-Entwickler-Team",
|
||||
"Co-ordination for Riot/Web translators": "Koordination für Riot-Web-Übersetzer",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Im Matrix-Netzwerk gibt es bereits jetzt zahlreiche Räume, die entweder mit bekannten Netzwerken wie Slack, IRC, Gitter, usw. verknüpft sind oder auch komplett eigenständig betrieben werden. Einen genauen Überblick erhältst du im Raum-Verzeichnis!",
|
||||
"Failed to change password. Is your password correct?": "Passwortänderung fehlgeschlagen. Ist dein Passwort richtig?",
|
||||
"You have successfully set a password!": "Du hast erfolgreich ein Passwort gesetzt!",
|
||||
"You can now return to your account after signing out, and sign in on other devices.": "Du kannst nun zu deinem Konto zurückkehren nach dem du dich an anderen Geräten ab- und angemeldet hast.",
|
||||
"Continue": "Fortfahren",
|
||||
"Please set a password!": "Bitte ein Passwort einrichten!",
|
||||
"This will allow you to return to your account after signing out, and sign in on other devices.": "Dies erlaubt dir, dich wieder an deinem Konto anzumelden, nachdem du dich abgemeldet hast.",
|
||||
"Dev chat for the Dendrite dev team": "Entwickler-Chat for das Dendrite-Entwickler-Team"
|
||||
}
|
||||
|
|
159
src/i18n/strings/el.json
Normal file
159
src/i18n/strings/el.json
Normal file
|
@ -0,0 +1,159 @@
|
|||
{
|
||||
"A new version of Riot is available.": "Μία νέα έκδοση του Riot είναι διαθέσιμη.",
|
||||
"Advanced notification settings": "Προχωρημένες ρυθμίσεις ειδοποιήσεων",
|
||||
"All messages": "Όλα τα μηνύματα",
|
||||
"All Rooms": "Όλα τα δωμάτια",
|
||||
"All notifications are currently disabled for all targets.": "Όλες οι ειδοποιήσεις είναι προς το παρόν απενεργοποιημένες για όλες τις συσκευές.",
|
||||
"An error occurred whilst saving your email notification preferences.": "Ένα σφάλμα προέκυψε κατά την αποθήκευση των ρυθμίσεων σας.",
|
||||
"Call invitation": "Πρόσκληση σε κλήση",
|
||||
"Cancel": "Ακύρωση",
|
||||
"Cancel Sending": "Ακύρωση Αποστολής",
|
||||
"Can't update user notification settings": "Δεν είναι δυνατή η ενημέρωση των ρυθμίσεων ειδοποίησης χρήστη",
|
||||
"Changelog": "Αλλαγές",
|
||||
"Close": "Κλείσιμο",
|
||||
"Collapse panel": "Ελαχιστοποίηση καρτέλας",
|
||||
"Create new room": "Δημιούργησε ένα νέο δωμάτιο",
|
||||
"Custom Server Options": "Προσαρμοσμένες ρυθμίσεις διακομιστή",
|
||||
"Describe your problem here.": "Περιέγραψε το πρόβλημα σου εδώ.",
|
||||
"Direct Chat": "Απευθείας Συνομιλία",
|
||||
"Directory": "Ευρετήριο",
|
||||
"Download this file": "Κατέβασε το αρχείο",
|
||||
"Enable audible notifications in web client": "Ενεργοποίηση των ηχητικών ειδοποιήσεων",
|
||||
"Enable email notifications": "Ενεργοποίηση ειδοποιήσεων μέσω email",
|
||||
"Enable notifications for this account": "Ενεργοποίηση ειδοποιήσεων γι' αυτό το λογαριασμό",
|
||||
"Enter keywords separated by a comma:": "Πρόσθεσε λέξεις κλειδιά χωρισμένες με κόμμα:",
|
||||
"Error": "Σφάλμα",
|
||||
"#example": "#παράδειγμα",
|
||||
"Expand panel": "Μεγιστοποίηση καρτέλας",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> και <a href=\"http://opera.com\">Opera</a> λειτουργούν επίσης.",
|
||||
"Add an email address above to configure email notifications": "Πρόσθεσε μια διεύθυνση email στο παραπάνω πεδίο, για να έχεις τη δυνατότητα να λαμβάνεις ειδοποιήσεις",
|
||||
"Collecting app version information": "Συγκέντρωση πληροφοριών σχετικά με την έκδοση της εφαρμογής",
|
||||
"customServer_text": "Μπορείτε να χρησιμοποιήσετε τις προσαρμοσμένες ρυθμίσεις για να εισέλθετε σε άλλους διακομιστές Matrix επιλέγοντας ένα διαφορετικό URL για το διακομιστή.<br/> Αυτό σας επιτρέπει να χρησιμοποιήσετε την εφαρμογή Riot με έναν υπάρχοντα λογαριασμό σε διαφορετικό διακομιστή.<br/><br/>Επίσης μπορείτε να επιλέξετε ένα διαφορετικό διακομιστή ταυτότητας αλλά δεν θα έχετε τη δυνατότητα να προσκαλέσετε άλλους χρήστες ή να σας προσκαλέσουν, μέσω email.",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s μέσω %(browserName)s σε %(osName)s",
|
||||
"All messages (loud)": "Όλα τα μηνύματα (δυνατά)",
|
||||
"delete the alias.": "διέγραψε το ψευδώνυμο.",
|
||||
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Διαγραφή του ψευδώνυμου %(alias)s και αφαίρεση του %(name)s από το ευρετήριο;",
|
||||
"Dismiss": "Αγνόησε",
|
||||
"Failed to add tag %(tagName)s to room": "Δεν ήταν δυνατή η εισαγωγή του tag %(tagName)s στο δωμάτιο",
|
||||
"Failed to change settings": "Δεν ήταν δυνατή η αλλαγή των ρυθμίσεων",
|
||||
"Failed to join the room": "Δεν ήταν δυνατή η σύνδεση στο δωμάτιο",
|
||||
"Favourite": "Αγαπημένο",
|
||||
"Files": "Αρχεία",
|
||||
"Filter room names": "Φίλτραρε τα δωμάτια",
|
||||
"Forward Message": "Προώθηση",
|
||||
" from room": " από το δωμάτιο",
|
||||
"Guests can join": "Επισκέπτες μπορούν να συνδεθούν",
|
||||
"Guest users can't invite users. Please register to invite.": "Οι επισκέπτες δεν έχουν τη δυνατότητα να προσκαλέσουν άλλους χρήστες. Παρακαλώ εγγραφείτε πρώτα.",
|
||||
"Hide panel": "Κρύψε τη καρτέλα",
|
||||
"I understand the risks and wish to continue": "Κατανοώ του κινδύνους και επιθυμώ να συνεχίσω",
|
||||
"Invite to this room": "Προσκάλεσε",
|
||||
"Keywords": "Λέξεις κλειδιά",
|
||||
"Leave": "Αποχώρησε",
|
||||
"Low Priority": "Χαμηλής Προτεραιότητας",
|
||||
"Members": "Μέλη",
|
||||
"Messages containing <span>keywords</span>": "Μηνύματα που περιέχουν <span>λέξεις κλειδιά</span>",
|
||||
"Messages containing my user name": "Μηνύματα που περιέχουν το ψευδώνυμο μου",
|
||||
"Messages in group chats": "Μηνύματα σε ομαδικές συνομιλίες",
|
||||
"Messages in one-to-one chats": "Μηνύματα σε 1-προς-1 συνομιλίες",
|
||||
"Messages sent by bot": "Μηνύματα από bots",
|
||||
"more": "περισσότερα",
|
||||
"Mute": "Σίγαση",
|
||||
"No rooms to show": "Δεν υπάρχουν δωμάτια για εμφάνιση",
|
||||
"Noisy": "Δυνατά",
|
||||
"Notifications": "Ειδοποιήσεις",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Οι ειδοποιήσεις για τις επόμενες λέξεις κλειδία ακολουθούν κανόνες που δεν είναι δυνατόν να εμφανιστούν εδώ:",
|
||||
"Notify for all other messages/rooms": "Στείλε ειδοποιήσεις για όλα τα υπόλοιπα μηνύματα/δωμάτια",
|
||||
"Notify me for anything else": "Ειδοποίησέ με για οτιδήποτε άλλο",
|
||||
"Operation failed": "Η λειτουργία απέτυχε",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Παρακαλώ περιγράψτε το σφάλμα. Τι κάνατε; Τι περιμένατε να συμβεί; Τι έγινε τελικά;",
|
||||
"Please Register": "Παρακαλώ εγγραφείτε",
|
||||
"Redact": "Ανακάλεσε",
|
||||
"Reject": "Απέρριψε",
|
||||
"Remove": "Αφαίρεσε",
|
||||
"Remove from Directory": "Αφαίρεση από το Ευρετήριο",
|
||||
"Resend": "Ξαναστείλε",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop σε %(platformName)s",
|
||||
"Room directory": "Ευρετήριο",
|
||||
"Room not found": "Το δωμάτιο δεν βρέθηκε",
|
||||
"Search": "Αναζήτηση",
|
||||
"Search…": "Αναζήτηση…",
|
||||
"Send": "Στείλε",
|
||||
"Settings": "Ρυθμίσεις",
|
||||
"Start chat": "Άρχισε μια συνομιλία",
|
||||
"This Room": "Στο δωμάτιο",
|
||||
"Unavailable": "Μη διαθέσιμο",
|
||||
"Unknown device": "Άγνωστη συσκευή",
|
||||
"Update": "Ενημέρωση",
|
||||
"Enable desktop notifications": "Ενεργοποίηση ειδοποιήσεων στην επιφάνεια εργασίας",
|
||||
"Error saving email notification preferences": "Σφάλμα κατά την αποθήκευση των προτιμήσεων",
|
||||
"Failed to send report: ": "Η αποστολή της αναφοράς απέτυχε: ",
|
||||
"Loading bug report module": "Φόρτωση μονάδας αναφοράς σφαλμάτων",
|
||||
"Mentions only": "Αναφορές μόνο",
|
||||
"Messages containing my display name": "Μηνύματα που περιέχουν το όνομα μου",
|
||||
"Off": "Ανενεργό",
|
||||
"On": "Ενεργό",
|
||||
"Permalink": "Μόνιμος σύνδεσμος",
|
||||
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Παρακαλώ εγκαταστήστε έναν από τους φυλλομετρητές <a href=\"https://www.google.com/chrome\">Chrome</a> ή <a href=\"https://getfirefox.com\">Firefox</a> για την καλύτερη δυνατή εμπειρία.",
|
||||
"Report a bug": "Ανεφέρε κάποιο πρόβλημα",
|
||||
"Riot does not know how to join a room on this network": "To Riot δεν γνωρίζει πως να συνδεθεί σε δωμάτια που ανήκουν σ' αυτό το δίκτυο",
|
||||
"Search for a room": "Αναζήτησε κάποιο δωμάτιο",
|
||||
"Sorry, your browser is <b>not</b> able to run Riot.": "Λυπούμαστε, αλλά ο φυλλομετρητής σας <b>δεν</b> υποστηρίζεται από το Riot.",
|
||||
"There are advanced notifications which are not shown here": "Υπάρχουν προχωρημένες ειδοποιήσεις οι οποίες δεν εμφανίζονται εδώ",
|
||||
"This room is inaccessible to guests. You may be able to join if you register.": "Το δωμάτιο δεν είναι προσβάσιμο σε επισκέπτες. Πιθανόν να μπορέσετε να συνδεθείτε εάν εγγραφείτε.",
|
||||
"Unable to join network": "Δεν είναι δυνατή η σύνδεση στο δίκτυο",
|
||||
"unknown error code": "άγνωστος κωδικός σφάλματος",
|
||||
"Unnamed room": "Δωμάτιο χωρίς όνομα",
|
||||
"Uploaded on %(date)s by %(user)s": "Ανέβηκε την %(date)s από %(user)s",
|
||||
"Uploading report": "Ανέβασμα αναφοράς",
|
||||
"What's New": "Τι νέο υπάρχει",
|
||||
"What's new?": "Τι νέο υπάρχει;",
|
||||
"When I'm invited to a room": "Όταν με προσκαλούν σ' ένα δωμάτιο",
|
||||
"World readable": "Εμφανές σε όλους",
|
||||
"You cannot delete this image. (%(code)s)": "Δεν μπορείτε να διαγράψετε αυτή την εικόνα. (%(code)s)",
|
||||
"You cannot delete this message. (%(code)s)": "Δεν μπορείτε να διαγράψετε αυτό το μήνυμα. (%(code)s)",
|
||||
"You are not receiving desktop notifications": "Δεν λαμβάνετε ειδοποιήσεις στην επιφάνεια εργασίας",
|
||||
"Sunday": "Κυριακή",
|
||||
"Monday": "Δευτέρα",
|
||||
"Tuesday": "Τρίτη",
|
||||
"Wednesday": "Τετάρτη",
|
||||
"Thursday": "Πέμπτη",
|
||||
"Friday": "Παρασκευή",
|
||||
"Saturday": "Σάββατο",
|
||||
"Today": "Σήμερα",
|
||||
"Yesterday": "Χθές",
|
||||
"OK": "ΟΚ",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Απαιτείται η χρήση HTTPS για το διαμοιρασμό της επιφάνειας εργασίας μέσω κλήσης.",
|
||||
"Welcome page": "Αρχική σελίδα",
|
||||
"Forget": "Διαγραφή",
|
||||
"Riot is not supported on mobile web. Install the app?": "Το Riot δεν υποστηρίζεται από φυλλομετρητές κινητών. Θέλετε να εγκαταστήσετε την εφαρμογή;",
|
||||
"Unhide Preview": "Προεπισκόπηση",
|
||||
"Waiting for response from server": "Αναμονή απάντησης από τον διακομιστή",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Χρησιμοποιείς το Riot ως επισκέπτης. Κάνε <a>εγγραφή</a> ή <a>συνδέσου</a> για να αποκτήσεις πρόσβαση σε περισσότερα δωμάτια και επιλογές!",
|
||||
"Collecting logs": "Συγκέντρωση πληροφοριών",
|
||||
"Enable them now": "Ενεργοποίηση",
|
||||
"Failed to forget room %(errCode)s": "Δεν ήταν δυνατή η διαγραφή του δωματίου",
|
||||
"Failed to update keywords": "Οι λέξεις κλειδιά δεν ενημερώθηκαν",
|
||||
"Failed to get protocol list from Home Server": "Δεν ήταν δυνατή η εύρεση των διαθέσιμων πρωτοκόλλων από το διακομιστή",
|
||||
"Failed to remove tag %(tagName)s from room": "Δεν ήταν δυνατή η διαγραφή του tag %(tagName)s από το δωμάτιο",
|
||||
"Notification targets": "Στόχοι ειδοποιήσεων",
|
||||
"Please describe the bug and/or send logs.": "Παρακαλώ περιγράψτε το πρόβλημα και/ή στείλτε πληροφορίες σχετικά με την εφαρμογή.",
|
||||
"Remove %(name)s from the directory?": "Αφαίρεση του %(name)s από το ευρετήριο;",
|
||||
"remove %(name)s from the directory.": "αφαίρεση του %(name)s από το ευρετήριο.",
|
||||
"Send logs": "Στείλε πληροφορίες",
|
||||
"Source URL": "Πηγαίο URL",
|
||||
"The server may be unavailable or overloaded": "Ο διακομιστής είναι μη διαθέσιμος ή υπερφορτωμένος",
|
||||
" to room": " στο δωμάτιο",
|
||||
"Unable to fetch notification target list": "Δεν ήταν δυνατή η εύρεση στόχων για τις ειδοποιήσεις",
|
||||
"Unable to look up room ID from server": "Δεν είναι δυνατή η εύρεση του ID για το δωμάτιο",
|
||||
"View Decrypted Source": "Δες τον αποκρυπτογραφημένο κώδικα",
|
||||
"View Source": "Δες τον κώδικα",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Ισως έχεις κάνει τις ρυθμίσεις σε άλλη εφαρμογή εκτός του Riot. Δεν μπορείς να τις αλλάξεις μέσω του Riot αλλά ισχύουν κανονικά",
|
||||
"Couldn't find a matching Matrix room": "Δεν βρέθηκε κάποιο δωμάτιο",
|
||||
"Drop here %(toAction)s": "Σύρε εδώ %(toAction)s",
|
||||
"Failed to": "Αποτυχία να",
|
||||
"Failed to get public room list": "Δεν ήταν δυνατή η λήψη της λίστας με τα δημόσια δωμάτια",
|
||||
"Failed to set direct chat tag": "Δεν ήταν δυνατός ο χαρακτηρισμός της συνομιλίας ως 1-προς-1",
|
||||
"powered by Matrix": "βασισμένο στο πρωτόκολλο Matrix",
|
||||
"Quote": "Αναφορά",
|
||||
"Fetching third party location failed": "Η λήψη τοποθεσίας απέτυχε"
|
||||
}
|
|
@ -67,6 +67,7 @@
|
|||
"Invite to this room": "Invite to this room",
|
||||
"Keywords": "Keywords",
|
||||
"Leave": "Leave",
|
||||
"Login": "Login",
|
||||
"Loading bug report module": "Loading bug report module",
|
||||
"Low Priority": "Low Priority",
|
||||
"Members": "Members",
|
||||
|
@ -160,5 +161,39 @@
|
|||
"OK": "OK",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
|
||||
"Welcome page": "Welcome page",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!"
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!",
|
||||
"Welcome to Riot.im": "Welcome to Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralised, encrypted chat & collaboration powered by [matrix]",
|
||||
"Search the room directory": "Search the room directory",
|
||||
"Chat with Riot Bot": "Chat with Riot Bot",
|
||||
"Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!",
|
||||
"General discussion about Matrix and Riot": "General discussion about Matrix and Riot",
|
||||
"Discussion of all things Matrix!": "Discussion of all things Matrix!",
|
||||
"Riot/Web & Desktop chat": "Riot/Web & Desktop chat",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk chat",
|
||||
"Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk chat",
|
||||
"Matrix technical discussions": "Matrix technical discussions",
|
||||
"Running Matrix services": "Running Matrix services",
|
||||
"Community-run support for Synapse": "Community-run support for Synapse",
|
||||
"Admin support for Dendrite": "Admin support for Dendrite",
|
||||
"Announcements about Synapse releases": "Announcements about Synapse releases",
|
||||
"Support for those using and running matrix-appservice-irc": "Support for those using and running matrix-appservice-irc",
|
||||
"Building services on Matrix": "Building services on Matrix",
|
||||
"Support for those using the Matrix spec": "Support for those using the Matrix spec",
|
||||
"Design and implementation of E2E in Matrix": "Design and implementation of E2E in Matrix",
|
||||
"Implementing VR services with Matrix": "Implementing VR services with Matrix",
|
||||
"Implementing VoIP services with Matrix": "Implementing VoIP services with Matrix",
|
||||
"Discussion of the Identity Service API": "Discussion of the Identity Service API",
|
||||
"Support for those using, running and writing other bridges": "Support for those using, running and writing other bridges",
|
||||
"Contributing code to Matrix and Riot": "Contributing code to Matrix and Riot",
|
||||
"Dev chat for the Riot/Web dev team": "Dev chat for the Riot/Web dev team",
|
||||
"Dev chat for the Dendrite dev team": "Dev chat for the Dendrite dev team",
|
||||
"Co-ordination for Riot/Web translators": "Co-ordination for Riot/Web translators",
|
||||
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!",
|
||||
"Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
|
||||
"You have successfully set a password!": "You have successfully set a password!",
|
||||
"You can now return to your account after signing out, and sign in on other devices.": "You can now return to your account after signing out, and sign in on other devices.",
|
||||
"Continue": "Continue",
|
||||
"Please set a password!": "Please set a password!",
|
||||
"This will allow you to return to your account after signing out, and sign in on other devices.": "This will allow you to return to your account after signing out, and sign in on other devices."
|
||||
}
|
||||
|
|
164
src/i18n/strings/en_US.json
Normal file
164
src/i18n/strings/en_US.json
Normal file
|
@ -0,0 +1,164 @@
|
|||
{
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.",
|
||||
"A new version of Riot is available.": "A new version of Riot is available.",
|
||||
"Add an email address above to configure email notifications": "Add an email address above to configure email notifications",
|
||||
"Advanced notification settings": "Advanced notification settings",
|
||||
"All messages": "All messages",
|
||||
"All messages (loud)": "All messages (loud)",
|
||||
"All Rooms": "All Rooms",
|
||||
"All notifications are currently disabled for all targets.": "All notifications are currently disabled for all targets.",
|
||||
"An error occurred whilst saving your email notification preferences.": "An error occurred while saving your email notification preferences.",
|
||||
"Call invitation": "Call invitation",
|
||||
"Cancel": "Cancel",
|
||||
"Cancel Sending": "Cancel Sending",
|
||||
"Can't update user notification settings": "Can't update user notification settings",
|
||||
"Changelog": "Changelog",
|
||||
"Close": "Close",
|
||||
"Collapse panel": "Collapse panel",
|
||||
"Collecting app version information": "Collecting app version information",
|
||||
"Collecting logs": "Collecting logs",
|
||||
"Create new room": "Create new room",
|
||||
"Couldn't find a matching Matrix room": "Couldn't find a matching Matrix room",
|
||||
"Custom Server Options": "Custom Server Options",
|
||||
"customServer_text": "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.",
|
||||
"delete the alias.": "delete the alias.",
|
||||
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Delete the room alias %(alias)s and remove %(name)s from the directory?",
|
||||
"Describe your problem here.": "Describe your problem here.",
|
||||
"Direct Chat": "Direct Chat",
|
||||
"Directory": "Directory",
|
||||
"Dismiss": "Dismiss",
|
||||
"Download this file": "Download this file",
|
||||
"Drop here %(toAction)s": "Drop here %(toAction)s",
|
||||
"Enable audible notifications in web client": "Enable audible notifications in web client",
|
||||
"Enable desktop notifications": "Enable desktop notifications",
|
||||
"Enable email notifications": "Enable email notifications",
|
||||
"Enable notifications for this account": "Enable notifications for this account",
|
||||
"Enable them now": "Enable them now",
|
||||
"Enter keywords separated by a comma:": "Enter keywords separated by a comma:",
|
||||
"Error": "Error",
|
||||
"Error saving email notification preferences": "Error saving email notification preferences",
|
||||
"#example": "#example",
|
||||
"Expand panel": "Expand panel",
|
||||
"Failed to": "Failed to",
|
||||
"Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
|
||||
"Failed to change settings": "Failed to change settings",
|
||||
"Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s",
|
||||
"Failed to update keywords": "Failed to update keywords",
|
||||
"Failed to get protocol list from Home Server": "Failed to get protocol list from Home Server",
|
||||
"Failed to get public room list": "Failed to get public room list",
|
||||
"Failed to join the room": "Failed to join the room",
|
||||
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
|
||||
"Failed to send report: ": "Failed to send report: ",
|
||||
"Failed to set direct chat tag": "Failed to set direct chat tag",
|
||||
"Failed to set Direct Message status of room": "Failed to set Direct Message status of room",
|
||||
"Favourite": "Favorite",
|
||||
"Fetching third party location failed": "Fetching third party location failed",
|
||||
"Files": "Files",
|
||||
"Filter room names": "Filter room names",
|
||||
"Forget": "Forget",
|
||||
"Forward Message": "Forward Message",
|
||||
" from room": " from room",
|
||||
"Guests can join": "Guests can join",
|
||||
"Guest users can't invite users. Please register to invite.": "Guest users can't invite users. Please register to invite.",
|
||||
"Hide panel": "Hide panel",
|
||||
"I understand the risks and wish to continue": "I understand the risks and wish to continue",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please uncheck:",
|
||||
"Invite to this room": "Invite to this room",
|
||||
"Keywords": "Keywords",
|
||||
"Leave": "Leave",
|
||||
"Loading bug report module": "Loading bug report module",
|
||||
"Low Priority": "Low Priority",
|
||||
"Members": "Members",
|
||||
"Mentions only": "Mentions only",
|
||||
"Messages containing my display name": "Messages containing my display name",
|
||||
"Messages containing <span>keywords</span>": "Messages containing <span>keywords</span>",
|
||||
"Messages containing my user name": "Messages containing my user name",
|
||||
"Messages in group chats": "Messages in group chats",
|
||||
"Messages in one-to-one chats": "Messages in one-to-one chats",
|
||||
"Messages sent by bot": "Messages sent by bot",
|
||||
"more": "more",
|
||||
"Mute": "Mute",
|
||||
"No rooms to show": "No rooms to show",
|
||||
"Noisy": "Noisy",
|
||||
"Notification targets": "Notification targets",
|
||||
"Notifications": "Notifications",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Notifications on the following keywords follow rules which can’t be displayed here:",
|
||||
"Notify for all other messages/rooms": "Notify for all other messages/rooms",
|
||||
"Notify me for anything else": "Notify me for anything else",
|
||||
"Off": "Off",
|
||||
"On": "On",
|
||||
"Operation failed": "Operation failed",
|
||||
"Permalink": "Permalink",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Please describe the bug. What did you do? What did you expect to happen? What actually happened?",
|
||||
"Please describe the bug and/or send logs.": "Please describe the bug and/or send logs.",
|
||||
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.",
|
||||
"Please Register": "Please Register",
|
||||
"powered by Matrix": "powered by Matrix",
|
||||
"Quote": "Quote",
|
||||
"Redact": "Redact",
|
||||
"Reject": "Reject",
|
||||
"Remove %(name)s from the directory?": "Remove %(name)s from the directory?",
|
||||
"Remove": "Remove",
|
||||
"remove %(name)s from the directory.": "remove %(name)s from the directory.",
|
||||
"Remove from Directory": "Remove from Directory",
|
||||
"Report a bug": "Report a bug",
|
||||
"Resend": "Resend",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
|
||||
"Riot does not know how to join a room on this network": "Riot does not know how to join a room on this network",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?",
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.",
|
||||
"Room directory": "Room directory",
|
||||
"Room not found": "Room not found",
|
||||
"Search": "Search",
|
||||
"Search…": "Search…",
|
||||
"Search for a room": "Search for a room",
|
||||
"Send": "Send",
|
||||
"Send logs": "Send logs",
|
||||
"Settings": "Settings",
|
||||
"Source URL": "Source URL",
|
||||
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> able to run Riot.",
|
||||
"Start chat": "Start chat",
|
||||
"The Home Server may be too old to support third party networks": "The Home Server may be too old to support third party networks",
|
||||
"There are advanced notifications which are not shown here": "There are advanced notifications which are not shown here",
|
||||
"The server may be unavailable or overloaded": "The server may be unavailable or overloaded",
|
||||
"This Room": "This Room",
|
||||
"This room is inaccessible to guests. You may be able to join if you register.": "This room is inaccessible to guests. You may be able to join if you register.",
|
||||
" to room": " to room",
|
||||
"Unable to fetch notification target list": "Unable to fetch notification target list",
|
||||
"Unable to join network": "Unable to join network",
|
||||
"Unable to look up room ID from server": "Unable to look up room ID from server",
|
||||
"Unavailable": "Unavailable",
|
||||
"Unhide Preview": "Unhide Preview",
|
||||
"Unknown device": "Unknown device",
|
||||
"unknown error code": "unknown error code",
|
||||
"Unnamed room": "Unnamed room",
|
||||
"Update": "Update",
|
||||
"Uploaded on %(date)s by %(user)s": "Uploaded on %(date)s by %(user)s",
|
||||
"Uploading report": "Uploading report",
|
||||
"View Decrypted Source": "View Decrypted Source",
|
||||
"View Source": "View Source",
|
||||
"What's New": "What's New",
|
||||
"What's new?": "What's new?",
|
||||
"Waiting for response from server": "Waiting for response from server",
|
||||
"When I'm invited to a room": "When I'm invited to a room",
|
||||
"World readable": "World readable",
|
||||
"You cannot delete this image. (%(code)s)": "You cannot delete this image. (%(code)s)",
|
||||
"You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)",
|
||||
"You are not receiving desktop notifications": "You are not receiving desktop notifications",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply",
|
||||
"Sunday": "Sunday",
|
||||
"Monday": "Monday",
|
||||
"Tuesday": "Tuesday",
|
||||
"Wednesday": "Wednesday",
|
||||
"Thursday": "Thursday",
|
||||
"Friday": "Friday",
|
||||
"Saturday": "Saturday",
|
||||
"Today": "Today",
|
||||
"Yesterday": "Yesterday",
|
||||
"OK": "OK",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
|
||||
"Welcome page": "Welcome page",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!"
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
"Direct Chat": "Conversación directa",
|
||||
"Directory": "Directorio",
|
||||
"Download this file": "Descargar este archivo",
|
||||
"Drop here %(toAction)s": "Suelta aquí para %(toAction)s",
|
||||
"Drop here %(toAction)s": "Suelta aquí %(toAction)s",
|
||||
"Enable audible notifications in web client": "Habilitar notificaciones audibles en el cliente web",
|
||||
"Enable desktop notifications": "Habilitar notificaciones de escritorio",
|
||||
"Enable email notifications": "Habilitar notificaciones por email",
|
||||
|
|
|
@ -127,5 +127,38 @@
|
|||
"Yesterday": "Tegnap",
|
||||
"Welcome page": "Üdvözlő oldal",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "A jelenlegi bőngésződdel teljesen hibás lehet az alkalmazás kinézete és bizonyos funkciók, ha nem az összes, nem fog működni. Ha mindenképpen ki akarod próbálni, folytathatod de egyedül vagy minden felbukkanó problémával!",
|
||||
"Messages containing <span>keywords</span>": "Az üzenet <span>kulcsszavakat</span> tartalmaz"
|
||||
"Messages containing <span>keywords</span>": "Az üzenet <span>kulcsszavakat</span> tartalmaz",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s alkalmazás %(browserName)s böngészőn %(osName)s rendszeren",
|
||||
"A new version of Riot is available.": "Új verzió érhető el a Riot-ból.",
|
||||
"All Rooms": "Minden szoba",
|
||||
"Cancel": "Mégse",
|
||||
"Changelog": "Változások",
|
||||
"Collecting app version information": "Alkalmazás verzió információk összegyűjtése",
|
||||
"Collecting logs": "Naplók összegyűjtése",
|
||||
"Describe your problem here.": "Írd le a problémád itt.",
|
||||
"Failed to send report: ": "A jelentést nem lehetett elküldeni: ",
|
||||
"Forward Message": "Üzenet továbbküldése",
|
||||
"Hide panel": "Panel elrejtése",
|
||||
"Loading bug report module": "Hibabejelentő modul betöltése",
|
||||
"Please describe the bug and/or send logs.": "Írd le a hibát és/vagy küld el a naplókat.",
|
||||
"Report a bug": "Hiba bejelentése",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop ezen: %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot nem támogatott mobil webböngészőn. Telepíted az alkalmazást?",
|
||||
"Search": "Keresés",
|
||||
"Search…": "Keresés…",
|
||||
"Send": "Küld",
|
||||
"Send logs": "Naplók elküldése",
|
||||
"This Room": "Ez a szoba",
|
||||
"Unavailable": "Elérhetetlen",
|
||||
"Unknown device": "Ismeretlen eszköz",
|
||||
"Update": "Frissítés",
|
||||
"Uploading report": "Jelentés feltöltése",
|
||||
"What's New": "Mik az újdonságok",
|
||||
"What's new?": "Mik az újdonságok?",
|
||||
"Waiting for response from server": "Válasz várása a szervertől",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Vendégként használod a Riot-ot. <a>Regisztrálj</a> vagy <a>jelentkezz be</a> további szobák és lehetőségek eléréséhez!",
|
||||
"OK": "Rendben",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "HTTPS-t kell használnod hogy képernyőmegosztásos hívást kezdeményezz.",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "A problémák diagnosztizálása érdekében erről a kliensről a hibajelentésben naplók lesznek elküldve. Ha csak az alábbi szöveget szeretnéd elküldeni akkor ezt ne jelöld meg:",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Írd le a hibát. Mit csináltál? Mi az amit szerettél volna ha történik? Ezzel szemben mi az ami történt?"
|
||||
}
|
||||
|
|
|
@ -118,5 +118,8 @@
|
|||
"Welcome page": "Welkom pagina",
|
||||
"Drop here %(toAction)s": "%(toAction)s hier naar toe verplaatsen",
|
||||
"Failed to set Direct Message status of room": "Het is mislukt om de directe berichten status van de kamer in te stellen",
|
||||
"Redact": "Redigeren"
|
||||
"Redact": "Redigeren",
|
||||
"A new version of Riot is available.": "Nieuwe Riot versie is beschikbaar.",
|
||||
"All Rooms": "Alle Kamers",
|
||||
"Cancel": "Annuleer"
|
||||
}
|
||||
|
|
|
@ -1 +1,78 @@
|
|||
{}
|
||||
{
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s przez %(browserName)s na %(osName)s",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> i <a href=\"http://opera.com\">Opera</a> też działają.",
|
||||
"A new version of Riot is available.": "Dostępna jest nowa wersja Riot.",
|
||||
"Add an email address above to configure email notifications": "Dodaj adres e-mail powyżej, aby skonfigurować powiadomienia e-mailowe",
|
||||
"Advanced notification settings": "Zaawansowane ustawienia powiadomień",
|
||||
"All messages": "Wszystkie wiadomości",
|
||||
"All messages (loud)": "Wszystkie wiadomości (głośno)",
|
||||
"All Rooms": "Wszystkie pokoje",
|
||||
"All notifications are currently disabled for all targets.": "Wszystkie powiadomienia są obecnie wyłączone dla wszystkich celów.",
|
||||
"An error occurred whilst saving your email notification preferences.": "Podczas zapisywania ustawień powiadomień e-mail wystąpił błąd.",
|
||||
"Call invitation": "Zaproszenie do rozmowy",
|
||||
"Cancel": "Anuluj",
|
||||
"Cancel Sending": "Anuluj wysyłanie",
|
||||
"Can't update user notification settings": "Nie można zaktualizować ustawień powiadomień użytkownika",
|
||||
"Changelog": "Dziennik zmian",
|
||||
"Close": "Blisko",
|
||||
"Collecting app version information": "Zbieranie informacji o wersji aplikacji",
|
||||
"Collecting logs": "Zbieranie dzienników",
|
||||
"Create new room": "Utwórz nowy pokój",
|
||||
"Couldn't find a matching Matrix room": "Nie można znaleźć pasującego pokoju Matrix",
|
||||
"Custom Server Options": "Niestandardowe opcje serwera",
|
||||
"delete the alias.": "usunąć alias.",
|
||||
"Describe your problem here.": "Opisz swój problem tutaj.",
|
||||
"Directory": "Księga adresowa",
|
||||
"Download this file": "Pobierz plik",
|
||||
"Welcome page": "Strona powitalna",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot nie jest obsługiwany przez mobilną przeglądarkę internetową. Zainstaluj aplikację?",
|
||||
"Room directory": "Katalog pokojowy",
|
||||
"Search": "Szukaj",
|
||||
"Search…": "Szukaj…",
|
||||
"Search for a room": "Szukaj pokoju",
|
||||
"Send": "Wysłać",
|
||||
"Settings": "Ustawienia",
|
||||
"Collapse panel": "Ukryj panel",
|
||||
"customServer_text": "Możesz używać opcji serwera niestandardowego do logowania się na inne serwery Matrix, określając inny adres URL serwera domowego.<br/>Pozwala to na wykorzystanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Można również ustawić niestandardowy serwer tożsamości, ale nie będzie można zapraszać użytkowników adresem e-mail, ani być zaproszony przez adres e-mailowy.",
|
||||
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Usuń alias %(alias)s i usuń %(name)s z katalogu?",
|
||||
"Dismiss": "Zdymisjonować",
|
||||
"Drop here %(toAction)s": "Upuść tutaj %(toAction)s",
|
||||
"Enable audible notifications in web client": "Włącz dźwiękowe powiadomienia w kliencie internetowym",
|
||||
"Enable email notifications": "Włącz powiadomienia e-mailowe",
|
||||
"Enable notifications for this account": "Włącz powiadomienia na tym koncie",
|
||||
"Enable them now": "Włącz je teraz",
|
||||
"Enter keywords separated by a comma:": "Wpisz słowa kluczowe oddzielone przecinkami:",
|
||||
"Error": "Błąd",
|
||||
"Error saving email notification preferences": "Wystąpił błąd podczas zapisywania ustawień powiadomień e-mailowych",
|
||||
"#example": "#przykład",
|
||||
"Expand panel": "Rozwiń panel",
|
||||
"Failed to": "Nie udało się",
|
||||
"Failed to add tag %(tagName)s to room": "Nie można dodać tagu %(tagName)s do pokoju",
|
||||
"Failed to change settings": "Nie udało się zmienić ustawień",
|
||||
"Failed to forget room %(errCode)s": "Nie mogłem zapomnieć o pokoju %(errCode)s",
|
||||
"Failed to update keywords": "Nie udało się zaktualizować słów kluczowych",
|
||||
"Failed to get protocol list from Home Server": "Nie można pobrać listy protokołów z serwera domowego",
|
||||
"Failed to get public room list": "Nie udało się uzyskać publicznej listy pokojowej",
|
||||
"Failed to join the room": "Nie udało się dołączyć do pokoju",
|
||||
"Failed to remove tag %(tagName)s from room": "Nie udało się usunąć tagu %(tagName)s z pokoju",
|
||||
"Failed to send report: ": "Nie udało się wysłać raportu: ",
|
||||
"Favourite": "Ulubiony",
|
||||
"Files": "Pliki",
|
||||
"Filter room names": "Filtruj nazwy pokojów",
|
||||
"Forget": "Zapomnij",
|
||||
"Forward Message": "Przekaż wiadomość",
|
||||
" from room": " z pokoju",
|
||||
"Guests can join": "Goście mogą dołączyć",
|
||||
"Hide panel": "Ukryj panel",
|
||||
"I understand the risks and wish to continue": "Rozumiem ryzyko i chęć kontynuować",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "W celu zdiagnozowania problemów logi z tego klienta zostaną wysłane wraz z tym raportem o błędzie. Jeśli wolisz wysłać tylko tekst powyżej, proszę odznacz:",
|
||||
"Invite to this room": "Zaproś do tego pokoju",
|
||||
"Keywords": "Słowa kluczowe",
|
||||
"Loading bug report module": "Ładowanie modułu raportu błędów",
|
||||
"Low Priority": "Niski priorytet",
|
||||
"Messages containing <span>keywords</span>": "Wiadomości zawierające słowa <span>kluczowe</span>",
|
||||
"Messages containing my user name": "Wiadomości zawierające mój użytkownik",
|
||||
"Messages in group chats": "Wiadomości w czatach grupowych",
|
||||
"Messages sent by bot": "Wiadomości wysłane przez robota",
|
||||
"more": "więcej"
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar suas notificações por email",
|
||||
"Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar as notificações por email",
|
||||
"All messages": "Todas as mensagens",
|
||||
"All messages (loud)": "Todas as mensagens (alto)",
|
||||
"An error occurred whilst saving your email notification preferences.": "Um erro ocorreu enquanto o sistema estava salvando suas preferências de notificação por email.",
|
||||
"An error occurred whilst saving your email notification preferences.": "Ocorreu um erro ao guardar as suas preferências de notificação por email.",
|
||||
"Call invitation": "Convite para chamada",
|
||||
"Cancel Sending": "Cancelar o envio",
|
||||
"Can't update user notification settings": "Não é possível atualizar as preferências de notificação",
|
||||
|
@ -15,62 +15,62 @@
|
|||
"Direct Chat": "Conversa pessoal",
|
||||
"Directory": "Diretório",
|
||||
"Dismiss": "Descartar",
|
||||
"Download this file": "Baixar este arquivo",
|
||||
"Download this file": "Transferir este ficheiro",
|
||||
"Drop here %(toAction)s": "Arraste aqui para %(toAction)s",
|
||||
"Enable audible notifications in web client": "Ativar notificações de áudio no cliente web",
|
||||
"Enable desktop notifications": "Ativar notificações no desktop",
|
||||
"Enable email notifications": "Ativar notificações por email",
|
||||
"Enable email notifications": "Ativar notificações por e-mail",
|
||||
"Enable notifications for this account": "Ativar notificações para esta conta",
|
||||
"Enable them now": "Habilitar agora",
|
||||
"Enter keywords separated by a comma:": "Coloque cada palavras-chave separada por vírgula:",
|
||||
"Enable them now": "Ativar agora",
|
||||
"Enter keywords separated by a comma:": "Insira palavras-chave separadas por vírgula:",
|
||||
"Error": "Erro",
|
||||
"Error saving email notification preferences": "Erro ao salvar as preferências de notificação por email",
|
||||
"Error saving email notification preferences": "Erro ao guardar as preferências de notificação por e-mail",
|
||||
"#example:": "#exemplo",
|
||||
"Failed to": "Falha ao",
|
||||
"Failed to add tag %(tagName)s to room": "Falha ao adicionar %(tagName)s à sala",
|
||||
"Failed to change settings": "Falhou ao mudar as preferências",
|
||||
"Failed to forget room %(errCode)s": "Falhou ao esquecer a sala %(errCode)s",
|
||||
"Failed to update keywords": "Falhou ao alterar as palavras-chave",
|
||||
"Failed to get protocol list from Home Server": "Falha em acessar a lista de protocolos do servidor padrão",
|
||||
"Failed to get public room list": "Falha ao acessar a lista pública de salas",
|
||||
"Failed to join the room": "Falhou ao entrar na sala",
|
||||
"Failed to change settings": "Falha ao alterar as configurações",
|
||||
"Failed to forget room %(errCode)s": "Falha ao esquecer a sala %(errCode)s",
|
||||
"Failed to update keywords": "Falha ao atualizar as palavras-chave",
|
||||
"Failed to get protocol list from Home Server": "Falha ao obter a lista de protocolos do servidor padrão",
|
||||
"Failed to get public room list": "Falha ao obter a lista de salas públicas",
|
||||
"Failed to join the room": "Falha ao entrar na sala",
|
||||
"Failed to remove tag %(tag)s from room": "Falha ao remover a palavra-chave %(tag)s da sala",
|
||||
"Failed to set direct chat tag": "Falha ao definir conversa como pessoal",
|
||||
"Failed to set Direct Message status of room": "Falha em definir a mensagem de status da sala",
|
||||
"Favourite": "Favorito",
|
||||
"Fetching third party location failed": "Falha ao acessar localização de terceiros",
|
||||
"Files": "Arquivos",
|
||||
"Fetching third party location failed": "Falha ao obter localização de terceiros",
|
||||
"Files": "Ficheiros",
|
||||
"Filter room names": "Filtrar salas por título",
|
||||
"Forget": "Esquecer",
|
||||
"Forward Message": "Encaminhar",
|
||||
" from room": " da sala",
|
||||
"Guests can join": "Convidados podem entrar",
|
||||
"Guest users can't invite users. Please register to invite.": "Usuários convidados não podem convidar outros usuários. Por gentileza se registre para enviar convites.",
|
||||
"Guest users can't invite users. Please register to invite.": "Utilizadores convidados não podem convidar utilizadores. Por favor registe-se para convidar.",
|
||||
"Invite to this room": "Convidar para esta sala",
|
||||
"Keywords": "Palavras-chave",
|
||||
"Leave": "Sair",
|
||||
"Low Priority": "Baixa prioridade",
|
||||
"Members": "Membros",
|
||||
"Mentions only": "Apenas menções",
|
||||
"Messages containing my display name": "Mensagens contendo meu nome público",
|
||||
"Messages containing my user name": "Mensagens contendo meu nome de usuário",
|
||||
"Messages containing my display name": "Mensagens contendo o meu nome público",
|
||||
"Messages containing my user name": "Mensagens contendo o meu nome de utilizador",
|
||||
"Messages in group chats": "Mensagens em salas",
|
||||
"Messages in one-to-one chats": "Mensagens em conversas pessoais",
|
||||
"Messages sent by bot": "Mensagens enviadas por bots",
|
||||
"more": "ver mais",
|
||||
"Mute": "Mudo",
|
||||
"more": "mais",
|
||||
"Mute": "Silenciar",
|
||||
"No rooms to show": "Não existem salas a serem exibidas",
|
||||
"Noisy": "Barulhento",
|
||||
"Notification targets": "Alvos de notificação",
|
||||
"Notifications": "Notificações",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Notificações sobre as seguintes palavras-chave seguem regras que não podem ser exibidas aqui:",
|
||||
"Notify for all other messages/rooms": "Notificar para todas as outras mensagens e salas",
|
||||
"Notify for all other messages/rooms": "Notificar para todas as outras mensagens/salas",
|
||||
"Notify me for anything else": "Notificar-me sobre qualquer outro evento",
|
||||
"Off": "Desativado",
|
||||
"On": "Ativado",
|
||||
"Operation failed": "A operação falhou",
|
||||
"Permalink": "Link permanente",
|
||||
"Please Register": "Por favor, cadastre-se",
|
||||
"Please Register": "Por favor registe-se",
|
||||
"powered by Matrix": "rodando a partir do Matrix",
|
||||
"Quote": "Citar",
|
||||
"Redact": "Remover",
|
||||
|
@ -80,87 +80,87 @@
|
|||
"remove %(name)s from the directory.": "remover %(name)s da lista pública de salas.",
|
||||
"Remove from Directory": "Remover da lista pública de salas",
|
||||
"Resend": "Reenviar",
|
||||
"Riot does not know how to join a room on this network": "O sistema não sabe como entrar na sala desta rede",
|
||||
"Riot does not know how to join a room on this network": "O Riot não sabe como entrar numa sala nesta rede",
|
||||
"Room directory": "Lista de salas públicas",
|
||||
"Room not found": "Sala não encontrada",
|
||||
"Search for a room": "Procurar por uma sala",
|
||||
"Search for a room": "Pesquisar por uma sala",
|
||||
"Settings": "Configurações",
|
||||
"Source URL": "URL fonte",
|
||||
"Start chat": "Começar conversa",
|
||||
"Start chat": "Iniciar conversa",
|
||||
"The Home Server may be too old to support third party networks": "O servidor pode ser muito antigo para suportar redes de terceiros",
|
||||
"There are advanced notifications which are not shown here": "Existem opções avançadas que não são exibidas aqui",
|
||||
"There are advanced notifications which are not shown here": "Existem notificações avançadas que não são exibidas aqui",
|
||||
"The server may be unavailable or overloaded": "O servidor pode estar inacessível ou sobrecarregado",
|
||||
"This room is inaccessible to guests. You may be able to join if you register.": "Esta sala é inacessível para convidados. Você poderá entrar caso se registre.",
|
||||
"This room is inaccessible to guests. You may be able to join if you register.": "Esta sala é inacessível para convidados. Poderá conseguir entrar caso se registe.",
|
||||
" to room": " para sala",
|
||||
"Unable to fetch notification target list": "Não foi possível obter a lista de alvos de notificação",
|
||||
"Unable to join network": "Não foi possível conectar na rede",
|
||||
"Unable to look up room ID from server": "Não foi possível buscar identificação da sala no servidor",
|
||||
"Unable to join network": "Não foi possível juntar-se à rede",
|
||||
"Unable to look up room ID from server": "Não foi possível obter a identificação da sala do servidor",
|
||||
"Unhide Preview": "Mostrar a pré-visualização novamente",
|
||||
"unknown error code": "código de erro desconhecido",
|
||||
"Unnamed room": "Sala sem nome",
|
||||
"Uploaded on %(date)s by %(user)s": "Enviada em %(date)s por %(user)s",
|
||||
"View Decrypted Source": "Ver a fonte descriptografada",
|
||||
"View Decrypted Source": "Ver a fonte decifrada",
|
||||
"View Source": "Ver a fonte",
|
||||
"When I'm invited to a room": "Quando sou convidada(o) a uma sala",
|
||||
"When I'm invited to a room": "Quando sou convidado para uma sala",
|
||||
"World readable": "Público",
|
||||
"You cannot delete this image. (%(code)s)": "Você não pode apagar esta imagem. (%(code)s)",
|
||||
"You cannot delete this message. (%(code)s)": "Você não pode apagar esta mensagem. (%(code)s)",
|
||||
"You are not receiving desktop notifications": "Você não está recebendo notificações desktop",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Você pode te-las configurado em outro cliente além do Riot. Você não pode ajustá-las no Riot, mas ainda assim elas se aplicam aqui",
|
||||
"You cannot delete this image. (%(code)s)": "Não pode apagar esta imagem. (%(code)s)",
|
||||
"You cannot delete this message. (%(code)s)": "Não pode apagar esta mensagem. (%(code)s)",
|
||||
"You are not receiving desktop notifications": "Não está a receber notificações de desktop",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Pode ter configurado num outro cliente sem ser o Riot. Não pode ajustá-las no Riot, mas ainda assim elas aplicam-se",
|
||||
"Sunday": "Domingo",
|
||||
"Monday": "Segunda",
|
||||
"Tuesday": "Terça",
|
||||
"Wednesday": "Quarta",
|
||||
"Thursday": "Quinta",
|
||||
"Friday": "Sexta",
|
||||
"Monday": "Segunda-feira",
|
||||
"Tuesday": "Terça-feira",
|
||||
"Wednesday": "Quarta-feira",
|
||||
"Thursday": "Quinta-feira",
|
||||
"Friday": "Sexta-feira",
|
||||
"Saturday": "Sábado",
|
||||
"Today": "Hoje",
|
||||
"Yesterday": "Ontem",
|
||||
"#example": "#exemplo",
|
||||
"Failed to remove tag %(tagName)s from room": "Não foi possível remover a marcação %(tagName)s desta sala",
|
||||
"Welcome page": "Página de boas vindas",
|
||||
"Welcome page": "Página de boas-vindas",
|
||||
"Advanced notification settings": "Configurações avançadas de notificação",
|
||||
"customServer_text": "Você pode usar as opções de servidor personalizado para entrar em outros servidores Matrix, especificando uma URL de outro Servidor de Base.<br/> Isso permite que você use Riot com uma conta Matrix que exista em outro Servidor de Base.<br/> <br/> Você também pode configurar um servidor de Identidade personalizado, mas neste caso não poderá convidar usuárias(os) pelo endereço de e-mail, ou ser convidado(a) pelo seu endereço de e-mail.",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> e <a href=\"http://opera.com\">Opera</a> funcionam também.",
|
||||
"All notifications are currently disabled for all targets.": "Todas as notificações estão atualmente desabilitadas para todos os casos.",
|
||||
"customServer_text": "Pode usar as opções de servidor personalizado para entrar noutros servidores Matrix especificando para isso um URL de outro Servidor de Base.<br/> Isto permite que use o Riot com uma conta Matrix que exista noutro Servidor de Base.<br/> <br/> Também pode configurar um servidor de Identidade personalizado mas não poderá convidar utilizadores através do endereço de e-mail, ou ser convidado pelo seu endereço de e-mail.",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> e <a href=\"http://opera.com\">Opera</a> também funcionam.",
|
||||
"All notifications are currently disabled for all targets.": "Todas as notificações estão atualmente desativadas para todos os casos.",
|
||||
"Collapse panel": "Colapsar o painel",
|
||||
"Expand panel": "Expandir o painel",
|
||||
"I understand the risks and wish to continue": "Entendo os riscos e desejo continuar",
|
||||
"I understand the risks and wish to continue": "Entendo os riscos e pretendo continuar",
|
||||
"Messages containing <span>keywords</span>": "Mensagens contendo <span>palavras-chave</span>",
|
||||
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Por favor instale <a href=\"https://www.google.com/chrome\">Chrome</a> ou <a href=\"https://getfirefox.com\">Firefox</a> para ter a melhor experiência de uso.",
|
||||
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Por favor instale <a href=\"https://www.google.com/chrome\">Chrome</a> ou <a href=\"https://getfirefox.com\">Firefox</a> para ter a melhor experiência.",
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "O Riot usa muitas funcionalidades avançadas do navegador, algumas das quais não estão disponíveis ou ainda são experimentais no seu navegador atual.",
|
||||
"Sorry, your browser is <b>not</b> able to run Riot.": "Perdão. O seu navegador <b>não</b> é capaz de rodar o Riot.",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Com o seu navegador atual, a aparência e sensação de uso da aplicação podem estar completamente incorretas, e algumas das funcionalidades poderão não funcionar. Se você quiser tentar de qualquer maneira, pode continuar, mas aí vai ter que se virar sozinho(a) com os problemas que porventura encontrar!",
|
||||
"Sorry, your browser is <b>not</b> able to run Riot.": "Desculpe, o seu navegador <b>não</b> é capaz de executar o Riot.",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Com o seu navegador atual, a aparência e sensação de uso da aplicação podem estar completamente incorretas, e algumas das funcionalidades poderão não funcionar. Se quiser tentar de qualquer maneira pode continuar, mas está por sua conta com algum problema que possa encontrar!",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s em %(osName)s",
|
||||
"A new version of Riot is available.": "Uma nova versão do Riot está disponível.",
|
||||
"All Rooms": "Todas as salas",
|
||||
"Cancel": "Cancelar",
|
||||
"Changelog": "Histórico de alterações",
|
||||
"Collecting app version information": "Coletando informação sobre a versão do app",
|
||||
"Collecting logs": "Coletando logs",
|
||||
"Collecting app version information": "A recolher informação da versão da app",
|
||||
"Collecting logs": "A recolher logs",
|
||||
"Describe your problem here.": "Descreva o seu problema aqui.",
|
||||
"Failed to send report: ": "Falha ao enviar o relatório: ",
|
||||
"Hide panel": "Ocultar o painel",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar problemas, relatórios deste cliente serão enviados junto a esta notificação de falha. Se você prefere apenas enviar o seu texto acima, por favor des-selecione:",
|
||||
"Loading bug report module": "Carregando o módulo de relatórios de erros",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Por favor, descreva a falha encontrada. O que você estava fazendo? O que você esperava que devia ocorrer? E o que aconteceu efetivamente?",
|
||||
"Please describe the bug and/or send logs.": "Por favor, descreva as falhas e/ou envie os logs de erro.",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar problemas, relatórios deste cliente serão enviados juntamente com esta notificação de falha. Se preferir enviar apenas o texto acima, por favor remova a seleção:",
|
||||
"Loading bug report module": "A carregar o módulo de relato de erros",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Por favor descreva a falha encontrada. O que fez? O que esperava que acontecesse? O que realmente aconteceu?",
|
||||
"Please describe the bug and/or send logs.": "Por favor descreva a falha e/ou envie os logs de erro.",
|
||||
"Report a bug": "Reportar uma falha",
|
||||
"Riot Desktop on %(platformName)s": "Riot para computadores desktop em %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot versão web não é suportado a partir de celular. Quer instalar o app para celular?",
|
||||
"Search": "Buscar",
|
||||
"Search…": "Buscar…",
|
||||
"Riot is not supported on mobile web. Install the app?": "O Riot não é suportado na web para dispositivos móveis. Quer instalar a app?",
|
||||
"Search": "Pesquisar",
|
||||
"Search…": "Pesquisar…",
|
||||
"Send": "Enviar",
|
||||
"Send logs": "Enviar relatórios de erro",
|
||||
"This Room": "Esta sala",
|
||||
"Unavailable": "Indisponível",
|
||||
"Unknown device": "Dispositivo desconhecido",
|
||||
"Update": "Atualizar",
|
||||
"Uploading report": "Enviando o relatório",
|
||||
"Uploading report": "A enviar o relatório",
|
||||
"What's New": "Novidades",
|
||||
"What's new?": "O que há de novidades?",
|
||||
"Waiting for response from server": "Esperando por resposta do servidor",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Você está usando o Riot como visitante. <a>Registre-se</a> ou <a>faça login</a> para acessar mais salas e funcionalidades!",
|
||||
"What's new?": "O que há de novo?",
|
||||
"Waiting for response from server": "À espera de resposta do servidor",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Está a usar o Riot como convidado. <a>Registe-se</a> ou <a>faça login</a> para aceder a mais salas e funcionalidades!",
|
||||
"OK": "Ok",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Você precisa estar usando HTTPS para poder iniciar uma chamada com compartilhamento de tela."
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Necessita de estar a usar HTTPS para poder iniciar uma chamada com partilha de ecrã."
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"Directory": "Diretório",
|
||||
"Dismiss": "Descartar",
|
||||
"Download this file": "Baixar este arquivo",
|
||||
"Drop here %(toAction)s": "Arraste aqui para %(toAction)s",
|
||||
"Drop here %(toAction)s": "Arraste aqui %(toAction)s",
|
||||
"Enable audible notifications in web client": "Ativar notificações de áudio no cliente web",
|
||||
"Enable desktop notifications": "Ativar notificações no desktop",
|
||||
"Enable email notifications": "Ativar notificações por email",
|
||||
|
|
|
@ -6,19 +6,19 @@
|
|||
"Can't update user notification settings": "Не возможно обновить пользовательские настройки оповещения",
|
||||
"Create new room": "Создать комнату",
|
||||
"Couldn't find a matching Matrix room": "Не возможно найти подходящую Матрикс комнату",
|
||||
"Custom Server Options": "Настройки пользовательского сервера",
|
||||
"Custom Server Options": "Расширенные настройки сервера",
|
||||
"delete the alias.": "удалить привязку.",
|
||||
"Delete the room alias": "Удалить привязку комнаты",
|
||||
"Direct Chat": "Персональное сообщение",
|
||||
"Directory": "Каталог",
|
||||
"Dismiss": "Отмена",
|
||||
"Dismiss": "Отказ",
|
||||
"Drop here to": "Перетащите сюда",
|
||||
"Enable audible notifications in web client": "Включить звуковые оповещения в веб клиенте",
|
||||
"Enable desktop notifications": "Включить оповещения на рабочем столе",
|
||||
"Enable email notifications": "Включить оповещения по электронной почте",
|
||||
"Enable notifications for this account": "Включить оповещения для этого аккаунта",
|
||||
"Enable them now": "Включить сейчас",
|
||||
"Enter keywords separated by a comma:": "Введите ключевые слова, разделенные запятой",
|
||||
"Enter keywords separated by a comma:": "Введите ключевые слова, разделенные запятой:",
|
||||
"Error": "Ошибка",
|
||||
"Error saving email notification preferences": "Ошибка сохранения настроек оповещений по электронной почте",
|
||||
"#example": "#пример",
|
||||
|
@ -27,20 +27,20 @@
|
|||
"Failed to change settings": "Не удалось изменить настройки",
|
||||
"Failed to update keywords": "Не удалось обновить ключевые слова",
|
||||
"Failed to get protocol list from Home Server": "Не удалось получить список протоколов с Пользовательского Сервера",
|
||||
"Failed to get public room list": "Не удалось получить список общих комнат",
|
||||
"Failed to get public room list": "Не удалось получить список открытых комнат",
|
||||
"Failed to join the room": "Не удалось войти в комнату",
|
||||
"Failed to remove tag ": "Не удалось удалить тег ",
|
||||
"Failed to set Direct Message status of room": "Не удалось задать статус комнаты Персональное Сообщение",
|
||||
"Favourite": "Избранное",
|
||||
"Fetching third party location failed": "Не удалось получить местоположение",
|
||||
"Files": "Файлы",
|
||||
"Filter room names": "Отфильтровать по названию комнаты",
|
||||
"Filter room names": "Фильтр по назв. комнаты",
|
||||
"Forget": "Забыть",
|
||||
"from the directory": "из каталога",
|
||||
" from room": " из комнаты",
|
||||
"Guests can join": "Гость может присоединиться",
|
||||
"Guest users can't invite users. Please register to invite.": "Гость не может приглашать пользователей. Зарегистрируйтесь для приглошений.",
|
||||
"Invite to this room": "Пригласить в эту комнату",
|
||||
"Invite to this room": "Пригласить",
|
||||
"Keywords": "Ключевые слова",
|
||||
"Leave": "Покинуть",
|
||||
"Low Priority": "Низкий приоритет",
|
||||
|
@ -49,14 +49,14 @@
|
|||
"Noisy": "Звук",
|
||||
"Notification targets": "Цели уведомления",
|
||||
"Notifications": "Уведомления",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Уведомления по следующим ключевым словам соответствуют правилам, которые нельзя отобразить здесь",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Уведомления по следующим ключевым словам соответствуют правилам, которые нельзя отобразить здесь:",
|
||||
"Notify for all other messages/rooms": "Уведомить обо всех других сообщениях/комнатах",
|
||||
"Notify me for anything else": "Уведомить меня обо всем кроме",
|
||||
"Off": "Выключить",
|
||||
"On": "Включить",
|
||||
"Operation failed": "Операция не удалась",
|
||||
"Operation failed": "Действие не удалось",
|
||||
"Please Register": "Пожалуйста, зарегистрируйтесь",
|
||||
"powered by Matrix": "разработано в Matrix",
|
||||
"powered by Matrix": "управляемый с Matrix",
|
||||
"Reject": "Отклонить",
|
||||
"Remove": "Удалить",
|
||||
"remove": "удалить",
|
||||
|
@ -68,7 +68,7 @@
|
|||
"Settings": "Настройки",
|
||||
"Start chat": "Начать чат",
|
||||
"The Home Server may be too old to support third party networks": "Пользовательский сервер может быть слишком старым для поддержки сторонних сетей",
|
||||
"There are advanced notifications which are not shown here": "Здесь расширенные уведомления, которые здесь не показаны",
|
||||
"There are advanced notifications which are not shown here": "Существуют расширенные уведомления, которые здесь не показаны",
|
||||
"The server may be unavailable or overloaded": "Возможно сервер недоступен или перегружен",
|
||||
"This room is inaccessible to guests. You may be able to join if you register.": "Эта комната недоступна для гостей. Вы можете присоединиться, если зарегистрируетесь.",
|
||||
" to room": " к комнате",
|
||||
|
@ -85,7 +85,7 @@
|
|||
"Cancel Sending": "Отмена отправки",
|
||||
"Close": "Закрыть",
|
||||
"Download this file": "Скачать этот файл",
|
||||
"Drop here %(toAction)s": "Вставить сюда для %(toAction)s",
|
||||
"Drop here %(toAction)s": "Вставить сюда: %(toAction)s",
|
||||
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Удалить псевдоним комнаты %(alias)s и очистить %(name)s из каталога?",
|
||||
"Failed to add tag %(tagName)s to room": "Не удалось добавить тег %(tagName)s в комнату",
|
||||
"Failed to forget room %(errCode)s": "Не удалось забыть комнату %(errCode)s",
|
||||
|
@ -93,7 +93,7 @@
|
|||
"Failed to set direct chat tag": "Не удалось пометить прямую беседу",
|
||||
"Unhide Preview": "Показать предпросмотр",
|
||||
"Uploaded on %(date)s by %(user)s": "Загружено %(date)s %(user)s",
|
||||
"View Decrypted Source": "Просмотр зашыфрованного источника",
|
||||
"View Decrypted Source": "Просмотр зашифрованного источника",
|
||||
"View Source": "Просмотр источника",
|
||||
"You cannot delete this image. (%(code)s)": "Вы не можете удалить это изображение. (%(code)s)",
|
||||
"You cannot delete this message. (%(code)s)": "Вы не можете удалить это сообщение. (%(code)s)",
|
||||
|
@ -125,5 +125,52 @@
|
|||
"Messages in one-to-one chats": "Сообщения в приватных чатах",
|
||||
"Messages sent by bot": "Сообщения, отправленные ботом",
|
||||
"more": "больше",
|
||||
"When I'm invited to a room": "Когда я приглашен в комнату"
|
||||
"When I'm invited to a room": "Когда я приглашен в комнату",
|
||||
"A new version of Riot is available.": "Доступна новая версия Riot.",
|
||||
"All Rooms": "Все комнаты",
|
||||
"Cancel": "Отмена",
|
||||
"Changelog": "История изменений",
|
||||
"Collapse panel": "Закрыпть панель",
|
||||
"Collecting app version information": "Сбор информации о версиях программы",
|
||||
"Collecting logs": "Сбор протоколов",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s с %(browserName)s на %(osName)s",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> и <a href=\"http://opera.com\">Opera</a> работают тоже.",
|
||||
"Describe your problem here.": "Опиши здесь свою проблему.",
|
||||
"Expand panel": "Открыть панель",
|
||||
"Failed to send report: ": "Не удалось отослать отчет: ",
|
||||
"Forward Message": "Переслать сообщение дальше",
|
||||
"Hide panel": "Скрыть панель",
|
||||
"I understand the risks and wish to continue": "Я понимаю риск и хочу продолжыть",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Что бы выявить проблему, будет отослан журнал этого клиента с сообщением о ошыбке. Если ты только верхний текст отослать хочешь, отключи следующее:",
|
||||
"Loading bug report module": "Загрузи Модуль ошыбок",
|
||||
"Messages containing <span>keywords</span>": "Сообщения, которые содержат определенный <span>ключевые слова</span>",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Пожалуйста опишы (на Английском) ошыбку. Что ты делал? Что ты ожыдал получить? Что произошло?",
|
||||
"Please describe the bug and/or send logs.": "Пожалуйста опишы ошибку и/или перешли протоколы.",
|
||||
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Пожалуйста проинсталируй <a href=\"https://www.google.com/chrome\">Chrome</a> или <a href=\"https://getfirefox.com\">Firefox</a> для лутшего результата.",
|
||||
"Report a bug": "Отчет о ошыбке",
|
||||
"Riot Desktop on %(platformName)s": "Riot Desktop на %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot не будет на мобильном Интернете работать. Программу инсталлировать?",
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot использует некоторые расширенные фукции интернет-проводника - некоторые из них отсутствуют или экспериментальные в этом проводнике.",
|
||||
"Search": "Поиск",
|
||||
"Search…": "Поиск.…",
|
||||
"Send": "Отослать",
|
||||
"Send logs": "Отослать протокол",
|
||||
"Sorry, your browser is <b>not</b> able to run Riot.": "Извените, ваш браузер <b>не может</b> Riot запустить.",
|
||||
"This Room": "Эта комната",
|
||||
"Unavailable": "Недоступен",
|
||||
"Unknown device": "Неизвестное устройство",
|
||||
"Update": "Обновление",
|
||||
"Uploading report": "Отчет загружается",
|
||||
"What's New": "Что нового",
|
||||
"What's new?": "Что нового?",
|
||||
"Waiting for response from server": "Подождите ответа от сервера",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Вы пользуетесь Riot как гость. <a>Зарегистрируйтесь</a> или <a>войдите в систему</a> и плучите доступ к огромному количеству комнат и функций!",
|
||||
"OK": "ОК",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "Вы должны пользоваться HTTPS чтобы пользоваться видиозвонком.",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Еали ваш браузер не корректно отображает информацию и все или некоторые фукции отключены, вы можете и дальше этим браузеом пользоваться но но ваши проблемы останутся с вами!",
|
||||
"Login": "Войти",
|
||||
"Welcome to Riot.im": "Добро пожаловать на Riot.im",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "Децентрализованное, шифрованное общение и сотрудничество на основе [matrix]",
|
||||
"Search the room directory": "Поиск по директории комнат",
|
||||
"Chat with Riot Bot": "Пообщаться с Riot Bot"
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"Custom Server Options": "Egna serverinställningar",
|
||||
"customServer_text": "Du kan använda serverinställningarna för att logga in i en annan Matrix-server genom att specifiera en URL till en annan hemserver.<br/>Så här kan du använda Riot med ett existerande Matrix-konto på en annan hemserver.<br/><br/>Du kan också specifiera en egen identitetsserver, men du kommer inte att kunna bjuda in andra via epostadress, eller bli inbjuden via epostadress.",
|
||||
"delete the alias.": "radera adressen.",
|
||||
"Direct Chat": "Direkt chatt",
|
||||
"Direct Chat": "Direkt-chatt",
|
||||
"Directory": "Katalog",
|
||||
"Dismiss": "Avvisa",
|
||||
"Download this file": "Ladda ner filen",
|
||||
|
@ -30,11 +30,11 @@
|
|||
"Failed to": "Det gick inte att",
|
||||
"Failed to add tag %(tagName)s to room": "Det gick inte att lägga till \"%(tagName)s\" till rummet",
|
||||
"Failed to change settings": "Det gick inte att spara inställningarna",
|
||||
"Failed to forget room %(errCode)s": "Det gick inte att glömma bort rummet: %(errCode)s",
|
||||
"Failed to forget room %(errCode)s": "Det gick inte att glömma bort rummet %(errCode)s",
|
||||
"Failed to update keywords": "Det gick inte att uppdatera nyckelorden",
|
||||
"Failed to get protocol list from Home Server": "Det gick inte att hämta protokollistan från hemservern",
|
||||
"Failed to get public room list": "Det gick inte att hämta listan över offentliga rum",
|
||||
"Failed to join the room": "Det gick inte att ansluta till rummet",
|
||||
"Failed to join the room": "Det gick inte att gå med i rummet",
|
||||
"Failed to remove tag %(tagName)s from room": "Det gick inte att radera taggen %(tagName)s från rummet",
|
||||
"Failed to set direct chat tag": "Det gick inte att markera rummet som direkt chatt",
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s på %(osName)s",
|
||||
|
@ -115,5 +115,47 @@
|
|||
"The Home Server may be too old to support third party networks": "Hemservern kan vara för gammal för stöda tredje parters nätverk",
|
||||
"There are advanced notifications which are not shown here": "Det finns avancerade aviseringar som inte visas här",
|
||||
"The server may be unavailable or overloaded": "Servern kan vara överbelastad eller inte tillgänglig",
|
||||
"This Room": "Det här rummet"
|
||||
"This Room": "Det här rummet",
|
||||
"This room is inaccessible to guests. You may be able to join if you register.": "Det här rummet är inte tillgängligt till gäster. Du kan möjligtvis gå med i rummet om du registrerar dig.",
|
||||
" to room": " till rum",
|
||||
"Unable to fetch notification target list": "Det gick inte att hämta aviseringsmållistan",
|
||||
"Unable to join network": "Det gick inte att ansluta till nätverket",
|
||||
"Unable to look up room ID from server": "Det gick inte att hämta rums-ID:t från servern",
|
||||
"Unavailable": "Inte tillgänglig",
|
||||
"Unhide Preview": "Visa förhandsvisning",
|
||||
"Unknown device": "Okänd enhet",
|
||||
"unknown error code": "okänd felkod",
|
||||
"Unnamed room": "Namnlöst rum",
|
||||
"Update": "Uppdatera",
|
||||
"Uploaded on %(date)s by %(user)s": "%(user)s laddade upp %(date)s",
|
||||
"Uploading report": "Laddar upp rapport",
|
||||
"View Decrypted Source": "Visa dekrypterad källa",
|
||||
"View Source": "Visa källa",
|
||||
"What's New": "Vad är nytt",
|
||||
"What's new?": "Vad är nytt?",
|
||||
"Waiting for response from server": "Väntar på svar från servern",
|
||||
"When I'm invited to a room": "När jag bjuds in till ett rum",
|
||||
"World readable": "Alla kan läsa",
|
||||
"You cannot delete this image. (%(code)s)": "Du kan inte radera den här bilden. (%(code)s)",
|
||||
"You cannot delete this message. (%(code)s)": "Du kan inte radera det här meddelandet. (%(code)s)",
|
||||
"You are not receiving desktop notifications": "Du får inte skrivbordsaviseringar",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "Du använder Riot som en gäst. <a>Registrera dig</a> eller <a>logga in</a> för att få tillgång till flera rum och egenskaper!",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Du kan ha konfigurerat dem i en annan klient än Riot. Du kan inte ändra dem i Riot men de tillämpas ändå",
|
||||
"Sunday": "söndag",
|
||||
"Monday": "måndag",
|
||||
"Tuesday": "tisdag",
|
||||
"Wednesday": "onsdag",
|
||||
"Thursday": "torsdag",
|
||||
"Friday": "fredag",
|
||||
"Saturday": "lördag",
|
||||
"Today": "idag",
|
||||
"Yesterday": "igår",
|
||||
"OK": "OK",
|
||||
"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.",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Med din nuvarande webbläsare kan appens utseende vara helt fel, och vissa eller alla egenskaper kommer nödvändigtvis inte att fungera. Om du ändå vill försöka så kan du fortsätta, men gör det på egen risk!",
|
||||
"Welcome page": "Välkomstsida",
|
||||
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Radera rumsadressen %(alias)s och ta bort %(name)s från katalogen?",
|
||||
"Collecting logs": "Samlar in loggar",
|
||||
"Collecting app version information": "Samlar in appversionsinformation",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "Aviseringar för följande nyckelord följer regler som inte kan visas här:"
|
||||
}
|
||||
|
|
199
src/i18n/strings/th.json
Normal file
199
src/i18n/strings/th.json
Normal file
|
@ -0,0 +1,199 @@
|
|||
{
|
||||
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s ผ่านทาง %(browserName)s บน %(osName)s",
|
||||
"All messages": "ทุกข้อความ",
|
||||
"Cancel": "ยกเลิก",
|
||||
"Close": "ปิด",
|
||||
"Error": "ข้อผิดพลาด",
|
||||
"#example": "#example",
|
||||
"Files": "ไฟล์",
|
||||
"Forward Message": "ส่งต่อข้อความ",
|
||||
" from room": " จากห้อง",
|
||||
"Low Priority": "ความสำคัญต่ำ",
|
||||
"Members": "สมาชิก",
|
||||
"more": "เพิ่มเติม",
|
||||
"Off": "ปิด",
|
||||
"Report a bug": "รายงานจุดบกพร่อง",
|
||||
"powered by Matrix": "ใช้เทคโนโลยี Matrix",
|
||||
"Quote": "อ้างอิง",
|
||||
"Resend": "ส่งใหม่",
|
||||
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> หรือ <a href=\"http://opera.com\">Opera</a> ก็ใช้ได้",
|
||||
"A new version of Riot is available.": "มี Riot เวอร์ชั่นใหม่",
|
||||
"All Rooms": "ทุกห้อง",
|
||||
"Cancel Sending": "ยกเลิกการส่ง",
|
||||
"Changelog": "บันทึกการเปลี่ยนแปลง",
|
||||
"Create new room": "สร้างห้องใหม่",
|
||||
"Describe your problem here.": "อธิบายปัญหาที่นี่",
|
||||
"Download this file": "ดาวน์โหลดไฟล์นี้",
|
||||
"Dismiss": "ไม่สนใจ",
|
||||
"Messages sent by bot": "ข้อความจากบอท",
|
||||
"Mute": "เงียบ",
|
||||
"No rooms to show": "ไม่มีห้องที่จะแสดง",
|
||||
"Notifications": "การแจ้งเตือน",
|
||||
"On": "เปิด",
|
||||
"Permalink": "ลิงก์ถาวร",
|
||||
"Operation failed": "การดำเนินการล้มเหลว",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "กรุณาอธิบายจุดบกพร่อง คุณทำอะไร? ควรจะเกิดอะไรขึ้น? แล้วอะไรคือสิ่งที่เกิดขึ้นจริง?",
|
||||
"Please describe the bug and/or send logs.": "กรุณาอธิบายจุดบกพร่อง และ/หรือ ส่งล็อก",
|
||||
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "กรุณาติดตั้ง <a href=\"https://www.google.com/chrome\">Chrome</a> หรือ <a href=\"https://getfirefox.com\">Firefox</a> เพื่อประสบการณ์ที่ดีที่สุด",
|
||||
"Please Register": "กรุณาลงทะเบียน",
|
||||
"Redact": "ลบ",
|
||||
"Reject": "ปฏิเสธ",
|
||||
"Remove": "ลบ",
|
||||
"Messages containing <span>keywords</span>": "ข้อความที่มี<span>คีย์เวิร์ด</span>",
|
||||
"Messages containing my user name": "ข้อความที่มีชื่อผู้ใช้ของฉัน",
|
||||
"Search": "ค้นหา",
|
||||
"Search…": "ค้นหา…",
|
||||
"Room not found": "ไม่พบห้อง",
|
||||
"Search for a room": "ค้นหาห้อง",
|
||||
"Send": "ส่ง",
|
||||
"Send logs": "ส่งล็อก",
|
||||
"Settings": "การตั้งค่า",
|
||||
"Sorry, your browser is <b>not</b> able to run Riot.": "ขออภัย เบราว์เซอร์ของคุณ<b>ไม่</b>สามารถ run Riot ได้",
|
||||
"This Room": "ห้องนี้",
|
||||
" to room": " ไปยังห้อง",
|
||||
"Unavailable": "ไม่มี",
|
||||
"Unknown device": "อุปกรณ์ที่ไม่รู้จัก",
|
||||
"unknown error code": "รหัสข้อผิดพลาดที่ไม่รู้จัก",
|
||||
"Update": "อัปเดต",
|
||||
"Uploaded on %(date)s by %(user)s": "อัปโหลดเมื่อ %(date)s โดย %(user)s",
|
||||
"Yesterday": "เมื่อวานนี้",
|
||||
"Today": "วันนี้",
|
||||
"Saturday": "วันเสาร์",
|
||||
"Friday": "วันศุกร์",
|
||||
"Thursday": "วันพฤหัสบดี",
|
||||
"Wednesday": "วันพุธ",
|
||||
"Tuesday": "วันอังคาร",
|
||||
"Monday": "วันจันทร์",
|
||||
"Sunday": "วันอาทิตย์",
|
||||
"You cannot delete this image. (%(code)s)": "คุณไม่สามารถลบรูปนี้ได้ (%(code)s)",
|
||||
"You cannot delete this message. (%(code)s)": "คุณไม่สามารถลบข้อความนี้ได้ (%(code)s)",
|
||||
"What's New": "มีอะไรใหม่",
|
||||
"What's new?": "มีอะไรใหม่?",
|
||||
"View Source": "ดูซอร์ส",
|
||||
"Uploading report": "กำลังอัปโหลดรายงาน",
|
||||
"Advanced notification settings": "ตั้งค่าการแจ้งเตือนขั้นสูง",
|
||||
"Can't update user notification settings": "ไม่สามารถอัปเดตการตั้งค่าการแจ้งเตือนของผู้ใช้",
|
||||
"Collecting logs": "กำลังรวบรวมล็อก",
|
||||
"Collapse panel": "ซ่อนหน้าต่าง",
|
||||
"Collecting app version information": "กำลังรวบรวมข้อมูลเวอร์ชันแอป",
|
||||
"OK": "ตกลง",
|
||||
"Welcome page": "หน้าต้อนรับ",
|
||||
"You need to be using HTTPS to place a screen-sharing call.": "คุณต้องใช้ HTTPS เพื่อเริ่มติดต่อแบบแบ่งปันหน้าจอ",
|
||||
"You are not receiving desktop notifications": "การแจ้งเตือนบนเดสก์ทอปถูกปิดอยู่",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "คุณกำลังใช้ Riot ในฐานะแขก <a>ลงทะเบียน</a>หรือ<a>เข้าสู่ระบบ</a>เพื่อเข้าถึงห้องและคุณสมบัติอื่น ๆ เพิ่มเติม!",
|
||||
"Waiting for response from server": "กำลังรอการตอบสนองจากเซิร์ฟเวอร์",
|
||||
"View Decrypted Source": "ดูซอร์สที่ถอดรหัสแล้ว",
|
||||
"Unnamed room": "ห้องที่ไม่มีชื่อ",
|
||||
"Source URL": "URL ต้นฉบับ",
|
||||
"Start chat": "เริ่มแชท",
|
||||
"Riot Desktop on %(platformName)s": "Riot เดสก์ทอปบน %(platformName)s",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot ไม่รองรับเว็บบนอุปกรณ์พกพา ติดตั้งแอป?",
|
||||
"Riot does not know how to join a room on this network": "Riot ไม่รู้วิธีเข้าร่วมห้องในเครือข่ายนี้",
|
||||
"Direct Chat": "แชทโดยตรง",
|
||||
"All messages (loud)": "ทุกข้อความ (เสียงดัง)",
|
||||
"Custom Server Options": "กำหนดเซิร์ฟเวอร์เอง",
|
||||
"Directory": "ไดเรกทอรี",
|
||||
"Enable audible notifications in web client": "เปิดใช้งานเสียงแจ้งเตือนบนเว็บไคลเอนต์",
|
||||
"Enable desktop notifications": "เปิดใช้งานการแจ้งเตือนบนเดสก์ทอป",
|
||||
"Enable email notifications": "เปิดใช้งานการแจ้งเตือนทางอีเมล",
|
||||
"Enable notifications for this account": "เปิดใช้งานการแจ้งเตือนสำหรับบัญชีนี้",
|
||||
"Enable them now": "เปิดใช้งานเดี๋ยวนี้",
|
||||
"Enter keywords separated by a comma:": "กรอกคีย์เวิร์ดทั้งหมด คั่นด้วยเครื่องหมายจุลภาค:",
|
||||
"Expand panel": "ขยายหน้าต่าง",
|
||||
"Failed to update keywords": "การอัปเดตคีย์เวิร์ดล้มเหลว",
|
||||
"Failed to join the room": "การเข้าร่วมห้องล้มเหลว",
|
||||
"Failed to remove tag %(tagName)s from room": "การลบแท็ก %(tagName)s จากห้องล้มเหลว",
|
||||
"Failed to send report: ": "การส่งรายงานล้มเหลว: ",
|
||||
"Filter room names": "กรองชื่อห้อง",
|
||||
"Guests can join": "แขกเข้าร่วมได้",
|
||||
"Hide panel": "ซ่อนหน้าต่าง",
|
||||
"I understand the risks and wish to continue": "ฉันเข้าใจความเสี่ยงและต้องการดำเนินการต่อ",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "ล็อกจากไคลเอนต์จะถูกแนบพร้อมกับรายงานนี้เพื่อวินิจฉัยปัญหา หากคุณต้องการส่งเฉพาะข้อความด้านบน กรุณาเอาเครื่องหมายออก:",
|
||||
"Invite to this room": "เชิญเข้าห้องนี้",
|
||||
"Keywords": "คีย์เวิร์ด",
|
||||
"Leave": "ออกจากห้อง",
|
||||
"Loading bug report module": "กำลังโหลดโมดูลรายงานจุดบกพร่อง",
|
||||
"Mentions only": "เมื่อถูกกล่าวถึงเท่านั้น",
|
||||
"Messages containing my display name": "ข้อความที่มีชื่อของฉัน",
|
||||
"Messages in group chats": "ข้อความในแชทกลุ่ม",
|
||||
"Messages in one-to-one chats": "ข้อความในแชทตัวต่อตัว",
|
||||
"Noisy": "เสียงดัง",
|
||||
"Notification targets": "เป้าหมายการแจ้งเตือน",
|
||||
"Notify for all other messages/rooms": "แจ้งเตือนจากห้อง/ข้อความอื่น ๆ ทั้งหมด",
|
||||
"Notify me for anything else": "แจ้งเตือนสำหรับอย่างอื่นทั้งหมด",
|
||||
"Remove %(name)s from the directory?": "ถอด %(name)s ออกจากไดเรกทอรี?",
|
||||
"remove %(name)s from the directory.": "ถอด %(name)s ออกจากไดเรกทอรี",
|
||||
"Remove from Directory": "ถอดออกจากไดเรกทอรี",
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot ใช้คุณสมบัติขั้นสูงในเบราว์เซอร์หลายประการ คุณสมบัติบางอย่างอาจยังไม่พร้อมใช้งานหรืออยู่ในขั้นทดลองในเบราว์เซอร์ปัจจุบันของคุณ",
|
||||
"Room directory": "ไดเรกทอรีห้อง",
|
||||
"There are advanced notifications which are not shown here": "มีการแจ้งเตือนขั้นสูงที่ไม่ได้แสดงที่นี่",
|
||||
"This room is inaccessible to guests. You may be able to join if you register.": "แขกไม่มีสิทธิ์เข้าถึงห้องนี้ หากคุณลงทะเบียนคุณอาจเข้าร่วมได้",
|
||||
"Unable to join network": "ไม่สามารถเข้าร่วมเครือข่ายได้",
|
||||
"Unable to look up room ID from server": "ไม่สามารถหา ID ห้องจากเซิร์ฟเวอร์ได้",
|
||||
"Unhide Preview": "แสดงตัวอย่าง",
|
||||
"World readable": "ทุกคนอ่านได้",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "คุณอาจมีการตั้งค่าจากไคลเอนต์อื่นนอกจาก Riot การตั้งต่าเหล่านั้นยังถูกใช้งานอยู่แต่คุณจะปรับแต่งจากใน Riot ไม่ได้",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "การแสดงผลของโปรแกรมอาจผิดพลาด ฟังก์ชันบางอย่างหรือทั้งหมดอาจไม่ทำงานในเบราว์เซอร์ปัจจุบันของคุณ หากคุณต้องการลองดำเนินการต่อ คุณต้องรับมือกับปัญหาที่อาจจะเกิดขึ้นด้วยตัวคุณเอง!",
|
||||
"Add an email address above to configure email notifications": "เพิ่มที่อยู่อีเมลข้างบนเพื่อตั้งค่าการแจ้งเตือนทางอีเมล",
|
||||
"All notifications are currently disabled for all targets.": "การแจ้งเตือนทั้งหมดถูกปิดใช้งานสำหรับทุกอุปกรณ์",
|
||||
"An error occurred whilst saving your email notification preferences.": "เกิดข้อผิดพลาดระหว่างบันทึกการตั้งค่าการแจ้งเตือนทางอีเมล",
|
||||
"Couldn't find a matching Matrix room": "ไม่พบห้อง Matrix ที่ตรงกับคำค้นหา",
|
||||
"customServer_text": "คุณสามารถกำหนดเซิร์ฟเวอร์บ้านเองได้โดยใส่ URL ของเซิร์ฟเวอร์นั้น เพื่อเข้าสู่ระบบของเซิร์ฟเวอร์ Matrix อื่น<br/>ทั้งนี่เพื่อให้คุณสามารถใช้ Riot กับบัญชี Matrix ที่มีอยู่แล้วบนเซิร์ฟเวอร์บ้านอื่น ๆ ได้<br/><br/>คุณอาจเลือกเซิร์ฟเวอร์ระบุตัวตนเองด้วยก็ได้ แต่คุณจะไม่สามารถเชิญผู้ใช้อื่นด้วยที่อยู่อีเมล หรือรับคำเชิญจากผู้ใช้อื่นทางที่อยู่อีเมลได้",
|
||||
"delete the alias.": "ลบนามแฝง",
|
||||
"Drop here %(toAction)s": "ปล่อยที่นี่ %(toAction)s",
|
||||
"Error saving email notification preferences": "การบันทึกการตั้งค่าการแจ้งเตือนทางอีเมลผิดพลาด",
|
||||
"Failed to add tag %(tagName)s to room": "การเพิ่มแท็ก %(tagName)s ของห้องนี้ล้มเหลว",
|
||||
"Failed to change settings": "การแก้ไขการตั้งค่าล้มเหลว",
|
||||
"Failed to get protocol list from Home Server": "การขอรายชื่อโปรโตคอลจากเซิร์ฟเวอร์บ้านล้มเหลว",
|
||||
"Failed to get public room list": "การขอรายชื่อห้องสาธารณะล้มเหลว",
|
||||
"Failed to set direct chat tag": "การติดแท็กแชทตรงล้มเหลว",
|
||||
"Failed to set Direct Message status of room": "การตั้งสถานะข้อความตรงของห้องล้มเหลว",
|
||||
"Favourite": "รายการโปรด",
|
||||
"Failed to": "ล้มเหลวในการ",
|
||||
"Fetching third party location failed": "การเรียกข้อมูลตำแหน่งจากบุคคลที่สามล้มเหลว",
|
||||
"Guest users can't invite users. Please register to invite.": "แขกไม่สามารถเชิญผู้ใช้ได้ กรุณาลงทะเบียนเพื่อเชิญผู้อื่น",
|
||||
"The Home Server may be too old to support third party networks": "เซิร์ฟเวอร์บ้านอาจเก่าเกินกว่าจะรองรับเครือข่ายของบุคคลที่สาม",
|
||||
"The server may be unavailable or overloaded": "เซิร์ฟเวอร์อาจไม่พร้อมใช้งานหรือทำงานหนักเกินไป",
|
||||
"Unable to fetch notification target list": "ไม่สามารถรับรายชื่ออุปกรณ์แจ้งเตือน",
|
||||
"When I'm invited to a room": "เมื่อฉันได้รับคำเชิญเข้าห้อง",
|
||||
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "ลบนามแฝง %(alias)s ของห้องและถอด %(name)s ออกจากไดเรกทอรี?",
|
||||
"Call invitation": "คำเชิญเข้าร่วมการโทร",
|
||||
"Failed to forget room %(errCode)s": "การลืมห้องล้มเหลว %(errCode)s",
|
||||
"Forget": "ลืม",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "การแจ้งเตือนจากคีย์เวิร์ดเหล่านี้ เป็นไปตามกฏที่ไม่สามารถแสดงที่นี่ได้:",
|
||||
"Login": "เข้าสู่ระบบ",
|
||||
"Welcome to Riot.im": "ยินดีต้อนรับสู่ Riot.im",
|
||||
"Search the room directory": "ค้นหาในไดเรกทอรีห้อง",
|
||||
"Chat with Riot Bot": "แชทกับบอท Riot",
|
||||
"Get started with some tips from Riot Bot!": "มาเริ่มกันด้วยเคล็ดลับเล็กน้อยจากบอท Riot!",
|
||||
"General discussion about Matrix": "พูดคุยเรื่องทั่วไปเกี่ยวกับ Matrix",
|
||||
"Discussion of all things Matrix!": "พูดคุยทุกเรื่อง เรื่อง Matrix!",
|
||||
"Riot/Web & Desktop chat": "แชทเกี่ยวกับ Riot บนเว็บและเดสก์ทอป",
|
||||
"Riot/iOS & matrix-ios-sdk chat": "แชทเกี่ยวกับ Riot บน iOS และ matrix-ios-sdk",
|
||||
"Riot/Android & matrix-android-sdk chat": "แชทเกี่ยวกับ Riot บน Android และ 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",
|
||||
"Implementing VR services with Matrix": "การอิมพลีเมนต์บริการ VR ด้วย Matrix",
|
||||
"Implementing VoIP services with Matrix": "การอิมพลีเมนต์บริการ VoIP ด้วย Matrix",
|
||||
"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/Web translators": "แชทสำหรับประสานงานการแปล Riot บนเว็บ",
|
||||
"Failed to change password. Is your password correct?": "การเปลี่ยนรหัสผ่านล้มเหลว รหัสผ่านของคุณถูกต้องหรือไม่?",
|
||||
"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 ฯลฯ) และห้องที่อยู่ด้วยตัวเอง ลองดูไดเรกทอรีสิ!",
|
||||
"You have successfully set a password!": "การตั้งรหัสผ่านเสร็จสมบูรณ์!",
|
||||
"You can now return to your account after signing out, and sign in on other devices.": "คุณสามารถกลับไปยังบัญชีของคุณหลังจากออกจากระบบ แล้วกลับเขาสู่ระบบบนอุปกรณ์อื่น ๆ",
|
||||
"Continue": "ดำเนินการต่อ",
|
||||
"Please set a password!": "กรุณาตั้งรหัสผ่าน!",
|
||||
"This will allow you to return to your account after signing out, and sign in on other devices.": "เพื่อคุณจะได้กลับมายังบัญชีเดิมของคุณได้ หลังจากออกจากระบบ แล้วกลับเข้าสู่ระบบในอุปกรณ์อื่น ๆ",
|
||||
"Design and implementation of E2E in Matrix": "การออกแบบและใช้งาน E2E ใน Matrix",
|
||||
"Discussion of the Identity Service API": "พูดคุยเกี่ยวกับ Identity Service API",
|
||||
"Decentralised, encrypted chat & collaboration powered by [matrix]": "แชทและประสานงานบนระบบที่ทั้งเข้ารหัสได้และกระจายศูนย์กลาง โดยใช้เทคโนโลยีจาก [matrix]"
|
||||
}
|
|
@ -145,5 +145,20 @@
|
|||
"Sorry, your browser is <b>not</b> able to run Riot.": "可惜你的瀏覽器 <b>無法</b> 執行 Riot.",
|
||||
"The Home Server may be too old to support third party networks": "主機伺服器可能太老舊無法支援第三方網路",
|
||||
"The server may be unavailable or overloaded": "伺服器可能過載或無法連取",
|
||||
"Unable to fetch notification target list": "無法抓取通知的目標清單"
|
||||
"Unable to fetch notification target list": "無法抓取通知的目標清單",
|
||||
"customServer_text": "你可以使用自定伺服器選項來登入其它的 Matrix 伺服器,只要在在主機伺服器網址上指定其網址資料。<br/>這可讓你透過已有的 Matrix 帳號在不同的主機伺服器上使用 Riot。<br/><br/>你也可以設定自定的識別伺服器但你將無法透過電子郵件來邀請用戶或是以自己的電子郵件來接受別人的邀請。",
|
||||
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "為了診斷問題,來自客戶的活動記錄會隨著這個程式臭蟲報告一起送出。如果你只想送出以上文字,請取消勾選:",
|
||||
"Notification targets": "通知標的",
|
||||
"Notifications on the following keywords follow rules which can’t be displayed here:": "以下關鍵字依照規則其通知將不會顯示在此:",
|
||||
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "請描述這個程式臭蟲,你作了什麼動作?你預期會發生什麼狀況?以及實際發生的狀況為何?",
|
||||
"Please describe the bug and/or send logs.": "請描述這個程式臭蟲以及/或送出活動記錄。",
|
||||
"Riot is not supported on mobile web. Install the app?": "Riot 不支援行動網頁,要下載應用程式嗎?",
|
||||
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Roit 使用了許多先進的瀏覽器功能,有些在你目前所用的瀏覽器上無法使用或僅為試驗效能。",
|
||||
"There are advanced notifications which are not shown here": "有些進階的通知並未在此顯現",
|
||||
"World readable": "全世界可讀",
|
||||
"You cannot delete this image. (%(code)s)": "你不能刪除這個圖片(%(code)s)",
|
||||
"You are not receiving desktop notifications": "你將不會收到桌面通知",
|
||||
"You are Rioting as a guest. <a>Register</a> or <a>sign in</a> to access more rooms and features!": "你目前以訪客身份使用 Riot <a>註冊</a> 或 <a>登錄</a> 來使用更多聊天室和功能!",
|
||||
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "你也許不曾在其它Riot之外的客戶端設定它們,在 Riot底下你無法調它們但其仍然可用",
|
||||
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "你目前的瀏覽器,其應用程式的外觀和感覺可能完全不正確,有些或全部功能可以無法使用。如果你仍想試,可以繼續但得自負後果。"
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@import "./matrix-react-sdk/structures/_ContextualMenu.scss";
|
||||
@import "./matrix-react-sdk/structures/_CreateRoom.scss";
|
||||
@import "./matrix-react-sdk/structures/_FilePanel.scss";
|
||||
@import "./matrix-react-sdk/structures/_LoginBox.scss";
|
||||
@import "./matrix-react-sdk/structures/_MatrixChat.scss";
|
||||
@import "./matrix-react-sdk/structures/_NotificationPanel.scss";
|
||||
@import "./matrix-react-sdk/structures/_RoomStatusBar.scss";
|
||||
|
@ -17,7 +18,7 @@
|
|||
@import "./matrix-react-sdk/views/dialogs/_ChatInviteDialog.scss";
|
||||
@import "./matrix-react-sdk/views/dialogs/_ConfirmUserActionDialog.scss";
|
||||
@import "./matrix-react-sdk/views/dialogs/_EncryptedEventDialog.scss";
|
||||
@import "./matrix-react-sdk/views/dialogs/_SetDisplayNameDialog.scss";
|
||||
@import "./matrix-react-sdk/views/dialogs/_SetMxIdDialog.scss";
|
||||
@import "./matrix-react-sdk/views/dialogs/_UnknownDeviceDialog.scss";
|
||||
@import "./matrix-react-sdk/views/elements/_AccessibleButton.scss";
|
||||
@import "./matrix-react-sdk/views/elements/_AddressSelector.scss";
|
||||
|
@ -27,6 +28,7 @@
|
|||
@import "./matrix-react-sdk/views/elements/_MemberEventListSummary.scss";
|
||||
@import "./matrix-react-sdk/views/elements/_ProgressBar.scss";
|
||||
@import "./matrix-react-sdk/views/elements/_RichText.scss";
|
||||
@import "./matrix-react-sdk/views/elements/_RoleButton.scss";
|
||||
@import "./matrix-react-sdk/views/login/_InteractiveAuthEntryComponents.scss";
|
||||
@import "./matrix-react-sdk/views/login/_ServerConfig.scss";
|
||||
@import "./matrix-react-sdk/views/messages/_MEmoteBody.scss";
|
||||
|
@ -69,10 +71,10 @@
|
|||
@import "./vector-web/views/context_menus/_MessageContextMenu.scss";
|
||||
@import "./vector-web/views/context_menus/_RoomTileContextMenu.scss";
|
||||
@import "./vector-web/views/dialogs/_ChangelogDialog.scss";
|
||||
@import "./vector-web/views/dialogs/_SetPasswordDialog.scss";
|
||||
@import "./vector-web/views/directory/_NetworkDropdown.scss";
|
||||
@import "./vector-web/views/elements/_ImageView.scss";
|
||||
@import "./vector-web/views/elements/_Spinner.scss";
|
||||
@import "./vector-web/views/globals/_GuestWarningBar.scss";
|
||||
@import "./vector-web/views/globals/_MatrixToolbar.scss";
|
||||
@import "./vector-web/views/messages/_MessageTimestamp.scss";
|
||||
@import "./vector-web/views/messages/_SenderProfile.scss";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2017 OpenMarket Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,23 +14,23 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_GuestWarningBar {
|
||||
.mx_LoginBox_loginButton_wrapper {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mx_LoginBox_loginButton {
|
||||
margin-top: -8px;
|
||||
height: 40px;
|
||||
border: 0px;
|
||||
border-radius: 40px;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
|
||||
background-color: $accent-color;
|
||||
color: $accent-fg-color;
|
||||
color: $primary-bg-color;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.mx_GuestWarningBar_warning {
|
||||
margin-left: 16px;
|
||||
margin-right: 8px;
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
.mx_GuestWarningBar a {
|
||||
color: $accent-fg-color ! important;
|
||||
text-decoration: underline ! important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
font-size: 15px;
|
||||
}
|
|
@ -41,12 +41,6 @@ limitations under the License.
|
|||
height: 40px;
|
||||
}
|
||||
|
||||
.mx_GuestWarningBar {
|
||||
order: 1;
|
||||
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.mx_MatrixChat_toolbarShowing {
|
||||
height: auto;
|
||||
}
|
||||
|
|
|
@ -178,6 +178,7 @@ limitations under the License.
|
|||
display: inline-block;
|
||||
min-width: 170px;
|
||||
align-self: flex-end;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.mx_Login_field_group {
|
||||
|
|
|
@ -20,8 +20,22 @@ limitations under the License.
|
|||
|
||||
.mx_ChatCreateOrReuseDialog .mx_Dialog_content {
|
||||
margin-bottom: 24px;
|
||||
|
||||
/*
|
||||
To stop spinner that mx_ChatCreateOrReuseDialog_profile replaces from causing a
|
||||
height change
|
||||
*/
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
.mx_ChatCreateOrReuseDialog .mx_RoomTile_badge {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mx_ChatCreateOrReuseDialog_profile {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.mx_ChatCreateOrReuseDialog_profile_name {
|
||||
padding: 14px;
|
||||
}
|
||||
|
|
|
@ -34,6 +34,10 @@ limitations under the License.
|
|||
word-wrap: nowrap;
|
||||
}
|
||||
|
||||
.mx_ChatInviteDialog .mx_Dialog_content {
|
||||
min-height: 50px
|
||||
}
|
||||
|
||||
.mx_ChatInviteDialog_inputContainer {
|
||||
border-radius: 3px;
|
||||
border: solid 1px $input-border-color;
|
||||
|
@ -64,8 +68,3 @@ limitations under the License.
|
|||
pointer-events: none;
|
||||
}
|
||||
|
||||
.mx_ChatInviteDialog_addressSelectHeader {
|
||||
font-weight: bold;
|
||||
line-height: 150%;
|
||||
text-indent: 4px;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2017 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_SetMxIdDialog .mx_Dialog_title {
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
.mx_SetMxIdDialog_input_group {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.mx_SetMxIdDialog_input {
|
||||
border-radius: 3px;
|
||||
border: 1px solid $input-border-color;
|
||||
padding: 9px;
|
||||
color: $primary-fg-color;
|
||||
background-color: $primary-bg-color;
|
||||
font-size: 15px;
|
||||
width: 100%;
|
||||
max-width: 280px;
|
||||
}
|
||||
|
||||
.mx_SetMxIdDialog_input.error,
|
||||
.mx_SetMxIdDialog_input.error:focus {
|
||||
border: 1px solid $warning-color;
|
||||
}
|
||||
|
||||
.mx_SetMxIdDialog_input_group .mx_Spinner {
|
||||
height: 37px;
|
||||
padding-left: 10px;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.mx_SetMxIdDialog .success {
|
||||
color: $accent-color;
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
Copyright 2107 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_RoleButton {
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.mx_RoleButton object {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.mx_RoleButton_tooltip {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: -25px;
|
||||
left: 6px;
|
||||
}
|
|
@ -63,7 +63,9 @@ limitations under the License.
|
|||
white-space: nowrap;
|
||||
color: $event-timestamp-color;
|
||||
font-size: 10px;
|
||||
left: 8px;
|
||||
left: 0px;
|
||||
width: 46px; /* 8 + 30 (avatar) + 8 */
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
@ -189,6 +191,7 @@ limitations under the License.
|
|||
|
||||
.mx_EventTile_selected .mx_MessageTimestamp {
|
||||
left: 3px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.mx_EventTile_editButton {
|
||||
|
@ -271,10 +274,6 @@ limitations under the License.
|
|||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.mx_EventTile_12hr .mx_MessageTimestamp {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line,
|
||||
.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line {
|
||||
padding-left: 60px;
|
||||
|
@ -296,6 +295,7 @@ limitations under the License.
|
|||
.mx_EventTile:hover.mx_EventTile_verified .mx_MessageTimestamp,
|
||||
.mx_EventTile:hover.mx_EventTile_unverified .mx_MessageTimestamp {
|
||||
left: 3px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -332,6 +332,24 @@ limitations under the License.
|
|||
.mx_EventTile_content .markdown-body code {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
.mx_EventTile_copyButton {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
visibility: hidden;
|
||||
cursor: pointer;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
background-image: url($copy-button-url);
|
||||
}
|
||||
.mx_EventTile_body pre {
|
||||
position: relative;
|
||||
}
|
||||
.mx_EventTile_body pre:hover .mx_EventTile_copyButton
|
||||
{
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.mx_EventTile_content .markdown-body h1,
|
||||
.mx_EventTile_content .markdown-body h2,
|
||||
|
@ -410,6 +428,10 @@ limitations under the License.
|
|||
top: 7px;
|
||||
}
|
||||
|
||||
.mx_EventTile_editButton {
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
.mx_EventTile_readAvatars {
|
||||
top: 27px;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2107 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -37,3 +38,25 @@ limitations under the License.
|
|||
.mx_RoomList_scrollbar .gm-scrollbar.-vertical {
|
||||
z-index: 6;
|
||||
}
|
||||
|
||||
.mx_RoomList_emptySubListTip {
|
||||
font-size: 13px;
|
||||
margin-left: 18px;
|
||||
margin-right: 18px;
|
||||
margin-top: 8px;
|
||||
margin-bottom: 7px;
|
||||
padding: 5px;
|
||||
border: 1px dashed $accent-color;
|
||||
color: $primary-fg-color;
|
||||
background-color: $droptarget-bg-color;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.mx_RoomList_emptySubListTip .mx_RoleButton {
|
||||
vertical-align: -3px;
|
||||
}
|
||||
|
||||
.mx_RoomList_headerButtons {
|
||||
position: absolute;
|
||||
right: 60px;
|
||||
}
|
||||
|
|
|
@ -102,6 +102,7 @@ $event-redacted-img: url('../../img/redacted.jpg');
|
|||
$event-timestamp-color: #acacac;
|
||||
|
||||
$edit-button-url: "../../img/icon_context_message.svg";
|
||||
$copy-button-url: "../../img/icon_copy_message.svg";
|
||||
|
||||
// e2e
|
||||
$e2e-verified-color: #76cfa5; // N.B. *NOT* the same as $accent-color
|
||||
|
@ -114,4 +115,4 @@ $lightbox-fg-color: #ffffff;
|
|||
$lightbox-border-color: #ffffff;
|
||||
|
||||
// unused?
|
||||
$progressbar-color: #000;
|
||||
$progressbar-color: #000;
|
||||
|
|
|
@ -102,6 +102,7 @@ $event-redacted-img: url('../../img/redacted-dark.jpg');
|
|||
$event-timestamp-color: #acacac;
|
||||
|
||||
$edit-button-url: "../../img/icon_context_message_dark.svg";
|
||||
$copy-button-url: "../../img/icon_copy_message_dark.svg";
|
||||
|
||||
// e2e
|
||||
$e2e-verified-color: #76cfa5; // N.B. *NOT* the same as $accent-color
|
||||
|
|
|
@ -19,16 +19,17 @@ limitations under the License.
|
|||
max-width: 960px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.mx_HomePage iframe {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 90%;
|
||||
height: 100%;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.mx_HomePage_body {
|
||||
margin-left: 63px;
|
||||
// margin-left: 63px;
|
||||
}
|
||||
|
|
|
@ -64,47 +64,33 @@ limitations under the License.
|
|||
pointer-events: none;
|
||||
}
|
||||
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_homePage,
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_directory,
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_createRoom,
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_people,
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_settings {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.collapsed .mx_BottomLeftMenu_homePage,
|
||||
.collapsed .mx_BottomLeftMenu_directory,
|
||||
.collapsed .mx_BottomLeftMenu_createRoom,
|
||||
.collapsed .mx_BottomLeftMenu_people,
|
||||
.collapsed .mx_BottomLeftMenu_settings {
|
||||
.collapsed .mx_RoleButton {
|
||||
margin-right: 0px ! important;
|
||||
padding-top: 3px ! important;
|
||||
padding-bottom: 3px ! important;
|
||||
}
|
||||
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_homePage,
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_directory,
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_createRoom,
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_people {
|
||||
.mx_BottomLeftMenu_options > div {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.mx_BottomLeftMenu_options .mx_RoleButton {
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_settings {
|
||||
.mx_BottomLeftMenu_options .mx_BottomLeftMenu_settings {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.mx_BottomLeftMenu_options .mx_BottomLeftMenu_settings .mx_RoleButton {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
.mx_LeftPanel.collapsed .mx_BottomLeftMenu_settings {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.mx_LeftPanel .mx_BottomLeftMenu_tooltip {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: -25px;
|
||||
left: 6px;
|
||||
}
|
||||
|
||||
.mx_MatrixChat_useCompactLayout {
|
||||
.mx_LeftPanel .mx_BottomLeftMenu {
|
||||
flex: 0 0 50px;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2017 Vector Creations Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,11 +14,22 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
.mx_SetDisplayNameDialog_input {
|
||||
.mx_SetPasswordDialog_change_password input {
|
||||
border-radius: 3px;
|
||||
border: 1px solid $input-border-color;
|
||||
padding: 9px;
|
||||
color: $primary-fg-color;
|
||||
background-color: $primary-bg-color;
|
||||
font-size: 15px;
|
||||
}
|
||||
width: 100%;
|
||||
max-width: 280px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.mx_SetPasswordDialog_change_password_button {
|
||||
margin-top: 68px;
|
||||
}
|
||||
|
||||
.mx_SetPasswordDialog .mx_Dialog_content {
|
||||
margin-bottom: 0px;
|
||||
}
|
|
@ -39,6 +39,10 @@ limitations under the License.
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_MatrixToolbar_clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mx_MatrixToolbar_close {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
86
src/skins/vector/img/icon_copy_message.svg
Normal file
86
src/skins/vector/img/icon_copy_message.svg
Normal file
|
@ -0,0 +1,86 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="19px"
|
||||
height="19px"
|
||||
viewBox="0 0 19 19"
|
||||
version="1.1"
|
||||
id="svg3734"
|
||||
sodipodi:docname="icon_copy_message.svg"
|
||||
inkscape:version="0.92.1 r">
|
||||
<metadata
|
||||
id="metadata3738">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>ED5D3E59-2561-4AC1-9B43-82FBC51767FC</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1596"
|
||||
inkscape:window-height="846"
|
||||
id="namedview3736"
|
||||
showgrid="false"
|
||||
inkscape:zoom="12.421053"
|
||||
inkscape:cx="3.4935767"
|
||||
inkscape:cy="2.469644"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Symbols" />
|
||||
<!-- Generator: sketchtool 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
|
||||
<title
|
||||
id="title3722">ED5D3E59-2561-4AC1-9B43-82FBC51767FC</title>
|
||||
<desc
|
||||
id="desc3724">Created with sketchtool.</desc>
|
||||
<defs
|
||||
id="defs3726" />
|
||||
<g
|
||||
id="Symbols"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<path
|
||||
d="M 9.5,19 C 14.746705,19 19,14.746705 19,9.5 19,4.2532949 14.746705,0 9.5,0 4.2532949,0 0,4.2532949 0,9.5 0,14.746705 4.2532949,19 9.5,19 Z"
|
||||
id="Oval-69"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ececec" />
|
||||
<g
|
||||
id="g4632"
|
||||
transform="translate(-2.3841858e-7,-1)">
|
||||
<rect
|
||||
style="stroke:#9b9b9b;stroke-width:0.91585475;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
y="4.3017478"
|
||||
x="4.6289611"
|
||||
height="10.396504"
|
||||
width="7.7420783"
|
||||
id="rect3745-3" />
|
||||
<rect
|
||||
style="fill:#ececec;fill-opacity:1;stroke:#9b9b9b;stroke-width:0.91585475;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
y="6.3017478"
|
||||
x="6.6289611"
|
||||
height="10.396504"
|
||||
width="7.7420783"
|
||||
id="rect3745" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
77
src/skins/vector/img/icon_copy_message_dark.svg
Normal file
77
src/skins/vector/img/icon_copy_message_dark.svg
Normal file
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="19px"
|
||||
height="19px"
|
||||
viewBox="0 0 19 19"
|
||||
version="1.1"
|
||||
id="svg3734"
|
||||
sodipodi:docname="icon_copy_message_dark.svg"
|
||||
inkscape:version="0.92.1 r"
|
||||
enable-background="new">
|
||||
<metadata
|
||||
id="metadata3738">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>ED5D3E59-2561-4AC1-9B43-82FBC51767FC</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1596"
|
||||
inkscape:window-height="846"
|
||||
id="namedview3736"
|
||||
showgrid="false"
|
||||
inkscape:zoom="12.421053"
|
||||
inkscape:cx="3.4935767"
|
||||
inkscape:cy="2.469644"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg3734" />
|
||||
<!-- Generator: sketchtool 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
|
||||
<title
|
||||
id="title3722">ED5D3E59-2561-4AC1-9B43-82FBC51767FC</title>
|
||||
<desc
|
||||
id="desc3724">Created with sketchtool.</desc>
|
||||
<defs
|
||||
id="defs3726" />
|
||||
<path
|
||||
style="opacity:0.2;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
id="Oval-69"
|
||||
d="M 9.5,19 C 14.746705,19 19,14.746705 19,9.5 19,4.2532949 14.746705,0 9.5,0 4.2532949,0 0,4.2532949 0,9.5 0,14.746705 4.2532949,19 9.5,19 Z" />
|
||||
<g
|
||||
id="g4675"
|
||||
style="stroke:#ffffff;stroke-opacity:1;opacity:0.6">
|
||||
<path
|
||||
id="rect3745-3"
|
||||
d="M 4.6289062 3.3007812 L 4.6289062 13.699219 L 6.6289062 13.699219 L 6.6289062 5.3007812 L 12.371094 5.3007812 L 12.371094 3.3007812 L 4.6289062 3.3007812 z "
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.91585475;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<rect
|
||||
id="rect3745-7"
|
||||
width="7.7420783"
|
||||
height="10.396504"
|
||||
x="6.6289062"
|
||||
y="5.3007812"
|
||||
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.91585475;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
|
@ -160,8 +160,8 @@ export default class WebPlatform extends VectorBasePlatform {
|
|||
const appName = u.format();
|
||||
|
||||
const ua = new UAParser();
|
||||
const browserName = ua.getBrowser().name;
|
||||
const osName = ua.getOS().name;
|
||||
const browserName = ua.getBrowser().name || "unknown browser";
|
||||
const osName = ua.getOS().name || "unknown os";
|
||||
return _t('%(appName)s via %(browserName)s on %(osName)s', {appName: appName, browserName: browserName, osName: osName});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue