From b83f5ef3986c6334e2178956c8c5dcffc3b0598a Mon Sep 17 00:00:00 2001 From: Davide Beatrici Date: Sun, 2 Jun 2024 00:04:49 +0200 Subject: [PATCH 1/3] REFAC(client): Implement loadComboBox() that sets the index based on the data The function that already existed took the index instead of the data, making it susceptible to errors because the data could be passed instead of the index. Also, with this new iteration of loadComboBox() we can reorder the items shown to the user as desired. --- src/mumble/ConfigWidget.cpp | 15 +++++++++++++++ src/mumble/ConfigWidget.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/mumble/ConfigWidget.cpp b/src/mumble/ConfigWidget.cpp index 4c005db1de4..1e4105e7f0a 100644 --- a/src/mumble/ConfigWidget.cpp +++ b/src/mumble/ConfigWidget.cpp @@ -69,3 +69,18 @@ void ConfigWidget::loadComboBox(QComboBox *c, int v) { disconnect(SIGNAL(intSignal(int))); } } + +void ConfigWidget::loadComboBox(QComboBox *c, const QVariant &v) { + const int index = c->findData(v); + if (index == -1) { + return; + } + + if (c->currentIndex() != index) { + c->setCurrentIndex(index); + } else { + connect(this, SIGNAL(intSignal(int)), c, SIGNAL(currentIndexChanged(int))); + emit intSignal(index); + disconnect(SIGNAL(intSignal(int))); + } +} diff --git a/src/mumble/ConfigWidget.h b/src/mumble/ConfigWidget.h index 3c3802d54c1..c3250d0237c 100644 --- a/src/mumble/ConfigWidget.h +++ b/src/mumble/ConfigWidget.h @@ -24,6 +24,7 @@ class ConfigWidget : public QWidget { void loadSlider(QSlider *, int); void loadCheckBox(QAbstractButton *, bool); void loadComboBox(QComboBox *, int); + void loadComboBox(QComboBox *, const QVariant &); signals: void intSignal(int); From 361754ebc9611ca504f2012cc68b54a62881e51e Mon Sep 17 00:00:00 2001 From: Davide Beatrici Date: Sun, 2 Jun 2024 01:02:22 +0200 Subject: [PATCH 2/3] FEAT(client, server): Implement loopback while still sending to others --- src/MumbleProtocol.h | 5 +- src/mumble/AudioConfigDialog.cpp | 10 +- src/mumble/AudioInput.cpp | 37 +++- src/mumble/AudioWizard.cpp | 2 +- src/mumble/EnumStringConversions.cpp | 10 +- src/mumble/Settings.h | 4 +- src/murmur/Server.cpp | 194 ++++++++++-------- .../TestMumbleProtocol/TestMumbleProtocol.cpp | 2 +- 8 files changed, 150 insertions(+), 114 deletions(-) diff --git a/src/MumbleProtocol.h b/src/MumbleProtocol.h index 5732d6a5c3b..fd95d5aeae5 100644 --- a/src/MumbleProtocol.h +++ b/src/MumbleProtocol.h @@ -89,8 +89,9 @@ namespace Protocol { }; namespace ReservedTargetIDs { - constexpr unsigned int REGULAR_SPEECH = 0; - constexpr unsigned int SERVER_LOOPBACK = 31; + constexpr unsigned int REGULAR_SPEECH = 0; + constexpr unsigned int SERVER_LOOPBACK_REGULAR = 30; + constexpr unsigned int SERVER_LOOPBACK_ONLY = 31; } // namespace ReservedTargetIDs using audio_context_t = byte; diff --git a/src/mumble/AudioConfigDialog.cpp b/src/mumble/AudioConfigDialog.cpp index cf83d6fa812..8918c52763b 100644 --- a/src/mumble/AudioConfigDialog.cpp +++ b/src/mumble/AudioConfigDialog.cpp @@ -640,8 +640,10 @@ AudioOutputDialog::AudioOutputDialog(Settings &st) : ConfigWidget(st) { qcbSystem->setEnabled(qcbSystem->count() > 1); qcbLoopback->addItem(tr("None"), Settings::None); - qcbLoopback->addItem(tr("Local"), Settings::Local); - qcbLoopback->addItem(tr("Server"), Settings::Server); + qcbLoopback->addItem(tr("Local (don't send to others)"), Settings::LocalOnly); + qcbLoopback->addItem(tr("Local (send to others)"), Settings::LocalRegular); + qcbLoopback->addItem(tr("Server (don't send to others)"), Settings::ServerOnly); + qcbLoopback->addItem(tr("Server (send to others)"), Settings::ServerRegular); qcbDevice->view()->setTextElideMode(Qt::ElideRight); @@ -729,7 +731,7 @@ void AudioOutputDialog::load(const Settings &r) { enablePulseAudioAttenuationOptionsFor(AudioOutputRegistrar::current); loadSlider(qsJitter, r.iJitterBufferSize); - loadComboBox(qcbLoopback, r.lmLoopMode); + loadComboBox(qcbLoopback, QVariant::fromValue(r.lmLoopMode)); loadSlider(qsPacketDelay, static_cast< int >(r.dMaxPacketDelay)); loadSlider(qsPacketLoss, static_cast< int >(r.dPacketLoss * 100.0f + 0.5f)); qsbMinimumDistance->setValue(r.fAudioMinDistance); @@ -755,7 +757,7 @@ void AudioOutputDialog::save() const { s.bAttenuateUsersOnPrioritySpeak = qcbAttenuateUsersOnPrioritySpeak->isChecked(); s.iJitterBufferSize = qsJitter->value(); s.qsAudioOutput = qcbSystem->currentText(); - s.lmLoopMode = static_cast< Settings::LoopMode >(qcbLoopback->currentIndex()); + s.lmLoopMode = qcbLoopback->currentData().value< Settings::LoopMode >(); s.dMaxPacketDelay = static_cast< float >(qsPacketDelay->value()); s.dPacketLoss = static_cast< float >(qsPacketLoss->value()) / 100.0f; s.fAudioMinDistance = static_cast< float >(qsbMinimumDistance->value()); diff --git a/src/mumble/AudioInput.cpp b/src/mumble/AudioInput.cpp index 3187704d1b8..2c9388f2993 100644 --- a/src/mumble/AudioInput.cpp +++ b/src/mumble/AudioInput.cpp @@ -992,7 +992,8 @@ void AudioInput::encodeAudioFrame(AudioChunk chunk) { ClientUser *p = ClientUser::get(Global::get().uiSession); bool bTalkingWhenMuted = false; - if (Global::get().s.bMute || ((Global::get().s.lmLoopMode != Settings::Local) && p && (p->bMute || p->bSuppress)) + if (Global::get().s.bMute + || ((Global::get().s.lmLoopMode != Settings::LocalOnly) && p && (p->bMute || p->bSuppress)) || Global::get().bPushToMute || (voiceTargetID < 0)) { bTalkingWhenMuted = bIsSpeech; bIsSpeech = false; @@ -1173,8 +1174,16 @@ void AudioInput::flushCheck(const QByteArray &frame, bool terminator, std::int32 // accordingly once the client whispers for the next time. Global::get().iPrevTarget = 0; } - if (Global::get().s.lmLoopMode == Settings::Server) { - audioData.targetOrContext = Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK; + + switch (Global::get().s.lmLoopMode) { + case Settings::ServerOnly: + audioData.targetOrContext = Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK_ONLY; + break; + case Settings::ServerRegular: + audioData.targetOrContext = Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK_REGULAR; + break; + default: + break; } audioData.usedCodec = m_codec; @@ -1215,14 +1224,20 @@ void AudioInput::flushCheck(const QByteArray &frame, bool terminator, std::int32 } } - if (Global::get().s.lmLoopMode == Settings::Local) { - // Only add audio data to local loop buffer - LoopUser::lpLoopy.addFrame(audioData); - } else { - // Encode audio frame and send out - gsl::span< const Mumble::Protocol::byte > encodedAudioPacket = m_udpEncoder.encodeAudioPacket(audioData); - - sendAudioFrame(encodedAudioPacket); + switch (Global::get().s.lmLoopMode) { + case Settings::LocalOnly: + // Only add audio data to local loop buffer + LoopUser::lpLoopy.addFrame(audioData); + break; + case Settings::LocalRegular: + LoopUser::lpLoopy.addFrame(audioData); + [[fallthrough]]; + default: { + // Encode audio frame and send out + gsl::span< const Mumble::Protocol::byte > encodedAudioPacket = m_udpEncoder.encodeAudioPacket(audioData); + + sendAudioFrame(encodedAudioPacket); + } } qlFrames.clear(); diff --git a/src/mumble/AudioWizard.cpp b/src/mumble/AudioWizard.cpp index 608b1c55f53..d8aa944e3f7 100644 --- a/src/mumble/AudioWizard.cpp +++ b/src/mumble/AudioWizard.cpp @@ -173,7 +173,7 @@ AudioWizard::AudioWizard(QWidget *p) : QWizard(p) { updateTriggerWidgets(qrPTT->isChecked()); sOldSettings = Global::get().s; - Global::get().s.lmLoopMode = Settings::Local; + Global::get().s.lmLoopMode = Settings::LocalOnly; Global::get().s.dPacketLoss = 0.0; Global::get().s.dMaxPacketDelay = 0.0; Global::get().s.bMute = true; diff --git a/src/mumble/EnumStringConversions.cpp b/src/mumble/EnumStringConversions.cpp index 48e3b8b1fec..c0c442438d9 100644 --- a/src/mumble/EnumStringConversions.cpp +++ b/src/mumble/EnumStringConversions.cpp @@ -14,10 +14,12 @@ PROCESS(Settings::VADSource, Amplitude, "Amplitude") \ PROCESS(Settings::VADSource, SignalToNoise, "SignalToNoise") -#define LOOP_MODE_VALUES \ - PROCESS(Settings::LoopMode, None, "None") \ - PROCESS(Settings::LoopMode, Local, "Local") \ - PROCESS(Settings::LoopMode, Server, "Server") +#define LOOP_MODE_VALUES \ + PROCESS(Settings::LoopMode, None, "None") \ + PROCESS(Settings::LoopMode, LocalOnly, "LocalOnly") \ + PROCESS(Settings::LoopMode, ServerOnly, "ServerOnly") \ + PROCESS(Settings::LoopMode, LocalRegular, "LocalRegular") \ + PROCESS(Settings::LoopMode, ServerRegular, "ServerRegular") #define CHANNEL_EXPAND_VALUES \ PROCESS(Settings::ChannelExpand, NoChannels, "NoChannels") \ diff --git a/src/mumble/Settings.h b/src/mumble/Settings.h index 09b37d69388..13ac86fe206 100644 --- a/src/mumble/Settings.h +++ b/src/mumble/Settings.h @@ -188,7 +188,7 @@ struct OverlaySettings { struct Settings { enum AudioTransmit { Continuous, VAD, PushToTalk }; enum VADSource { Amplitude, SignalToNoise }; - enum LoopMode { None, Local, Server }; + enum LoopMode { None, LocalOnly, ServerOnly, LocalRegular, ServerRegular }; enum ChannelExpand { NoChannels, ChannelsWithUsers, AllChannels }; enum ChannelDrag { Ask, DoNothing, Move }; enum ServerShow { ShowPopulated, ShowReachable, ShowAll }; @@ -579,4 +579,6 @@ struct Settings { QString findSettingsLocation(bool legacy = false, bool *foundExistingFile = nullptr) const; }; +Q_DECLARE_METATYPE(Settings::LoopMode) + #endif // MUMBLE_MUMBLE_SETTINGS_H_ diff --git a/src/murmur/Server.cpp b/src/murmur/Server.cpp index bc89c653066..74fcb50fefa 100644 --- a/src/murmur/Server.cpp +++ b/src/murmur/Server.cpp @@ -1171,114 +1171,128 @@ void Server::processMsg(ServerUser *u, Mumble::Protocol::AudioData audioData, Au buffer.clear(); - if (audioData.targetOrContext == Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK) { - buffer.forceAddReceiver(*u, Mumble::Protocol::AudioContext::NORMAL, audioData.containsPositionalData); - } else if (audioData.targetOrContext == Mumble::Protocol::ReservedTargetIDs::REGULAR_SPEECH) { - Channel *c = u->cChannel; - - // Send audio to all users that are listening to the channel - foreach (unsigned int currentSession, m_channelListenerManager.getListenersForChannel(c->iId)) { - ServerUser *pDst = static_cast< ServerUser * >(qhUsers.value(currentSession)); - if (pDst) { - buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::LISTEN, audioData.containsPositionalData, - m_channelListenerManager.getListenerVolumeAdjustment(pDst->uiSession, c->iId)); + switch (audioData.targetOrContext) { + case Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK_ONLY: + buffer.forceAddReceiver(*u, Mumble::Protocol::AudioContext::NORMAL, audioData.containsPositionalData); + break; + case Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK_REGULAR: + buffer.forceAddReceiver(*u, Mumble::Protocol::AudioContext::NORMAL, audioData.containsPositionalData); + [[fallthrough]]; + case Mumble::Protocol::ReservedTargetIDs::REGULAR_SPEECH: { + Channel *c = u->cChannel; + + // Send audio to all users that are listening to the channel + foreach (unsigned int currentSession, m_channelListenerManager.getListenersForChannel(c->iId)) { + ServerUser *pDst = static_cast< ServerUser * >(qhUsers.value(currentSession)); + if (pDst) { + buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::LISTEN, + audioData.containsPositionalData, + m_channelListenerManager.getListenerVolumeAdjustment(pDst->uiSession, c->iId)); + } } - } - // Send audio to all users in the same channel - for (User *p : c->qlUsers) { - ServerUser *pDst = static_cast< ServerUser * >(p); + // Send audio to all users in the same channel + for (User *p : c->qlUsers) { + ServerUser *pDst = static_cast< ServerUser * >(p); - buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::NORMAL, audioData.containsPositionalData); - } + buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::NORMAL, audioData.containsPositionalData); + } + + // Send audio to all linked channels the user has speak-permission + if (!c->qhLinks.isEmpty()) { + QSet< Channel * > chans = c->allLinks(); + chans.remove(c); - // Send audio to all linked channels the user has speak-permission - if (!c->qhLinks.isEmpty()) { - QSet< Channel * > chans = c->allLinks(); - chans.remove(c); - - QMutexLocker qml(&qmCache); - - for (Channel *l : chans) { - if (ChanACL::hasPermission(u, l, ChanACL::Speak, &acCache)) { - // Send the audio stream to all users that are listening to the linked channel - for (unsigned int currentSession : m_channelListenerManager.getListenersForChannel(l->iId)) { - ServerUser *pDst = static_cast< ServerUser * >(qhUsers.value(currentSession)); - if (pDst) { - buffer.addReceiver( - *u, *pDst, Mumble::Protocol::AudioContext::LISTEN, audioData.containsPositionalData, - m_channelListenerManager.getListenerVolumeAdjustment(pDst->uiSession, l->iId)); + QMutexLocker qml(&qmCache); + + for (Channel *l : chans) { + if (ChanACL::hasPermission(u, l, ChanACL::Speak, &acCache)) { + // Send the audio stream to all users that are listening to the linked channel + for (unsigned int currentSession : m_channelListenerManager.getListenersForChannel(l->iId)) { + ServerUser *pDst = static_cast< ServerUser * >(qhUsers.value(currentSession)); + if (pDst) { + buffer.addReceiver( + *u, *pDst, Mumble::Protocol::AudioContext::LISTEN, audioData.containsPositionalData, + m_channelListenerManager.getListenerVolumeAdjustment(pDst->uiSession, l->iId)); + } } - } - // Send audio to users in the linked channel - for (User *p : l->qlUsers) { - ServerUser *pDst = static_cast< ServerUser * >(p); + // Send audio to users in the linked channel + for (User *p : l->qlUsers) { + ServerUser *pDst = static_cast< ServerUser * >(p); - buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::NORMAL, - audioData.containsPositionalData); + buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::NORMAL, + audioData.containsPositionalData); + } } } } + + break; } - } else if (u->qmTargets.contains(static_cast< int >(audioData.targetOrContext))) { // Whisper/Shout - QSet< ServerUser * > channel; - QSet< ServerUser * > direct; - QHash< ServerUser *, VolumeAdjustment > cachedListeners; - - if (u->qmTargetCache.contains(static_cast< int >(audioData.targetOrContext))) { - ZoneScopedN(TracyConstants::AUDIO_WHISPER_CACHE_STORE); - - const WhisperTargetCache &cache = u->qmTargetCache.value(static_cast< int >(audioData.targetOrContext)); - channel = cache.channelTargets; - direct = cache.directTargets; - cachedListeners = cache.listeningTargets; - } else { - ZoneScopedN(TracyConstants::AUDIO_WHISPER_CACHE_CREATE); + default: + if (u->qmTargets.contains(static_cast< int >(audioData.targetOrContext))) { // Whisper/Shout + QSet< ServerUser * > channel; + QSet< ServerUser * > direct; + QHash< ServerUser *, VolumeAdjustment > cachedListeners; - const unsigned int uiSession = u->uiSession; - qrwlVoiceThread.unlock(); - qrwlVoiceThread.lockForWrite(); + if (u->qmTargetCache.contains(static_cast< int >(audioData.targetOrContext))) { + ZoneScopedN(TracyConstants::AUDIO_WHISPER_CACHE_STORE); - if (!qhUsers.contains(uiSession)) { - return; - } + const WhisperTargetCache &cache = + u->qmTargetCache.value(static_cast< int >(audioData.targetOrContext)); + channel = cache.channelTargets; + direct = cache.directTargets; + cachedListeners = cache.listeningTargets; + } else { + ZoneScopedN(TracyConstants::AUDIO_WHISPER_CACHE_CREATE); - // Create cache entry for the given target - // Note: We have to compute the cache entry and add it to the user's cache store in an atomic - // transaction (ensured by the lock) to avoid running into situations in which a user from the cache - // gets deleted without this particular cache entry being purged (which happens, if the cache entry is - // in the store at the point of deleting the user). - const WhisperTarget &wt = u->qmTargets.value(static_cast< int >(audioData.targetOrContext)); - WhisperTargetCache cache = createWhisperTargetCacheFor(*u, wt); + const unsigned int uiSession = u->uiSession; + qrwlVoiceThread.unlock(); + qrwlVoiceThread.lockForWrite(); - u->qmTargetCache.insert(static_cast< int >(audioData.targetOrContext), std::move(cache)); + if (!qhUsers.contains(uiSession)) { + return; + } + // Create cache entry for the given target + // Note: We have to compute the cache entry and add it to the user's cache store in an atomic + // transaction (ensured by the lock) to avoid running into situations in which a user from the cache + // gets deleted without this particular cache entry being purged (which happens, if the cache entry + // is in the store at the point of deleting the user). + const WhisperTarget &wt = u->qmTargets.value(static_cast< int >(audioData.targetOrContext)); + WhisperTargetCache cache = createWhisperTargetCacheFor(*u, wt); - qrwlVoiceThread.unlock(); - qrwlVoiceThread.lockForRead(); - if (!qhUsers.contains(uiSession)) - return; - } + u->qmTargetCache.insert(static_cast< int >(audioData.targetOrContext), std::move(cache)); - // These users receive the audio because someone is shouting to their channel - for (ServerUser *pDst : channel) { - buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::SHOUT, audioData.containsPositionalData); - } - // These users receive audio because someone is whispering to them - for (ServerUser *pDst : direct) { - buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::WHISPER, audioData.containsPositionalData); - } - // These users receive audio because someone is sending audio to one of their listeners - QHashIterator< ServerUser *, VolumeAdjustment > it(cachedListeners); - while (it.hasNext()) { - it.next(); - ServerUser *user = it.key(); - const VolumeAdjustment &volumeAdjustment = it.value(); - - buffer.addReceiver(*u, *user, Mumble::Protocol::AudioContext::LISTEN, audioData.containsPositionalData, - volumeAdjustment); - } + + qrwlVoiceThread.unlock(); + qrwlVoiceThread.lockForRead(); + if (!qhUsers.contains(uiSession)) + return; + } + + // These users receive the audio because someone is shouting to their channel + for (ServerUser *pDst : channel) { + buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::SHOUT, + audioData.containsPositionalData); + } + // These users receive audio because someone is whispering to them + for (ServerUser *pDst : direct) { + buffer.addReceiver(*u, *pDst, Mumble::Protocol::AudioContext::WHISPER, + audioData.containsPositionalData); + } + // These users receive audio because someone is sending audio to one of their listeners + QHashIterator< ServerUser *, VolumeAdjustment > it(cachedListeners); + while (it.hasNext()) { + it.next(); + ServerUser *user = it.key(); + const VolumeAdjustment &volumeAdjustment = it.value(); + + buffer.addReceiver(*u, *user, Mumble::Protocol::AudioContext::LISTEN, + audioData.containsPositionalData, volumeAdjustment); + } + } } ZoneNamedN(__tracy_scoped_zone2, TracyConstants::AUDIO_SENDOUT_ZONE, true); diff --git a/src/tests/TestMumbleProtocol/TestMumbleProtocol.cpp b/src/tests/TestMumbleProtocol/TestMumbleProtocol.cpp index 9ca521486c5..420c549d287 100644 --- a/src/tests/TestMumbleProtocol/TestMumbleProtocol.cpp +++ b/src/tests/TestMumbleProtocol/TestMumbleProtocol.cpp @@ -195,7 +195,7 @@ template< Mumble::Protocol::Role encoderRole, Mumble::Protocol::Role decoderRole } else { QVERIFY(encoder.getRole() == Mumble::Protocol::Role::Client); - data.targetOrContext = Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK; + data.targetOrContext = Mumble::Protocol::ReservedTargetIDs::SERVER_LOOPBACK_ONLY; } auto encodedData = encoder.encodeAudioPacket(data); From d4dd9c2141c3a256a7d0e0381b5cd6568de28a5d Mon Sep 17 00:00:00 2001 From: Davide Beatrici Date: Sun, 2 Jun 2024 01:02:56 +0200 Subject: [PATCH 3/3] TRANSLATION: Update translation files --- src/mumble/mumble_ar.ts | 24 ++++++++++++++++-------- src/mumble/mumble_bg.ts | 24 ++++++++++++++++-------- src/mumble/mumble_br.ts | 24 ++++++++++++++++-------- src/mumble/mumble_ca.ts | 24 ++++++++++++++++-------- src/mumble/mumble_cs.ts | 26 +++++++++++++++++--------- src/mumble/mumble_cy.ts | 24 ++++++++++++++++-------- src/mumble/mumble_da.ts | 26 +++++++++++++++++--------- src/mumble/mumble_de.ts | 24 ++++++++++++++++-------- src/mumble/mumble_el.ts | 24 ++++++++++++++++-------- src/mumble/mumble_en.ts | 24 ++++++++++++++++-------- src/mumble/mumble_en_GB.ts | 24 ++++++++++++++++-------- src/mumble/mumble_eo.ts | 24 ++++++++++++++++-------- src/mumble/mumble_es.ts | 36 ++++++++++++++++++++++-------------- src/mumble/mumble_et.ts | 24 ++++++++++++++++-------- src/mumble/mumble_eu.ts | 24 ++++++++++++++++-------- src/mumble/mumble_fa_IR.ts | 24 ++++++++++++++++-------- src/mumble/mumble_fi.ts | 24 ++++++++++++++++-------- src/mumble/mumble_fr.ts | 24 ++++++++++++++++-------- src/mumble/mumble_gl.ts | 24 ++++++++++++++++-------- src/mumble/mumble_he.ts | 24 ++++++++++++++++-------- src/mumble/mumble_hi.ts | 24 ++++++++++++++++-------- src/mumble/mumble_hu.ts | 24 ++++++++++++++++-------- src/mumble/mumble_it.ts | 28 ++++++++++++++++++---------- src/mumble/mumble_ja.ts | 24 ++++++++++++++++-------- src/mumble/mumble_ko.ts | 24 ++++++++++++++++-------- src/mumble/mumble_lt.ts | 24 ++++++++++++++++-------- src/mumble/mumble_nl.ts | 24 ++++++++++++++++-------- src/mumble/mumble_no.ts | 24 ++++++++++++++++-------- src/mumble/mumble_oc.ts | 24 ++++++++++++++++-------- src/mumble/mumble_pl.ts | 24 ++++++++++++++++-------- src/mumble/mumble_pt_BR.ts | 24 ++++++++++++++++-------- src/mumble/mumble_pt_PT.ts | 24 ++++++++++++++++-------- src/mumble/mumble_ro.ts | 24 ++++++++++++++++-------- src/mumble/mumble_ru.ts | 24 ++++++++++++++++-------- src/mumble/mumble_si.ts | 24 ++++++++++++++++-------- src/mumble/mumble_sk.ts | 24 ++++++++++++++++-------- src/mumble/mumble_sq.ts | 24 ++++++++++++++++-------- src/mumble/mumble_sv.ts | 26 +++++++++++++++++--------- src/mumble/mumble_te.ts | 24 ++++++++++++++++-------- src/mumble/mumble_th.ts | 24 ++++++++++++++++-------- src/mumble/mumble_tr.ts | 24 ++++++++++++++++-------- src/mumble/mumble_uk.ts | 24 ++++++++++++++++-------- src/mumble/mumble_zh_CN.ts | 24 ++++++++++++++++-------- src/mumble/mumble_zh_HK.ts | 24 ++++++++++++++++-------- src/mumble/mumble_zh_TW.ts | 24 ++++++++++++++++-------- 45 files changed, 731 insertions(+), 371 deletions(-) diff --git a/src/mumble/mumble_ar.ts b/src/mumble/mumble_ar.ts index 95efae83480..d57d44871a5 100644 --- a/src/mumble/mumble_ar.ts +++ b/src/mumble/mumble_ar.ts @@ -1631,14 +1631,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - - Audio Output @@ -1675,6 +1667,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_bg.ts b/src/mumble/mumble_bg.ts index 7e64e706db9..03e875f2756 100644 --- a/src/mumble/mumble_bg.ts +++ b/src/mumble/mumble_bg.ts @@ -1632,14 +1632,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - Сървър - Audio Output Звуков изход @@ -1676,6 +1668,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_br.ts b/src/mumble/mumble_br.ts index 7af7aeddb7c..15ec8cd5695 100644 --- a/src/mumble/mumble_br.ts +++ b/src/mumble/mumble_br.ts @@ -1631,14 +1631,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Hini ebet - - Local - Lec'hel - - - Server - Servijer - Audio Output @@ -1675,6 +1667,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_ca.ts b/src/mumble/mumble_ca.ts index 148f7835759..2eb392053b4 100644 --- a/src/mumble/mumble_ca.ts +++ b/src/mumble/mumble_ca.ts @@ -1639,14 +1639,6 @@ Aquest valor us permet establir el nombre màxim d'usuaris permesos al cana None Cap - - Local - Local - - - Server - Servidor - Audio Output Sortida d'àudio @@ -1683,6 +1675,22 @@ Aquest valor us permet establir el nombre màxim d'usuaris permesos al cana meters metres + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_cs.ts b/src/mumble/mumble_cs.ts index 0a5a486e83c..d20c55bbdf4 100644 --- a/src/mumble/mumble_cs.ts +++ b/src/mumble/mumble_cs.ts @@ -1639,14 +1639,6 @@ Tato hodnota Vám umožňuje nastavit maximální počet povolených uživatelů None Žádná - - Local - Místní - - - Server - Server - Audio Output Výstup Zvuku @@ -1683,6 +1675,22 @@ Tato hodnota Vám umožňuje nastavit maximální počet povolených uživatelů meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample @@ -3331,7 +3339,7 @@ Jste si jisti, že chcete certifikát nahradit? Server - + Serveru diff --git a/src/mumble/mumble_cy.ts b/src/mumble/mumble_cy.ts index bca051f771c..1655c285898 100644 --- a/src/mumble/mumble_cy.ts +++ b/src/mumble/mumble_cy.ts @@ -1632,14 +1632,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Dim - - Local - - - - Server - - Audio Output @@ -1676,6 +1668,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_da.ts b/src/mumble/mumble_da.ts index 31bd1cfd393..d631914aa74 100644 --- a/src/mumble/mumble_da.ts +++ b/src/mumble/mumble_da.ts @@ -1638,14 +1638,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Ingen - - Local - Lokal - - - Server - Server - Audio Output Lydafspilning @@ -1682,6 +1674,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample @@ -3329,7 +3337,7 @@ Er du sikker på du vil erstatte dit certifikat? Server - + server diff --git a/src/mumble/mumble_de.ts b/src/mumble/mumble_de.ts index 7bd4f8fdd5e..e636a237278 100644 --- a/src/mumble/mumble_de.ts +++ b/src/mumble/mumble_de.ts @@ -1639,14 +1639,6 @@ Dieser Wert erlaubt das Einstellen der maximal im Kanal erlaubten Benutzeranzahl None Keine - - Local - Lokal - - - Server - Server - Audio Output Audioausgabe @@ -1683,6 +1675,22 @@ Dieser Wert erlaubt das Einstellen der maximal im Kanal erlaubten Benutzeranzahl meters Meter + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_el.ts b/src/mumble/mumble_el.ts index 4a9619fc047..46030b951f0 100644 --- a/src/mumble/mumble_el.ts +++ b/src/mumble/mumble_el.ts @@ -1639,14 +1639,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Κανένα - - Local - Τοπικό - - - Server - Διακομιστής - Audio Output Εξοδος Ήχου @@ -1683,6 +1675,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_en.ts b/src/mumble/mumble_en.ts index 6a7dbd488e1..b35bd91f01c 100644 --- a/src/mumble/mumble_en.ts +++ b/src/mumble/mumble_en.ts @@ -1631,14 +1631,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - - Audio Output @@ -1675,6 +1667,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_en_GB.ts b/src/mumble/mumble_en_GB.ts index 3e69d6d8127..e4a75be5e97 100644 --- a/src/mumble/mumble_en_GB.ts +++ b/src/mumble/mumble_en_GB.ts @@ -1639,14 +1639,6 @@ This value allows you to set the maximum number of users allowed in the channel. None None - - Local - Local - - - Server - Server - Audio Output Audio Output @@ -1683,6 +1675,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_eo.ts b/src/mumble/mumble_eo.ts index 315681b4e2f..462f56e09fc 100644 --- a/src/mumble/mumble_eo.ts +++ b/src/mumble/mumble_eo.ts @@ -1639,14 +1639,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Neniu - - Local - Loke - - - Server - Servilo - Audio Output Son-eligo @@ -1683,6 +1675,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_es.ts b/src/mumble/mumble_es.ts index a4a381d2522..ff120075f23 100644 --- a/src/mumble/mumble_es.ts +++ b/src/mumble/mumble_es.ts @@ -1639,14 +1639,6 @@ Este valor permite fijar el número máximo de usuarios permitidos en el canal. None Ninguno - - Local - Local - - - Server - Servidor - Audio Output Salida de audio @@ -1683,6 +1675,22 @@ Este valor permite fijar el número máximo de usuarios permitidos en el canal. meters metros + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample @@ -3775,11 +3783,11 @@ Sin esta opción habilitada, los métodos abreviados globales de Mumble en aplic checked - + marcado unchecked - + sin marcar @@ -4496,15 +4504,15 @@ La configuración solo se aplica a los mensajes nuevos, los que ya se muestran c checked - + marcado unchecked - + sin marcar decibels - + decibelios @@ -7242,7 +7250,7 @@ Las opciones válidas son: Graphical positional audio simulation view - + Vista gráfica de simulación de audio posicional This visually represents the positional audio configuration that is currently being used diff --git a/src/mumble/mumble_et.ts b/src/mumble/mumble_et.ts index e336e59c541..11044149a6c 100644 --- a/src/mumble/mumble_et.ts +++ b/src/mumble/mumble_et.ts @@ -1632,14 +1632,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Pole - - Local - Kohalik - - - Server - Server - Audio Output Heliväljund @@ -1676,6 +1668,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_eu.ts b/src/mumble/mumble_eu.ts index d014f8f5ca2..be744ee03f0 100644 --- a/src/mumble/mumble_eu.ts +++ b/src/mumble/mumble_eu.ts @@ -1641,14 +1641,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Bat ere ez - - Local - Lokala - - - Server - Zerbitzaria - Audio Output Audio Irteera @@ -1685,6 +1677,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_fa_IR.ts b/src/mumble/mumble_fa_IR.ts index d6604d9a7c0..5e03aa97557 100644 --- a/src/mumble/mumble_fa_IR.ts +++ b/src/mumble/mumble_fa_IR.ts @@ -1633,14 +1633,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - - Audio Output خروجی صدا @@ -1677,6 +1669,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_fi.ts b/src/mumble/mumble_fi.ts index 3f26dbe7f13..cfc918fa559 100644 --- a/src/mumble/mumble_fi.ts +++ b/src/mumble/mumble_fi.ts @@ -1639,14 +1639,6 @@ Tämän numeron ollessa suurempi kuin nolla kanava sallii enintään numeron suu None Ei mikään - - Local - Paikallinen - - - Server - Palvelin - Audio Output Äänen ulostulo @@ -1683,6 +1675,22 @@ Tämän numeron ollessa suurempi kuin nolla kanava sallii enintään numeron suu meters metriä + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_fr.ts b/src/mumble/mumble_fr.ts index dc9ab84de2c..540630eb972 100644 --- a/src/mumble/mumble_fr.ts +++ b/src/mumble/mumble_fr.ts @@ -1639,14 +1639,6 @@ Cette valeur vous permet de définir un nombre maximum d'utilisateurs autor None Aucun - - Local - Local - - - Server - Serveur - Audio Output Sortie audio @@ -1683,6 +1675,22 @@ Cette valeur vous permet de définir un nombre maximum d'utilisateurs autor meters mètres + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_gl.ts b/src/mumble/mumble_gl.ts index e37841c63db..3f86f70acdb 100644 --- a/src/mumble/mumble_gl.ts +++ b/src/mumble/mumble_gl.ts @@ -1633,14 +1633,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - - Audio Output @@ -1677,6 +1669,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_he.ts b/src/mumble/mumble_he.ts index 9bca42d93bf..e0a2a3f119d 100644 --- a/src/mumble/mumble_he.ts +++ b/src/mumble/mumble_he.ts @@ -1640,14 +1640,6 @@ This value allows you to set the maximum number of users allowed in the channel. None ללא - - Local - מקומי - - - Server - שרת - Audio Output פלט שמע @@ -1684,6 +1676,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_hi.ts b/src/mumble/mumble_hi.ts index 8b5d71d66f5..5daf4532a8a 100644 --- a/src/mumble/mumble_hi.ts +++ b/src/mumble/mumble_hi.ts @@ -1625,14 +1625,6 @@ Contains the list of members inherited by the current channel. Uncheck <i> None - - Local - - - - Server - - Distance at which audio volume from another player starts decreasing @@ -1669,6 +1661,22 @@ Contains the list of members inherited by the current channel. Uncheck <i> meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_hu.ts b/src/mumble/mumble_hu.ts index 6360fd8d5ae..9f9038743d3 100644 --- a/src/mumble/mumble_hu.ts +++ b/src/mumble/mumble_hu.ts @@ -1635,14 +1635,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Nincs - - Local - Helyi - - - Server - Kiszolgáló - Audio Output Hangkimenet @@ -1679,6 +1671,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_it.ts b/src/mumble/mumble_it.ts index 46496fd75c7..501a580060f 100644 --- a/src/mumble/mumble_it.ts +++ b/src/mumble/mumble_it.ts @@ -1639,14 +1639,6 @@ Questo valore ti permette di impostare il numero massimo di utenti consentiti ne None Disattivato - - Local - Locale - - - Server - Server - Audio Output Uscita Audio @@ -1683,6 +1675,22 @@ Questo valore ti permette di impostare il numero massimo di utenti consentiti ne meters metri + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample @@ -2252,7 +2260,7 @@ Parla ad alta voce, come quando sei infastidito o eccitato. Poi diminuisci il vo Speech is dynamically amplified by at most this amount - + Il parlato è dinamicamente amplificato di questa quantità Voice activity detection level @@ -4503,7 +4511,7 @@ Questa impostazione si applica solo ai nuovi messaggi, quelli già mostrati mant decibels - + decibel diff --git a/src/mumble/mumble_ja.ts b/src/mumble/mumble_ja.ts index f39d5fcffbd..f825270e5a2 100644 --- a/src/mumble/mumble_ja.ts +++ b/src/mumble/mumble_ja.ts @@ -1640,14 +1640,6 @@ This value allows you to set the maximum number of users allowed in the channel. None なし - - Local - ローカル - - - Server - サーバ - Audio Output 音声出力 @@ -1684,6 +1676,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_ko.ts b/src/mumble/mumble_ko.ts index ae3098eac6f..8280e025e04 100644 --- a/src/mumble/mumble_ko.ts +++ b/src/mumble/mumble_ko.ts @@ -1639,14 +1639,6 @@ This value allows you to set the maximum number of users allowed in the channel. None 없음 - - Local - 로컬 - - - Server - 서버 - Audio Output 오디오 출력 @@ -1683,6 +1675,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_lt.ts b/src/mumble/mumble_lt.ts index d80fc171fb1..fdf51421603 100644 --- a/src/mumble/mumble_lt.ts +++ b/src/mumble/mumble_lt.ts @@ -1635,14 +1635,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Nėra - - Local - Vietinis - - - Server - Serveris - Audio Output Garso išvestis @@ -1679,6 +1671,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_nl.ts b/src/mumble/mumble_nl.ts index 4a1ec6fadb7..29b4fc44c9b 100644 --- a/src/mumble/mumble_nl.ts +++ b/src/mumble/mumble_nl.ts @@ -1639,14 +1639,6 @@ Deze waarde laat je toe om een maximum aantal gebruikers in te stellen voor het None Geen - - Local - Lokaal - - - Server - Server - Audio Output Geluidsuitvoer @@ -1683,6 +1675,22 @@ Deze waarde laat je toe om een maximum aantal gebruikers in te stellen voor het meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_no.ts b/src/mumble/mumble_no.ts index 0a75e1e91ba..fc6db70d434 100644 --- a/src/mumble/mumble_no.ts +++ b/src/mumble/mumble_no.ts @@ -1641,14 +1641,6 @@ Når du er lenger unna enn dette vil andres stemme ikke bli dempet ytterligere.< None Ingen - - Local - Lokal - - - Server - Tjener - Audio Output Lydutgang @@ -1685,6 +1677,22 @@ Når du er lenger unna enn dette vil andres stemme ikke bli dempet ytterligere.< meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_oc.ts b/src/mumble/mumble_oc.ts index 9901cc6cefe..3a5d348aa71 100644 --- a/src/mumble/mumble_oc.ts +++ b/src/mumble/mumble_oc.ts @@ -1632,14 +1632,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - Local - - - Server - Servidor - Audio Output Sortida àudio @@ -1676,6 +1668,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_pl.ts b/src/mumble/mumble_pl.ts index fc9d236943b..0e2a6cf4f72 100644 --- a/src/mumble/mumble_pl.ts +++ b/src/mumble/mumble_pl.ts @@ -1639,14 +1639,6 @@ Określa maksymalną dozwoloną liczbę użytkowników na tym kanale. Jeżeli wa None Brak - - Local - Lokalny - - - Server - Serwer - Audio Output Wyjście audio @@ -1683,6 +1675,22 @@ Określa maksymalną dozwoloną liczbę użytkowników na tym kanale. Jeżeli wa meters metry + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_pt_BR.ts b/src/mumble/mumble_pt_BR.ts index 8282a907483..f76571e80ae 100644 --- a/src/mumble/mumble_pt_BR.ts +++ b/src/mumble/mumble_pt_BR.ts @@ -1639,14 +1639,6 @@ Este valor permite que você especifique o número máximo de usuários permitid None Nenhum - - Local - Local - - - Server - Servidor - Audio Output Saída de Áudio @@ -1683,6 +1675,22 @@ Este valor permite que você especifique o número máximo de usuários permitid meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_pt_PT.ts b/src/mumble/mumble_pt_PT.ts index c042d4a0ad1..4c69746c89d 100644 --- a/src/mumble/mumble_pt_PT.ts +++ b/src/mumble/mumble_pt_PT.ts @@ -1639,14 +1639,6 @@ Este valor permite definir o número máximo de utilizadores permitido no canal. None Nenhum - - Local - Local - - - Server - Servidor - Audio Output Saída de Áudio @@ -1683,6 +1675,22 @@ Este valor permite definir o número máximo de utilizadores permitido no canal. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_ro.ts b/src/mumble/mumble_ro.ts index ffb9a761c14..eef9af930cc 100644 --- a/src/mumble/mumble_ro.ts +++ b/src/mumble/mumble_ro.ts @@ -1639,14 +1639,6 @@ Această valoare vă permite să setați numărul maxim de utilizatori permis î None - - Local - - - - Server - - Audio Output Ieșire audio @@ -1683,6 +1675,22 @@ Această valoare vă permite să setați numărul maxim de utilizatori permis î meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_ru.ts b/src/mumble/mumble_ru.ts index de4a736a7e2..5cc49952678 100644 --- a/src/mumble/mumble_ru.ts +++ b/src/mumble/mumble_ru.ts @@ -1639,14 +1639,6 @@ This value allows you to set the maximum number of users allowed in the channel. None Нет - - Local - Локально - - - Server - Сервер - Audio Output Входящий звук @@ -1683,6 +1675,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_si.ts b/src/mumble/mumble_si.ts index 476b67e765c..2aba9cb5bb3 100644 --- a/src/mumble/mumble_si.ts +++ b/src/mumble/mumble_si.ts @@ -1625,14 +1625,6 @@ Contains the list of members inherited by the current channel. Uncheck <i> None - - Local - - - - Server - - Audio Output @@ -1669,6 +1661,22 @@ Contains the list of members inherited by the current channel. Uncheck <i> meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_sk.ts b/src/mumble/mumble_sk.ts index fff386def7b..44cf61b43eb 100644 --- a/src/mumble/mumble_sk.ts +++ b/src/mumble/mumble_sk.ts @@ -1628,14 +1628,6 @@ Contains the list of members inherited by the current channel. Uncheck <i> None - - Local - - - - Server - - Distance at which audio volume from another player starts decreasing @@ -1672,6 +1664,22 @@ Contains the list of members inherited by the current channel. Uncheck <i> meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_sq.ts b/src/mumble/mumble_sq.ts index de4968a2316..92d64268b99 100644 --- a/src/mumble/mumble_sq.ts +++ b/src/mumble/mumble_sq.ts @@ -1627,14 +1627,6 @@ Contains the list of members inherited by the current channel. Uncheck <i> None - - Local - - - - Server - - Audio Output @@ -1671,6 +1663,22 @@ Contains the list of members inherited by the current channel. Uncheck <i> meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_sv.ts b/src/mumble/mumble_sv.ts index 152494daee4..745a65961b6 100644 --- a/src/mumble/mumble_sv.ts +++ b/src/mumble/mumble_sv.ts @@ -1639,14 +1639,6 @@ Det värdet tillåter dig att ställa in ett maximalt antal av användare som ä None Ingen - - Local - Lokal - - - Server - Server - Audio Output Ljudutgång @@ -1683,6 +1675,22 @@ Det värdet tillåter dig att ställa in ett maximalt antal av användare som ä meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample @@ -3330,7 +3338,7 @@ Are you sure you wish to replace your certificate? Server - + server diff --git a/src/mumble/mumble_te.ts b/src/mumble/mumble_te.ts index 6130230b235..76090198c30 100644 --- a/src/mumble/mumble_te.ts +++ b/src/mumble/mumble_te.ts @@ -1637,14 +1637,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - - Audio Output @@ -1681,6 +1673,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_th.ts b/src/mumble/mumble_th.ts index 101a68fb641..89fb50e4fac 100644 --- a/src/mumble/mumble_th.ts +++ b/src/mumble/mumble_th.ts @@ -1631,14 +1631,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - - Audio Output @@ -1675,6 +1667,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_tr.ts b/src/mumble/mumble_tr.ts index ae093425753..b0b2c140468 100644 --- a/src/mumble/mumble_tr.ts +++ b/src/mumble/mumble_tr.ts @@ -1639,14 +1639,6 @@ Bu değer kanalda izin verilen azami kullanıcı sayısını ayarlamanıza izin None Hiçbiri - - Local - Yerel - - - Server - Sunucu - Audio Output Ses Çıktısı @@ -1683,6 +1675,22 @@ Bu değer kanalda izin verilen azami kullanıcı sayısını ayarlamanıza izin meters metre + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_uk.ts b/src/mumble/mumble_uk.ts index ee2dcef5240..08a3ff9699b 100644 --- a/src/mumble/mumble_uk.ts +++ b/src/mumble/mumble_uk.ts @@ -1639,14 +1639,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - - Audio Output @@ -1683,6 +1675,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_zh_CN.ts b/src/mumble/mumble_zh_CN.ts index 417a4413f10..00ac1e69ce2 100644 --- a/src/mumble/mumble_zh_CN.ts +++ b/src/mumble/mumble_zh_CN.ts @@ -1639,14 +1639,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - 本地 - - - Server - 服务器 - Audio Output 音频输出 @@ -1683,6 +1675,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_zh_HK.ts b/src/mumble/mumble_zh_HK.ts index 5e407465a9a..eff2eacc316 100644 --- a/src/mumble/mumble_zh_HK.ts +++ b/src/mumble/mumble_zh_HK.ts @@ -1631,14 +1631,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - - - - Server - 伺服器 - Audio Output @@ -1675,6 +1667,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample diff --git a/src/mumble/mumble_zh_TW.ts b/src/mumble/mumble_zh_TW.ts index 4494612b4d7..f06b132b8ee 100644 --- a/src/mumble/mumble_zh_TW.ts +++ b/src/mumble/mumble_zh_TW.ts @@ -1634,14 +1634,6 @@ This value allows you to set the maximum number of users allowed in the channel. None - - Local - 本地 - - - Server - 伺服器 - Audio Output 音效輸出 @@ -1678,6 +1670,22 @@ This value allows you to set the maximum number of users allowed in the channel. meters + + Local (don't send to others) + + + + Local (send to others) + + + + Server (don't send to others) + + + + Server (send to others) + + AudioOutputSample