From 60c40ad64efdf805120bea66d152bba7a2d89a7a Mon Sep 17 00:00:00 2001 From: joker-x Date: Tue, 5 May 2020 03:51:39 +0200 Subject: [PATCH 01/10] Traslated into spanish --- loc/es.json | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 loc/es.json diff --git a/loc/es.json b/loc/es.json new file mode 100644 index 0000000..3382dca --- /dev/null +++ b/loc/es.json @@ -0,0 +1,66 @@ +{ + "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": "Connectar", + "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": { + "channelcontextmenu.join": "Unirse al canal", + "channelcontextmenu.add": "Añadir", + "channelcontextmenu.edit": "Editar", + "channelcontextmenu.remove": "Eliminar", + "channelcontextmenu.link": "Link", + "channelcontextmenu.unlink": "Unlink", + "channelcontextmenu.unlink_all": "Unlink All", + "channelcontextmenu.copy_mumble_url": "Copiar Mumble URL", + "channelcontextmenu.copy_mumble_web_url": "Copiar Mumble-Web URL", + "channelcontextmenu.send_message": "Enviar mensaje" + } +} + From 0d97e365aec7539f63eb696842589371bc61e750 Mon Sep 17 00:00:00 2001 From: joker-x Date: Tue, 5 May 2020 04:58:30 +0200 Subject: [PATCH 02/10] Fix channelcontextmenu keys in locales --- loc/en.json | 20 ++++++++++---------- loc/es.json | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/loc/en.json b/loc/en.json index d823102..ac21212 100644 --- a/loc/en.json +++ b/loc/en.json @@ -51,16 +51,16 @@ "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" } } diff --git a/loc/es.json b/loc/es.json index 3382dca..514a718 100644 --- a/loc/es.json +++ b/loc/es.json @@ -51,16 +51,16 @@ "remove_friend": "Eliminar amigo" }, "channelcontextmenu": { - "channelcontextmenu.join": "Unirse al canal", - "channelcontextmenu.add": "Añadir", - "channelcontextmenu.edit": "Editar", - "channelcontextmenu.remove": "Eliminar", - "channelcontextmenu.link": "Link", - "channelcontextmenu.unlink": "Unlink", - "channelcontextmenu.unlink_all": "Unlink All", - "channelcontextmenu.copy_mumble_url": "Copiar Mumble URL", - "channelcontextmenu.copy_mumble_web_url": "Copiar Mumble-Web URL", - "channelcontextmenu.send_message": "Enviar mensaje" + "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" } } From 56262ca8956cd82d02cf35e47ac29d589e3cf881 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Tue, 5 May 2020 08:56:45 +0200 Subject: [PATCH 03/10] Fix channelcontextmenu keys in oc.json --- loc/oc.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/loc/oc.json b/loc/oc.json index 368f4c4..6f353ab 100644 --- a/loc/oc.json +++ b/loc/oc.json @@ -51,15 +51,15 @@ "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" } } From 71f462e868ef2e264bebd1202587b01d0e072f87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Fri, 8 May 2020 15:20:44 +0200 Subject: [PATCH 04/10] Fix translation key for mute and deafen --- app/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/index.js b/app/index.js index cb2d45d..5105cae 100644 --- a/app/index.js +++ b/app/index.js @@ -1095,8 +1095,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'); From 27c8e1a411f1b538d663e304f1466559bcf191a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Fri, 8 May 2020 15:27:09 +0200 Subject: [PATCH 05/10] Set 'cursor: pointer' property to buttons --- themes/MetroMumbleLight/main.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/themes/MetroMumbleLight/main.scss b/themes/MetroMumbleLight/main.scss index 5f73e6c..fbdc413 100644 --- a/themes/MetroMumbleLight/main.scss +++ b/themes/MetroMumbleLight/main.scss @@ -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; From 0b2d773ff62ab308a1b715833ce97af48616283b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Fri, 8 May 2020 15:37:44 +0200 Subject: [PATCH 06/10] Translate log entries and chat message placeholder --- app/index.js | 18 ++++++++++-------- loc/en.json | 11 +++++++++++ 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/index.js b/app/index.js index cb2d45d..2395640 100644 --- a/app/index.js +++ b/app/index.js @@ -353,7 +353,7 @@ class GlobalBindings { this.remoteHost(host) this.remotePort(port) - log('Connecting to server ', host) + log(translate('logentry.connecting'), host) // Note: This call needs to be delayed until the user has interacted with // the page in some way (which at this point they have), see: https://goo.gl/7K7WLu @@ -365,12 +365,12 @@ class GlobalBindings { password: password, 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() }) @@ -444,7 +444,7 @@ class GlobalBindings { this.connectErrorDialog.reason(err.reason) this.connectErrorDialog.show() } else { - log('Connection error:', err) + log(translate('logentry.connection_error'), err) } }) } @@ -716,7 +716,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', () => { @@ -751,9 +751,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()) } }) @@ -1141,7 +1143,7 @@ async function main() { voiceHandler.write(data) } }, err => { - log('Cannot initialize user media. Microphone will not work:', err) + log(translate('logentry.mic_init_error'), err) }) } diff --git a/loc/en.json b/loc/en.json index ac21212..420a4a3 100644 --- a/loc/en.json +++ b/loc/en.json @@ -61,6 +61,17 @@ "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" } } From 8c0748e87ab14699acb8705b9035437eda8f5340 Mon Sep 17 00:00:00 2001 From: joker-x Date: Sat, 9 May 2020 04:39:56 +0200 Subject: [PATCH 07/10] Update spanish translation --- loc/es.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/loc/es.json b/loc/es.json index 514a718..20faeac 100644 --- a/loc/es.json +++ b/loc/es.json @@ -9,7 +9,7 @@ "remove": "Eliminar", "add": "Añadir", "cancel": "Cancelar", - "connect": "Connectar", + "connect": "Conectar", "error": { "title": "Fallo al conectar", "reason": { @@ -61,6 +61,17 @@ "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'" } } From 646ef4c73a6dba4c9e3ce3f414f11d2c762db442 Mon Sep 17 00:00:00 2001 From: Mejans <61360811+Mejans@users.noreply.github.com> Date: Sat, 9 May 2020 20:36:03 +0200 Subject: [PATCH 08/10] Update for Occitan language --- loc/oc.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/loc/oc.json b/loc/oc.json index 6f353ab..ed9bba5 100644 --- a/loc/oc.json +++ b/loc/oc.json @@ -61,5 +61,16 @@ "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í" } } From dc09f1671f658bc21dd8aaae79ba739cfaf5a5ef Mon Sep 17 00:00:00 2001 From: Mejans <61360811+Mejans@users.noreply.github.com> Date: Sat, 9 May 2020 20:37:12 +0200 Subject: [PATCH 09/10] Update oc.json --- loc/oc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loc/oc.json b/loc/oc.json index ed9bba5..dc6e1bb 100644 --- a/loc/oc.json +++ b/loc/oc.json @@ -70,7 +70,7 @@ "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í, + "channel_message_placeholder": "Escrivètz un messatge per la sala '%1' aquí", "user_message_placeholder": "Escrivètz un messatge a '%1' aquí" } } From e74fe04d0750e1ba1c92096fb02c06142961c686 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sat, 23 May 2020 09:00:28 +0200 Subject: [PATCH 10/10] Be more explicit about npm-as-root (fixes #113) As noted in the issue, the current phrasing sounds too much like security advice which one could easily ignore when building in a container. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce8a875..8f03cba 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ git clone 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.