Merge branch 'master' into webrtc
This commit is contained in:
commit
95dbf255e1
6 changed files with 133 additions and 30 deletions
|
@ -26,7 +26,7 @@ git clone -b webrtc https://github.com/johni0702/mumble-web
|
|||
cd mumble-web
|
||||
npm install
|
||||
```
|
||||
Note that npm should not be ran as root, use an unprivileged user account instead.
|
||||
Note that npm **must not** be ran as the root user (even in a container) because it will try to do special things which cause the build to fail, use a non-root user account instead.
|
||||
|
||||
The npm version is prebuilt and ready to use whereas the git version allows you
|
||||
to e.g. customize the theme before building it.
|
||||
|
|
20
app/index.js
20
app/index.js
|
@ -351,7 +351,7 @@ class GlobalBindings {
|
|||
this.remoteHost(host)
|
||||
this.remotePort(port)
|
||||
|
||||
log('Connecting to server ', host)
|
||||
log(translate('logentry.connecting'), host)
|
||||
|
||||
let ctx = audioContext()
|
||||
if (!this._delayedMicNode) {
|
||||
|
@ -372,12 +372,12 @@ class GlobalBindings {
|
|||
},
|
||||
tokens: tokens
|
||||
}).done(client => {
|
||||
log('Connected!')
|
||||
log(translate('logentry.connected'))
|
||||
|
||||
this.client = client
|
||||
// Prepare for connection errors
|
||||
client.on('error', (err) => {
|
||||
log('Connection error:', err)
|
||||
log(translate('logentry.connection_error'), err)
|
||||
this.resetClient()
|
||||
})
|
||||
|
||||
|
@ -451,7 +451,7 @@ class GlobalBindings {
|
|||
this.connectErrorDialog.reason(err.reason)
|
||||
this.connectErrorDialog.show()
|
||||
} else {
|
||||
log('Connection error:', err)
|
||||
log(translate('logentry.connection_error'), err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -717,7 +717,7 @@ class GlobalBindings {
|
|||
} else if (mode === 'vad') {
|
||||
voiceHandler = new VADVoiceHandler(this.client, this.settings)
|
||||
} else {
|
||||
log('Unknown voice mode:', mode)
|
||||
log(translate('logentry.unknown_voice_mode'), mode)
|
||||
return
|
||||
}
|
||||
voiceHandler.on('started_talking', () => {
|
||||
|
@ -761,9 +761,11 @@ class GlobalBindings {
|
|||
target = target.channel()
|
||||
}
|
||||
if (target.users) { // Channel
|
||||
return "Type message to channel '" + target.name() + "' here"
|
||||
return translate('chat.channel_message_placeholder')
|
||||
.replace('%1', target.name())
|
||||
} else { // User
|
||||
return "Type message to user '" + target.name() + "' here"
|
||||
return translate('chat.user_message_placeholder')
|
||||
.replace('%1', target.name())
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -1105,8 +1107,8 @@ function translateEverything() {
|
|||
translatePiece('.connect-dialog.error-dialog .dialog-close', 'attribute', {'name': 'value'}, 'connectdialog.error.cancel');
|
||||
translatePiece('.join-dialog .dialog-header', 'textcontent', {}, 'joindialog.title');
|
||||
translatePiece('.join-dialog .dialog-submit', 'attribute', {'name': 'value'}, 'joindialog.connect');
|
||||
translatePiece('.user-context-menu .mute', 'textcontent', {}, 'contextmenu.mute');
|
||||
translatePiece('.user-context-menu .deafen', 'textcontent', {}, 'contextmenu.deafen');
|
||||
translatePiece('.user-context-menu .mute', 'textcontent', {}, 'usercontextmenu.mute');
|
||||
translatePiece('.user-context-menu .deafen', 'textcontent', {}, 'usercontextmenu.deafen');
|
||||
translatePiece('.user-context-menu .priority-speaker', 'textcontent', {}, 'usercontextmenu.priority_speaker');
|
||||
translatePiece('.user-context-menu .local-mute', 'textcontent', {}, 'usercontextmenu.local_mute');
|
||||
translatePiece('.user-context-menu .ignore-messages', 'textcontent', {}, 'usercontextmenu.ignore_messages');
|
||||
|
|
31
loc/en.json
31
loc/en.json
|
@ -51,16 +51,27 @@
|
|||
"remove_friend": "Remove Friend"
|
||||
},
|
||||
"channelcontextmenu": {
|
||||
"channelcontextmenu.join": "Join Channel",
|
||||
"channelcontextmenu.add": "Add",
|
||||
"channelcontextmenu.edit": "Edit",
|
||||
"channelcontextmenu.remove": "Remove",
|
||||
"channelcontextmenu.link": "Link",
|
||||
"channelcontextmenu.unlink": "Unlink",
|
||||
"channelcontextmenu.unlink_all": "Unlink All",
|
||||
"channelcontextmenu.copy_mumble_url": "Copy Mumble URL",
|
||||
"channelcontextmenu.copy_mumble_web_url": "Copy Mumble-Web URL",
|
||||
"channelcontextmenu.send_message": "Send Message"
|
||||
"join": "Join Channel",
|
||||
"add": "Add",
|
||||
"edit": "Edit",
|
||||
"remove": "Remove",
|
||||
"link": "Link",
|
||||
"unlink": "Unlink",
|
||||
"unlink_all": "Unlink All",
|
||||
"copy_mumble_url": "Copy Mumble URL",
|
||||
"copy_mumble_web_url": "Copy Mumble-Web URL",
|
||||
"send_message": "Send Message"
|
||||
},
|
||||
"logentry": {
|
||||
"connecting": "Connecting to server",
|
||||
"connected": "Connected!",
|
||||
"connection_error": "Connection error:",
|
||||
"unknown_voice_mode": "Unknown voice mode:",
|
||||
"mic_init_error": "Cannot initialize user media. Microphone will not work:"
|
||||
},
|
||||
"chat": {
|
||||
"channel_message_placeholder": "Type message to channel '%1' here",
|
||||
"user_message_placeholder": "Type message to user '%1' here"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
77
loc/es.json
Normal file
77
loc/es.json
Normal file
|
@ -0,0 +1,77 @@
|
|||
{
|
||||
"connectdialog": {
|
||||
"title": "Conectar al servidor",
|
||||
"address": "Dirección",
|
||||
"port": "Puerto",
|
||||
"username": "Nombre de usuario",
|
||||
"password": "Contraseña",
|
||||
"tokens": "Tokens",
|
||||
"remove": "Eliminar",
|
||||
"add": "Añadir",
|
||||
"cancel": "Cancelar",
|
||||
"connect": "Conectar",
|
||||
"error": {
|
||||
"title": "Fallo al conectar",
|
||||
"reason": {
|
||||
"refused": "La conexión ha sido rechazada.",
|
||||
"version": "El servidor usa una versión incompatible.",
|
||||
"username": "El nombre de usuario está en uso o no es válido. Prueba con otro.",
|
||||
"userpassword": "Contraseña incorrecta.\nEl nombre de usuario elegido requiere contraseña.",
|
||||
"serverpassword": "Contraseña incorrecta.",
|
||||
"username_in_use": "El nombre de usuario está en uso.",
|
||||
"full": "El servidor está lleno (completo).",
|
||||
"clientcert": "El servidor requiere acceder con un certificado, lo que no está soportado en esta aplicación web.",
|
||||
"server": "El servidor informa:"
|
||||
},
|
||||
"retry": "Reintentar",
|
||||
"cancel": "Cancelar"
|
||||
}
|
||||
},
|
||||
"joindialog": {
|
||||
"title": "Chat de Voz Mumble",
|
||||
"connect": "Unirse a la conferencia"
|
||||
},
|
||||
"usercontextmenu": {
|
||||
"mute": "Enmudecer",
|
||||
"deafen": "Ensordecer",
|
||||
"priority_speaker": "Orador prioritario",
|
||||
"local_mute": "Enmudecer localmente",
|
||||
"ignore_messages": "Ignorar mensajes",
|
||||
"view_comment": "Ver comentarios",
|
||||
"change_comment": "Cambiar comentarios",
|
||||
"reset_comment": "Reiniciar comentarios",
|
||||
"view_avatar": "Ver Avatar",
|
||||
"change_avatar": "Cambiar Avatar",
|
||||
"reset_avatar": "Reiniciar Avatar",
|
||||
"send_message": "Enviar un mensaje",
|
||||
"information": "Información",
|
||||
"self_mute": "Enmudecerse a uno mismo",
|
||||
"self_deafen": "Ensordecerse a uno mismo",
|
||||
"add_friend": "Añadir amigo",
|
||||
"remove_friend": "Eliminar amigo"
|
||||
},
|
||||
"channelcontextmenu": {
|
||||
"join": "Unirse al canal",
|
||||
"add": "Añadir",
|
||||
"edit": "Editar",
|
||||
"remove": "Eliminar",
|
||||
"link": "Link",
|
||||
"unlink": "Unlink",
|
||||
"unlink_all": "Unlink All",
|
||||
"copy_mumble_url": "Copiar Mumble URL",
|
||||
"copy_mumble_web_url": "Copiar Mumble-Web URL",
|
||||
"send_message": "Enviar mensaje"
|
||||
},
|
||||
"logentry": {
|
||||
"connecting": "Conectando al servidor",
|
||||
"connected": "¡Conectado!",
|
||||
"connection_error": "Error en la conexión:",
|
||||
"unknown_voice_mode": "Modo de voz desconocido:",
|
||||
"mic_init_error": "No se pudieron inicializar los medios. El micrófono no funcionará:"
|
||||
},
|
||||
"chat": {
|
||||
"channel_message_placeholder": "Escribe un mensaje al canal '%1'",
|
||||
"user_message_placeholder": "Escribe un mensaje al usuario '%1'"
|
||||
}
|
||||
}
|
||||
|
31
loc/oc.json
31
loc/oc.json
|
@ -51,15 +51,26 @@
|
|||
"remove_friend": "Tirar dels amics"
|
||||
},
|
||||
"channelcontextmenu": {
|
||||
"channelcontextmenu.join": "Rejónher la sala",
|
||||
"channelcontextmenu.add": "Ajustar",
|
||||
"channelcontextmenu.edit": "Modificar",
|
||||
"channelcontextmenu.remove": "Suprimir",
|
||||
"channelcontextmenu.link": "Associar",
|
||||
"channelcontextmenu.unlink": "Desassociar",
|
||||
"channelcontextmenu.unlink_all": "Tot desassociar",
|
||||
"channelcontextmenu.copy_mumble_url": "Copair l’URL Mumble",
|
||||
"channelcontextmenu.copy_mumble_web_url": "Copiar l’URL Mumble-Web",
|
||||
"channelcontextmenu.send_message": "Enviar messatge"
|
||||
"join": "Rejónher la sala",
|
||||
"add": "Ajustar",
|
||||
"edit": "Modificar",
|
||||
"remove": "Suprimir",
|
||||
"link": "Associar",
|
||||
"unlink": "Desassociar",
|
||||
"unlink_all": "Tot desassociar",
|
||||
"copy_mumble_url": "Copair l’URL Mumble",
|
||||
"copy_mumble_web_url": "Copiar l’URL Mumble-Web",
|
||||
"send_message": "Enviar messatge"
|
||||
},
|
||||
"logentry": {
|
||||
"connecting": "Connexion al servidor",
|
||||
"connected": "Connectat !",
|
||||
"connection_error": "Error de connexion :",
|
||||
"unknown_voice_mode": "Mòde àudio desconegut :",
|
||||
"mic_init_error": "Aviada del mèdia utilizaire impossibla. Lo microfòn foncionarà pas :"
|
||||
},
|
||||
"chat": {
|
||||
"channel_message_placeholder": "Escrivètz un messatge per la sala '%1' aquí",
|
||||
"user_message_placeholder": "Escrivètz un messatge a '%1' aquí"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -276,6 +276,7 @@ html, body {
|
|||
padding: 2px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.toolbar img:hover {
|
||||
border: 1px solid $toolbar-hover-bg-color;
|
||||
|
@ -387,6 +388,7 @@ form {
|
|||
background-color: $dialog-button-bg-color;
|
||||
color: $dialog-button-color;
|
||||
padding: 1px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.connect-dialog table {
|
||||
text-align: center;
|
||||
|
|
Loading…
Reference in a new issue