Merge branch '3.2-fixes'
This commit is contained in:
+3
-2
@@ -11,9 +11,10 @@
|
||||
"@material-ui/core": "^4.5.1",
|
||||
"@material-ui/icons": "^4.5.1",
|
||||
"bowser": "^2.7.0",
|
||||
"create-torrent": "^4.4.1",
|
||||
"dompurify": "^2.0.7",
|
||||
"domready": "^1.0.8",
|
||||
"end-of-stream": "1.4.0",
|
||||
"end-of-stream": "1.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"hark": "^1.2.3",
|
||||
"is-electron": "^2.2.0",
|
||||
@@ -37,7 +38,7 @@
|
||||
"riek": "^1.1.0",
|
||||
"socket.io-client": "^2.3.0",
|
||||
"source-map-explorer": "^2.1.0",
|
||||
"webtorrent": "^0.107.16"
|
||||
"webtorrent": "^0.107.17"
|
||||
},
|
||||
"scripts": {
|
||||
"analyze": "source-map-explorer build/static/js/*",
|
||||
|
||||
+88
-24
@@ -14,6 +14,8 @@ import * as consumerActions from './actions/consumerActions';
|
||||
import * as producerActions from './actions/producerActions';
|
||||
import * as notificationActions from './actions/notificationActions';
|
||||
|
||||
let createTorrent;
|
||||
|
||||
let WebTorrent;
|
||||
|
||||
let saveAs;
|
||||
@@ -704,26 +706,48 @@ export default class RoomClient
|
||||
})
|
||||
}));
|
||||
|
||||
this._webTorrent.seed(
|
||||
files,
|
||||
{ announceList: [['wss://tracker.lab.vvc.niif.hu:443']] },
|
||||
(torrent) =>
|
||||
createTorrent(files, (err, torrent) =>
|
||||
{
|
||||
if (err)
|
||||
{
|
||||
store.dispatch(requestActions.notify(
|
||||
return store.dispatch(requestActions.notify(
|
||||
{
|
||||
type : 'error',
|
||||
text : intl.formatMessage({
|
||||
id : 'filesharing.successfulFileShare',
|
||||
defaultMessage : 'File successfully shared'
|
||||
id : 'filesharing.unableToShare',
|
||||
defaultMessage : 'Unable to share file'
|
||||
})
|
||||
}));
|
||||
}
|
||||
|
||||
store.dispatch(fileActions.addFile(
|
||||
this._peerId,
|
||||
torrent.magnetURI
|
||||
));
|
||||
const existingTorrent = this._webTorrent.get(torrent);
|
||||
|
||||
this._sendFile(torrent.magnetURI);
|
||||
});
|
||||
if (existingTorrent)
|
||||
{
|
||||
return this._sendFile(existingTorrent.magnetURI);
|
||||
}
|
||||
|
||||
this._webTorrent.seed(
|
||||
files,
|
||||
{ announceList: [ [ 'wss://tracker.lab.vvc.niif.hu:443' ] ] },
|
||||
(newTorrent) =>
|
||||
{
|
||||
store.dispatch(requestActions.notify(
|
||||
{
|
||||
text : intl.formatMessage({
|
||||
id : 'filesharing.successfulFileShare',
|
||||
defaultMessage : 'File successfully shared'
|
||||
})
|
||||
}));
|
||||
|
||||
store.dispatch(fileActions.addFile(
|
||||
this._peerId,
|
||||
newTorrent.magnetURI
|
||||
));
|
||||
|
||||
this._sendFile(newTorrent.magnetURI);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// { file, name, picture }
|
||||
@@ -1081,8 +1105,8 @@ export default class RoomClient
|
||||
logger.debug(
|
||||
'changeWebcam() | new selected webcam [device:%o]',
|
||||
device);
|
||||
|
||||
this._webcamProducer.track.stop();
|
||||
if (this._webcamProducer && this._webcamProducer.track)
|
||||
this._webcamProducer.track.stop();
|
||||
|
||||
logger.debug('changeWebcam() | calling getUserMedia()');
|
||||
|
||||
@@ -1094,14 +1118,21 @@ export default class RoomClient
|
||||
...VIDEO_CONSTRAINS[resolution]
|
||||
}
|
||||
});
|
||||
|
||||
const track = stream.getVideoTracks()[0];
|
||||
|
||||
await this._webcamProducer.replaceTrack({ track });
|
||||
|
||||
store.dispatch(
|
||||
producerActions.setProducerTrack(this._webcamProducer.id, track));
|
||||
|
||||
if (stream){
|
||||
const track = stream.getVideoTracks()[0];
|
||||
if (track) {
|
||||
await this._webcamProducer.replaceTrack({ track });
|
||||
|
||||
store.dispatch(
|
||||
producerActions.setProducerTrack(this._webcamProducer.id, track));
|
||||
|
||||
} else {
|
||||
logger.warn('getVideoTracks Error: First Video Track is null')
|
||||
}
|
||||
|
||||
} else {
|
||||
logger.warn ('getUserMedia Error: Stream is null!')
|
||||
}
|
||||
store.dispatch(settingsActions.setSelectedWebcamDevice(deviceId));
|
||||
|
||||
await this._updateWebcams();
|
||||
@@ -1337,6 +1368,13 @@ export default class RoomClient
|
||||
|
||||
async _loadDynamicImports()
|
||||
{
|
||||
({ default: createTorrent } = await import(
|
||||
|
||||
/* webpackPrefetch: true */
|
||||
/* webpackChunkName: "createtorrent" */
|
||||
'create-torrent'
|
||||
));
|
||||
|
||||
({ default: WebTorrent } = await import(
|
||||
|
||||
/* webpackPrefetch: true */
|
||||
@@ -2059,6 +2097,30 @@ export default class RoomClient
|
||||
|
||||
try
|
||||
{
|
||||
this._torrentSupport = WebTorrent.WEBRTC_SUPPORT;
|
||||
|
||||
this._webTorrent = this._torrentSupport && new WebTorrent({
|
||||
tracker : {
|
||||
rtcConfig : {
|
||||
iceServers : this._turnServers
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
this._webTorrent.on('error', (error) =>
|
||||
{
|
||||
logger.error('Filesharing [error:"%o"]', error);
|
||||
|
||||
store.dispatch(requestActions.notify(
|
||||
{
|
||||
type : 'error',
|
||||
text : intl.formatMessage({
|
||||
id : 'filesharing.error',
|
||||
defaultMessage : 'There was a filesharing error'
|
||||
})
|
||||
}));
|
||||
});
|
||||
|
||||
this._mediasoupDevice = new mediasoupClient.Device();
|
||||
|
||||
const routerRtpCapabilities =
|
||||
@@ -2177,7 +2239,7 @@ export default class RoomClient
|
||||
canShareFiles : this._torrentSupport
|
||||
}));
|
||||
|
||||
const { peers } = await this.sendRequest(
|
||||
const { peers, authenticated } = await this.sendRequest(
|
||||
'join',
|
||||
{
|
||||
displayName : displayName,
|
||||
@@ -2185,6 +2247,8 @@ export default class RoomClient
|
||||
rtpCapabilities : this._mediasoupDevice.rtpCapabilities
|
||||
});
|
||||
|
||||
store.dispatch(meActions.loggedIn(authenticated));
|
||||
|
||||
logger.debug('_joinRoom() joined, got peers [peers:"%o"]', peers);
|
||||
|
||||
for (const peer of peers)
|
||||
|
||||
@@ -78,8 +78,8 @@ const styles = (theme) =>
|
||||
},
|
||||
actionButton :
|
||||
{
|
||||
margin : theme.spacing(1),
|
||||
padding : 0
|
||||
margin : theme.spacing(1, 0),
|
||||
padding : theme.spacing(0, 1)
|
||||
}
|
||||
});
|
||||
|
||||
@@ -439,4 +439,4 @@ export default withRoomContext(connect(
|
||||
);
|
||||
}
|
||||
}
|
||||
)(withStyles(styles, { withTheme: true })(TopBar)));
|
||||
)(withStyles(styles, { withTheme: true })(TopBar)));
|
||||
|
||||
+5
-1
@@ -34,6 +34,8 @@ import messagesPortuguese from './translations/pt';
|
||||
import messagesChinese from './translations/cn';
|
||||
import messagesSpanish from './translations/es';
|
||||
import messagesCroatian from './translations/hr';
|
||||
import messagesCzech from './translations/cs';
|
||||
import messagesItalian from './translations/it';
|
||||
|
||||
import './index.css';
|
||||
|
||||
@@ -55,7 +57,9 @@ const messages =
|
||||
'pt' : messagesPortuguese,
|
||||
'zh' : messagesChinese,
|
||||
'es' : messagesSpanish,
|
||||
'hr' : messagesCroatian
|
||||
'hr' : messagesCroatian,
|
||||
'cs' : messagesCzech,
|
||||
'it' : messagesItalian
|
||||
};
|
||||
|
||||
const locale = navigator.language.split(/[-_]/)[0]; // language without region code
|
||||
|
||||
@@ -5,7 +5,8 @@ const initialState =
|
||||
selectedAudioDevice : null,
|
||||
advancedMode : false,
|
||||
resolution : 'medium', // low, medium, high, veryhigh, ultra
|
||||
lastN : 4
|
||||
lastN : 4,
|
||||
permanentTopBar : true
|
||||
};
|
||||
|
||||
const settings = (state = initialState, action) =>
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"socket.disconnected": "Spojení přerušeno",
|
||||
"socket.reconnecting": "Spojení přerušeno, navazuji spojení..",
|
||||
"socket.reconnected": "Znovu připojeno",
|
||||
"socket.requestError": "Chyba při požadavku na server",
|
||||
|
||||
"room.chooseRoom": "Vyberte jméno místnosti, kam se chcete připojit",
|
||||
"room.cookieConsent": "Tato stránka používá cookies s cílem zajistit co možná nejlepší uživatelský zážitek",
|
||||
"room.joined": "Připojili jste se do místnosti",
|
||||
"room.cantJoin": "Není možné se připojit do místnosti",
|
||||
"room.youLocked": "Místnost byla uzamčena",
|
||||
"room.cantLock": "Není možné uzamknout místnost",
|
||||
"room.youUnLocked": "Místnost byla odemčena",
|
||||
"room.cantUnLock": "Není možné odemknout místnost",
|
||||
"room.locked": "Místnost je uzamknutá",
|
||||
"room.unlocked": "Místnost je odemknutá",
|
||||
"room.newLobbyPeer": "Nový účastník vstoupil do přijímací místnosti",
|
||||
"room.lobbyPeerLeft": "Účastník opustil přijímací místnost",
|
||||
"room.lobbyPeerChangedDisplayName": "Účastník v přijímací místnosti změnil jméno na {displayName}",
|
||||
"room.lobbyPeerChangedPicture": "Účastník v přijímací místnosti změnil obrázek",
|
||||
"room.setAccessCode": "Přístupový kód místnosti aktualizován",
|
||||
"room.accessCodeOn": "Přístupový kód místnosti je aktivován",
|
||||
"room.accessCodeOff": "Přístupový kód místnosti je deaktivován",
|
||||
"room.peerChangedDisplayName": "{oldDisplayName} je nyní {displayName}",
|
||||
"room.newPeer": "{displayName} se připojil do místnosti",
|
||||
"room.newFile": "Je dostupný nový soubor",
|
||||
"room.toggleAdvancedMode": "Přepnuto do pokročilého módu",
|
||||
"room.setDemocraticView": "Rozvržení změněno na: demokratický pohled",
|
||||
"room.setFilmStripView": "Rozvržení změněno na: filmový pás",
|
||||
"room.loggedIn": "Jste přihlášeni",
|
||||
"room.loggedOut": "Jste odhlášeni",
|
||||
"room.changedDisplayName": "Vaše jméno bylo změněno na {displayName}",
|
||||
"room.changeDisplayNameError": "Při změně Vašeho jména se vyskytla chyba",
|
||||
"room.chatError": "Zprávu nebylo možné odeslat",
|
||||
"room.aboutToJoin": "Připojujete se ke konferenci",
|
||||
"room.roomId": "ID místnosti: {roomName}",
|
||||
"room.setYourName": "Zadejte své jméno a vyberte, jak se chcete připojit:",
|
||||
"room.audioOnly": "Pouze Audio",
|
||||
"room.audioVideo": "Audio a Video",
|
||||
"room.youAreReady": "Ok, jste připraven",
|
||||
"room.emptyRequireLogin": "Místnost je prázdná! Pro spuštění konference se přihlašte nebo počkejte, než se připojí hostitel",
|
||||
"room.locketWait": "Místnost je uzamčena - vydržte, než vás někdo pustí dovnitř ...",
|
||||
"room.lobbyAdministration": "Administrace Přijímací místnosti",
|
||||
"room.peersInLobby": "Účastníci v Přijímací místnosti",
|
||||
"room.lobbyEmpty": "V Přijímací místnosti v současné době nikdo není",
|
||||
"room.hiddenPeers": "{hiddenPeersCount, plural, one {účastník} other {účastníci}}",
|
||||
"room.me": "Já",
|
||||
"room.spotlights": "Aktivní Účastníci",
|
||||
"room.passive": "Pasivní Účastníci",
|
||||
"room.videoPaused": "Toto video bylo pozastaveno",
|
||||
|
||||
"tooltip.login": "Přihlášení",
|
||||
"tooltip.logout": "Odhlášení",
|
||||
"tooltip.admitFromLobby": "Povolit uživatele z Přijímací místnosti",
|
||||
"tooltip.lockRoom": "Uzamknout místnost",
|
||||
"tooltip.unLockRoom": "Odemknout místnost",
|
||||
"tooltip.enterFullscreen": "Zapnout režim celé obrazovky (fullscreen)",
|
||||
"tooltip.leaveFullscreen": "Vypnout režim celé obrazovky (fullscreen)",
|
||||
"tooltip.lobby": "Ukázat Přijímací místnost",
|
||||
"tooltip.settings": "Zobrazit nastavení",
|
||||
|
||||
"label.roomName": "Jméno místnosti",
|
||||
"label.chooseRoomButton": "Pokračovat",
|
||||
"label.yourName": "Vaše jméno",
|
||||
"label.newWindow": "Nové okno",
|
||||
"label.fullscreen": "Režim celé obrazovky (Fullscreen)",
|
||||
"label.openDrawer": "Otevřít zásuvku",
|
||||
"label.leave": "Opustit",
|
||||
"label.chatInput": "Napište zprávu chatu...",
|
||||
"label.chat": "Chat",
|
||||
"label.filesharing": "Sdílení souborů",
|
||||
"label.participants": "Účastníci",
|
||||
"label.shareFile": "Sdílet soubor",
|
||||
"label.fileSharingUnsupported": "Sdílení souborů není podporováno",
|
||||
"label.unknown": "Neznámý",
|
||||
"label.democratic": "Rozvržení: Demokratické",
|
||||
"label.filmstrip": "Rozvržení: Filmový pás",
|
||||
"label.low": "Nízké",
|
||||
"label.medium": "Střední",
|
||||
"label.high": "Vysoké (HD)",
|
||||
"label.veryHigh": "Velmi vysoké (FHD)",
|
||||
"label.ultra": "Ultra (UHD)",
|
||||
"label.close": "Zavřít",
|
||||
|
||||
"settings.settings": "Nastavení",
|
||||
"settings.camera": "Kamera",
|
||||
"settings.selectCamera": "Vyberte video zařízení",
|
||||
"settings.cantSelectCamera": "Není možné vybrat video zařízení",
|
||||
"settings.audio": "Audio zařízení",
|
||||
"settings.selectAudio": "Vyberte audio zařízení",
|
||||
"settings.cantSelectAudio": "Není možno vybrat audio zařízení",
|
||||
"settings.resolution": "Vyberte rozlišení vašeho videa",
|
||||
"settings.layout": "Rozvržení místnosti",
|
||||
"settings.selectRoomLayout": "Vyberte rozvržení místnosti",
|
||||
"settings.advancedMode": "Pokočilý mód",
|
||||
|
||||
"filesharing.saveFileError": "Není možné uložit soubor",
|
||||
"filesharing.startingFileShare": "Pokouším se sdílet soubor",
|
||||
"filesharing.successfulFileShare": "Soubor byl úspěšně sdílen",
|
||||
"filesharing.unableToShare": "Není možné sdílet soubor",
|
||||
"filesharing.error": "Při sdílení souboru se vyskytla chyba",
|
||||
"filesharing.finished": "Stahování souboru dokončeno",
|
||||
"filesharing.save": "Uložit",
|
||||
"filesharing.sharedFile": "{displayName} sdílel(a) soubor",
|
||||
"filesharing.download": "Stáhnout",
|
||||
"filesharing.missingSeeds": "Pokud tento proces trvá dlouho, nikdo zřejmě neseeduje tento torrent. Pokuste se někoho požádat, aby znovu nahrál soubor, který potřebujete.",
|
||||
|
||||
"devices.devicesChanged": "Vaše zařízení se změnila, nastavte je v dialogu nastavení",
|
||||
|
||||
"device.audioUnsupported": "Audio není podporováno",
|
||||
"device.activateAudio": "Aktivovat audio",
|
||||
"device.muteAudio": "Ztišit zvuk",
|
||||
"device.unMuteAudio": "Zrušit ztišení zvuku",
|
||||
|
||||
"device.videoUnsupported": "Video není podporováno",
|
||||
"device.startVideo": "Spustit video",
|
||||
"device.stopVideo": "Zastavit video",
|
||||
|
||||
"device.screenSharingUnsupported": "Sdílení obrazovky není podporováno",
|
||||
"device.startScreenSharing": "Spustit sdílení obrazovky",
|
||||
"device.stopScreenSharing": "Zastavit sdílení obrazovky",
|
||||
|
||||
"devices.microphoneDisconnected": "Mikrofon odpojen",
|
||||
"devices.microphoneError": "Při přístupu k vašemu mikrofonu se vyskytla chyba",
|
||||
"devices.microPhoneMute": "Mikrofon ztišen",
|
||||
"devices.micophoneUnMute": "Ztišení mikrofonu zrušeno",
|
||||
"devices.microphoneEnable": "Mikrofon povolen",
|
||||
"devices.microphoneMuteError": "Není možné ztišit váš mikrofon",
|
||||
"devices.microphoneUnMuteError": "Není možné zrušit ztišení vašeho mikrofonu",
|
||||
|
||||
"devices.screenSharingDisconnected" : "Sdílení obrazovky odpojeno",
|
||||
"devices.screenSharingError": "Při přístupu k vaší obrazovce se vyskytla chyba",
|
||||
|
||||
"devices.cameraDisconnected": "Kamera odpojena",
|
||||
"devices.cameraError": "Při přístupu k vaší kameře se vyskytla chyba"
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
{
|
||||
"socket.disconnected": "Sei stato disconnesso",
|
||||
"socket.reconnecting": "Sei stato disconnesso, stiamo provando a riconnetterti",
|
||||
"socket.reconnected": "Sei stato riconnesso",
|
||||
"socket.requestError": "Errore di richiesta al server",
|
||||
|
||||
"room.chooseRoom": "Scegli il nome della stanza in cui vorresti entrare",
|
||||
"room.cookieConsent": "Questo sito fa uso di cookies per migliorare l'esperienza utente",
|
||||
"room.consentUnderstand": "Ho capito",
|
||||
"room.joined": "Sei entrato nella stanza",
|
||||
"room.cantJoin": "Impossibile entrare nella stanza",
|
||||
"room.youLocked": "Hai bloccato la stanza",
|
||||
"room.cantLock": "Impossibile bloccare la stanza",
|
||||
"room.youUnLocked": "Hai sbloccato la stanza",
|
||||
"room.cantUnLock": "Impossibile sbloccare la stanza",
|
||||
"room.locked": "La stanza è ora bloccata",
|
||||
"room.unlocked": "La stanza è ora sbloccata",
|
||||
"room.newLobbyPeer": "Un nuovo partecipante è entrato nella lobby",
|
||||
"room.lobbyPeerLeft": "Un partecipante ha abbandonato la lobby",
|
||||
"room.lobbyPeerChangedDisplayName": "Un partecipante della lobby ha cambiato nome in {displayName}",
|
||||
"room.lobbyPeerChangedPicture": "Un partecipante della lobby ha cambiato immagine del profilo",
|
||||
"room.setAccessCode": "Codice d'accesso della stanza aggiornato",
|
||||
"room.accessCodeOn": "Il codice d'accesso della stanza è attivato",
|
||||
"room.accessCodeOff": "Il codice d'accesso della stanza è disattivato",
|
||||
"room.peerChangedDisplayName": "{oldDisplayName} ora si chiama {displayName}",
|
||||
"room.newPeer": "{displayName} è entrato nella stanza",
|
||||
"room.newFile": "Nuovo file disponibile",
|
||||
"room.toggleAdvancedMode": "Attivata/disattivata modalità avanzata",
|
||||
"room.setDemocraticView": "Aspetto cambiato in vista democratica",
|
||||
"room.setFilmStripView": "Aspetto cambiato in vista filmstrip",
|
||||
"room.loggedIn": "Hai eseguito il log in",
|
||||
"room.loggedOut": "Hai eseguito il log out",
|
||||
"room.changedDisplayName": "Il tuo nome visualizzato è cambiato in{displayName}",
|
||||
"room.changeDisplayNameError": "Errore nel modificare il tuo nome visualizzato",
|
||||
"room.chatError": "Impossibile mandare messaggio in chat",
|
||||
"room.aboutToJoin": "Stai per entrare in un meeting",
|
||||
"room.roomId": "ID stanza: {roomName}",
|
||||
"room.setYourName": "Imposta il tuo nome per la partecipazione, e scegli in che modo vuoi entrare:",
|
||||
"room.audioOnly": "Solo Audio",
|
||||
"room.audioVideo": "Audio e Video",
|
||||
"room.youAreReady": "Ok, sei pronto",
|
||||
"room.emptyRequireLogin": "La stanza è vuota! Puoi fare il log in per iniziare il meeting, o aspettare finchè l'host non entra",
|
||||
"room.locketWait": "La stanza è bloccata - resta in attesa finchè qualcuno non ti fa entrare...",
|
||||
"room.lobbyAdministration": "Amministrazione lobby",
|
||||
"room.peersInLobby": "Participanti della lobby",
|
||||
"room.lobbyEmpty": "Attualmente non c'è nessuno nella lobby",
|
||||
"room.hiddenPeers": "{hiddenPeersCount, plural, one {participant} other {participants}}",
|
||||
"room.me": "Io",
|
||||
"room.spotlights": "Partecipanti in Evidenza",
|
||||
"room.passive": "Participanti Passivi",
|
||||
"room.videoPaused": "Il video è in pausa",
|
||||
|
||||
"tooltip.login": "Log in",
|
||||
"tooltip.logout": "Log out",
|
||||
"tooltip.admitFromLobby": "Ammetti dalla lobby",
|
||||
"tooltip.lockRoom": "Blocca stanza",
|
||||
"tooltip.unLockRoom": "Sblocca stanza",
|
||||
"tooltip.enterFullscreen": "Modalità schermo intero",
|
||||
"tooltip.leaveFullscreen": "Esci dalla modalità schermo intero",
|
||||
"tooltip.lobby": "Mostra lobby",
|
||||
"tooltip.settings": "Mostra impostazioni",
|
||||
"tooltip.participants": "Mostra partecipanti",
|
||||
|
||||
"label.roomName": "Nome della stanza",
|
||||
"label.chooseRoomButton": "Continua",
|
||||
"label.yourName": "Il tuo nome",
|
||||
"label.newWindow": "Nuova finestra",
|
||||
"label.fullscreen": "Schermo intero",
|
||||
"label.openDrawer": "Apri cassetto",
|
||||
"label.leave": "Esci",
|
||||
"label.chatInput": "Inserire messaggio...",
|
||||
"label.chat": "Chat",
|
||||
"label.filesharing": "Condivisione file",
|
||||
"label.participants": "Partecipanti",
|
||||
"label.shareFile": "Condividi file",
|
||||
"label.fileSharingUnsupported": "Condivisione file non supportata",
|
||||
"label.unknown": "Sconosciuto",
|
||||
"label.democratic": "Vista Democratica",
|
||||
"label.filmstrip": "Vista Filmstrip",
|
||||
"label.low": "Bassa",
|
||||
"label.medium": "Media",
|
||||
"label.high": "Alta (HD)",
|
||||
"label.veryHigh": "Molto alta (FHD)",
|
||||
"label.ultra": "Ultra (UHD)",
|
||||
"label.close": "Chiudi",
|
||||
|
||||
"settings.settings": "Impostazioni",
|
||||
"settings.camera": "Videocamera",
|
||||
"settings.selectCamera": "Seleziona dispositivo video",
|
||||
"settings.cantSelectCamera": "Impossibile selezionare dispositivo video",
|
||||
"settings.audio": "Dispositivo audio",
|
||||
"settings.selectAudio": "Seleziona dispositivo audio",
|
||||
"settings.cantSelectAudio": "Impossibile selezionare dispositivo audio",
|
||||
"settings.resolution": "Seleziona risoluzione",
|
||||
"settings.layout": "Aspetto stanza",
|
||||
"settings.selectRoomLayout": "Seleziona aspetto stanza",
|
||||
"settings.advancedMode": "Modalità avanzata",
|
||||
"settings.permanentTopBar": "Barra superiore permanente",
|
||||
"settings.lastn": "Numero di video visibili",
|
||||
|
||||
"filesharing.saveFileError": "Impossibile salvare file",
|
||||
"filesharing.startingFileShare": "Tentativo di condivisione file",
|
||||
"filesharing.successfulFileShare": "File condiviso con successo",
|
||||
"filesharing.unableToShare": "Impossibile condividere file",
|
||||
"filesharing.error": "Errore generico nella condivisione file",
|
||||
"filesharing.finished": "Il file è stato scaricato",
|
||||
"filesharing.save": "Salva",
|
||||
"filesharing.sharedFile": "{displayName} ha condiviso un file",
|
||||
"filesharing.download": "Download",
|
||||
"filesharing.missingSeeds": "Se questo processo impiega troppo tempo, questo torrent potrebbe non avere alcun seed. Prova a chiedere a qualcuno di caricare nuovamente il file che desideri.",
|
||||
|
||||
"devices.devicesChanged": "Il tuo dispositivo è cambiato, configura i dispositivi nel menù di impostazioni",
|
||||
|
||||
"device.audioUnsupported": "Dispositivo audio non supportato",
|
||||
"device.activateAudio": "Attiva audio",
|
||||
"device.muteAudio": "Silenzia audio",
|
||||
"device.unMuteAudio": "Riattiva audio",
|
||||
|
||||
"device.videoUnsupported": "Dispositivo video non supportato",
|
||||
"device.startVideo": "Attiva video",
|
||||
"device.stopVideo": "Disattiva video",
|
||||
|
||||
"device.screenSharingUnsupported": "Condivisione Schermo non supportata",
|
||||
"device.startScreenSharing": "Inizia Condivisione Schermo",
|
||||
"device.stopScreenSharing": "Termina Condivisione Schermo",
|
||||
|
||||
"devices.microphoneDisconnected": "Microfono scollegato",
|
||||
"devices.microphoneError": "Errore con l'accesso al microfono",
|
||||
"devices.microPhoneMute": "Microfono silenziato",
|
||||
"devices.micophoneUnMute": "Microfono riattivato",
|
||||
"devices.microphoneEnable": "Microfono attivo",
|
||||
"devices.microphoneMuteError": "Impossibile silenziare il microfono",
|
||||
"devices.microphoneUnMuteError": "Impossibile riattivare il microfono",
|
||||
|
||||
"devices.screenSharingDisconnected" : "Disconnesso da Condivisione Schermo",
|
||||
"devices.screenSharingError": "Errore con l'accesso al tuo schermo",
|
||||
|
||||
"devices.cameraDisconnected": "Videocamera scollegata",
|
||||
"devices.cameraError": "Errore con l'accesso alla videocamera"
|
||||
}
|
||||
Reference in New Issue
Block a user