summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ObfuscationModeCell.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/ConnectionDetailPanel.kt29
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/FeatureIndicatorsPanel.kt47
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt28
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt18
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt29
-rw-r--r--android/lib/resource/src/main/res/values-da/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-de/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-es/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-fi/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-fr/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-it/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-ja/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-ko/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-my/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-nb/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-nl/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-pl/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-pt/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-ru/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-sv/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-th/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-tr/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-zh-rCN/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values-zh-rTW/strings.xml3
-rw-r--r--android/lib/resource/src/main/res/values/strings.xml3
27 files changed, 110 insertions, 105 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ObfuscationModeCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ObfuscationModeCell.kt
index 8a5f94d730..8217da8dbe 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ObfuscationModeCell.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/ObfuscationModeCell.kt
@@ -120,7 +120,7 @@ private fun ObfuscationMode.toTitle() =
when (this) {
ObfuscationMode.Auto -> stringResource(id = R.string.automatic)
ObfuscationMode.Off -> stringResource(id = R.string.off)
- ObfuscationMode.Udp2Tcp -> stringResource(id = R.string.upd_over_tcp)
+ ObfuscationMode.Udp2Tcp -> stringResource(id = R.string.udp_over_tcp)
ObfuscationMode.Shadowsocks -> stringResource(id = R.string.shadowsocks)
ObfuscationMode.Quic -> stringResource(id = R.string.quic)
ObfuscationMode.Lwo -> stringResource(id = R.string.lwo)
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/ConnectionDetailPanel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/ConnectionDetailPanel.kt
index 92b782895b..cef0ab2cf9 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/ConnectionDetailPanel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/ConnectionDetailPanel.kt
@@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.compose.component.connectioninfo
import androidx.compose.animation.AnimatedContent
import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.text.selection.SelectionContainer
@@ -25,23 +26,25 @@ import net.mullvad.mullvadvpn.lib.ui.tag.LOCATION_INFO_CONNECTION_OUT_TEST_TAG
@Composable
fun ConnectionDetailPanel(
- connectionDetails: ConnectionDetails,
+ connectionDetails: ConnectionDetails?,
enableSelectableText: Boolean = true,
) {
- ConnectionInfoHeader(
- stringResource(R.string.connect_panel_connection_details),
- Modifier.fillMaxWidth().padding(bottom = Dimens.smallPadding),
- )
-
- AnimatedContent(connectionDetails, label = "ConnectionDetails") {
- ConnectionDetails(
- it.inAddress,
- it.outIpv4Address,
- it.outIpv6Address,
- modifier = Modifier.padding(bottom = Dimens.smallPadding),
- enableSelectableText = enableSelectableText,
+ Column {
+ ConnectionInfoHeader(
+ stringResource(R.string.connect_panel_connection_details),
+ Modifier.fillMaxWidth().padding(bottom = Dimens.smallPadding),
)
+
+ AnimatedContent(connectionDetails, label = "ConnectionDetails") {
+ ConnectionDetails(
+ it?.inAddress.orEmpty(),
+ it?.outIpv4Address,
+ it?.outIpv6Address,
+ modifier = Modifier.padding(bottom = Dimens.smallPadding),
+ enableSelectableText = enableSelectableText,
+ )
+ }
}
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/FeatureIndicatorsPanel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/FeatureIndicatorsPanel.kt
index 6c404a5bc9..c5051b1f8d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/FeatureIndicatorsPanel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/connectioninfo/FeatureIndicatorsPanel.kt
@@ -90,26 +90,24 @@ fun FeatureIndicators(
text = featureIndicator.text(),
onClick = { onNavigateToFeature(featureIndicator) },
modifier =
- Modifier.let {
- if (this@with != null && animatedVisibilityScope != null) {
- it.sharedBounds(
- rememberSharedContentState(
- key =
- if (featureIndicator == FeatureIndicator.DAITA_MULTIHOP)
- FeatureIndicator.DAITA
- else featureIndicator
- ),
- animatedVisibilityScope = animatedVisibilityScope,
- // This flag should be set to `true` (default), this would allow the
- // element to animate above all other views. However, it causes the
- // expand/collapse animation to become janky.
- renderInOverlayDuringTransition = false,
- enter = fadeIn(tween(easing = EaseInQuart)),
- exit = fadeOut(tween(easing = EaseOutQuad)),
- )
- } else {
- it
- }
+ if (this@with != null && animatedVisibilityScope != null) {
+ Modifier.sharedBounds(
+ rememberSharedContentState(
+ key =
+ if (featureIndicator == FeatureIndicator.DAITA_MULTIHOP)
+ FeatureIndicator.DAITA
+ else featureIndicator
+ ),
+ animatedVisibilityScope = animatedVisibilityScope,
+ // This flag should be set to `true` (default), this would allow the
+ // element to animate above all other views. However, it causes the
+ // expand/collapse animation to become janky.
+ renderInOverlayDuringTransition = false,
+ enter = fadeIn(tween(easing = EaseInQuart)),
+ exit = fadeOut(tween(easing = EaseOutQuad)),
+ )
+ } else {
+ Modifier
},
)
}
@@ -123,16 +121,17 @@ fun FeatureIndicators(
}
}
+@Suppress("CyclomaticComplexMethod")
@Composable
private fun FeatureIndicator.text(): String {
val resource =
when (this) {
FeatureIndicator.QUANTUM_RESISTANCE -> R.string.feature_quantum_resistant
FeatureIndicator.SPLIT_TUNNELING -> R.string.split_tunneling
- FeatureIndicator.SHADOWSOCKS,
- FeatureIndicator.UDP_2_TCP,
- FeatureIndicator.QUIC,
- FeatureIndicator.LWO -> R.string.feature_obfuscation
+ FeatureIndicator.SHADOWSOCKS -> R.string.shadowsocks
+ FeatureIndicator.UDP_2_TCP -> R.string.udp_over_tcp
+ FeatureIndicator.QUIC -> R.string.quic
+ FeatureIndicator.LWO -> R.string.lwo
FeatureIndicator.LAN_SHARING -> R.string.local_network_sharing
FeatureIndicator.DNS_CONTENT_BLOCKERS -> R.string.dns_content_blockers
FeatureIndicator.CUSTOM_DNS -> R.string.feature_custom_dns
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt
index c7074b10a6..d680da7cf4 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt
@@ -3,6 +3,7 @@ package net.mullvad.mullvadvpn.compose.screen
import android.content.Context
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.compose.animation.AnimatedContent
+import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.AnimatedVisibilityScope
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.animateFloatAsState
@@ -528,7 +529,8 @@ private fun ConnectionCard(
onConnectClick: () -> Unit,
onNavigateToFeature: (FeatureIndicator) -> Unit,
) {
- var expanded by rememberSaveable(state.tunnelState::class) { mutableStateOf(false) }
+ var expanded by
+ rememberSaveable(state.tunnelState is TunnelState.Disconnected) { mutableStateOf(false) }
val containerColor =
animateColorAsState(
if (expanded) MaterialTheme.colorScheme.surfaceContainer
@@ -546,14 +548,14 @@ private fun ConnectionCard(
ConnectionCardHeader(state, state.location, expanded) { expanded = !expanded }
AnimatedContent(
- (state.tunnelState as? TunnelState.Connected)?.featureIndicators to expanded,
+ state.tunnelState.featureIndicators() to expanded,
modifier = Modifier.weight(1f, fill = false),
label = "connection_card_connection_details",
) { (featureIndicators, exp) ->
if (featureIndicators != null) {
ConnectionInfo(
featureIndicators,
- (state.tunnelState as? TunnelState.Connected)?.toConnectionsDetails(),
+ state.tunnelState.toConnectionsDetails(),
exp,
onToggleExpand = { expanded = !exp },
onNavigateToFeature = onNavigateToFeature,
@@ -589,14 +591,14 @@ private fun ConnectionCardHeader(
modifier =
Modifier.fillMaxWidth()
.clickable(
- enabled = state.tunnelState is TunnelState.Connected,
+ enabled = state.tunnelState.isConnectingOrConnected(),
onClick = onToggleExpand,
)
.testTag(CONNECT_CARD_HEADER_TEST_TAG)
) {
Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween) {
ConnectionStatusText(state = state.tunnelState)
- if (state.tunnelState is TunnelState.Connected) {
+ if (state.tunnelState.isConnectingOrConnected()) {
ExpandChevron(isExpanded = !expanded)
}
}
@@ -676,7 +678,7 @@ private fun ConnectionInfo(
) {
FeatureIndicatorsPanel(featureIndicators, expanded, onToggleExpand, onNavigateToFeature)
- if (expanded && connectionDetails != null) {
+ AnimatedVisibility(expanded && connectionDetails != null) {
ConnectionDetailPanel(connectionDetails, enableSelectableText = !isTv())
}
}
@@ -690,12 +692,22 @@ data class ConnectionDetails(
)
@Composable
-fun TunnelState.Connected.toConnectionsDetails(): ConnectionDetails =
- ConnectionDetails(
+fun TunnelState.toConnectionsDetails(): ConnectionDetails? {
+ val endpoint =
+ when (this) {
+ is TunnelState.Connected -> endpoint
+ is TunnelState.Connecting -> endpoint
+ else -> null
+ }
+
+ if (endpoint == null) return null
+
+ return ConnectionDetails(
endpoint.toInAddress(),
location()?.ipv4?.hostAddress,
location()?.ipv6?.hostAddress,
)
+}
@Composable
private fun ButtonPanel(
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreen.kt
index 00a8151254..829acb979b 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreen.kt
@@ -72,7 +72,7 @@ fun Udp2TcpSettingsScreen(
onBackClick: () -> Unit,
) {
ScaffoldWithMediumTopBar(
- appBarTitle = stringResource(id = R.string.upd_over_tcp),
+ appBarTitle = stringResource(id = R.string.udp_over_tcp),
navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) },
) { modifier, lazyListState ->
LazyColumn(
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
index 1cba4093f1..80e2f2688d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
@@ -796,15 +796,15 @@ fun VpnSettingsContent(
onInfoClicked = navigateToObfuscationInfo,
onCellClicked = navigateToObfuscationInfo,
background =
- if (
- initialScrollToFeature == FeatureIndicator.UDP_2_TCP ||
- initialScrollToFeature == FeatureIndicator.SHADOWSOCKS
- ) {
- MaterialTheme.colorScheme.primary.copy(
- alpha = highlightAnimation.value
- )
- } else {
- MaterialTheme.colorScheme.primary
+ when (initialScrollToFeature) {
+ FeatureIndicator.UDP_2_TCP,
+ FeatureIndicator.SHADOWSOCKS,
+ FeatureIndicator.QUIC,
+ FeatureIndicator.LWO ->
+ MaterialTheme.colorScheme.primary.copy(
+ alpha = highlightAnimation.value
+ )
+ else -> MaterialTheme.colorScheme.primary
},
testTag = LAZY_LIST_WIREGUARD_OBFUSCATION_TITLE_TEST_TAG,
modifier = Modifier.animateItem(),
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt
index 61d8ec89e3..b8759ab76f 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt
@@ -19,33 +19,44 @@ sealed class TunnelState {
data class Error(val errorState: ErrorState) : TunnelState()
- fun location(): GeoIpLocation? {
- return when (this) {
+ fun featureIndicators(): List<FeatureIndicator>? =
+ when (this) {
+ is Connected -> featureIndicators
+ is Connecting -> featureIndicators
+ else -> null
+ }
+
+ fun location(): GeoIpLocation? =
+ when (this) {
is Connected -> location
is Connecting -> location
is Disconnecting -> null
is Disconnected -> location
is Error -> null
}
- }
- fun isSecured(): Boolean {
- return when (this) {
+ fun isConnectingOrConnected(): Boolean =
+ when (this) {
+ is Connected,
+ is Connecting -> true
+ else -> false
+ }
+
+ fun isSecured(): Boolean =
+ when (this) {
is Connected,
is Connecting,
is Disconnecting -> true
is Disconnected -> false
is Error -> this.errorState.isBlocking
}
- }
- fun isBlocked(): Boolean {
- return when (this) {
+ fun isBlocked(): Boolean =
+ when (this) {
is Connected,
is Disconnected -> false
is Connecting,
is Disconnecting -> true
is Error -> this.errorState.isBlocking
}
- }
}
diff --git a/android/lib/resource/src/main/res/values-da/strings.xml b/android/lib/resource/src/main/res/values-da/strings.xml
index 4a9a442c92..06b7dcc761 100644
--- a/android/lib/resource/src/main/res/values-da/strings.xml
+++ b/android/lib/resource/src/main/res/values-da/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Brugerdefineret DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s mere ...</string>
- <string name="feature_obfuscation">Tilsløring</string>
<string name="feature_quantum_resistant">Kvantemodstand</string>
<string name="filter">Filter</string>
<string name="foreground_notification_channel_description">Viser den aktuelle VPN-tunnelstatus</string>
@@ -397,11 +396,11 @@
<string name="try_again">Prøv igen</string>
<string name="type">Type</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">Hvilken TCP-port UDP-over-TCP tilsløringsprotokollen skal forbinde til på VPN-serveren.</string>
<string name="undo">Fortryd</string>
<string name="unsupported_version">IKKE-UNDERSTØTTET VERSION</string>
<string name="unsupported_version_description">Dit privatliv kan være i fare med denne ikke-understøttede appversion. Opdater den straks.</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">Opdater DNS-server</string>
<string name="update_list_name">Opdater listenavn</string>
<string name="updating_server_list_in_the_background">Opdaterer serverlisten i baggrunden ...</string>
diff --git a/android/lib/resource/src/main/res/values-de/strings.xml b/android/lib/resource/src/main/res/values-de/strings.xml
index b9a4a52cdc..44c6fa7df9 100644
--- a/android/lib/resource/src/main/res/values-de/strings.xml
+++ b/android/lib/resource/src/main/res/values-de/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Eigenes DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s weitere …</string>
- <string name="feature_obfuscation">Verschleierung</string>
<string name="feature_quantum_resistant">Quantenresistenz</string>
<string name="filter">Filter</string>
<string name="foreground_notification_channel_description">Zeigt den aktuellen Status des VPN-Tunnels an</string>
@@ -397,11 +396,11 @@
<string name="try_again">Erneut versuchen</string>
<string name="type">Typ</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP über TCP</string>
<string name="udp_over_tcp_port_info">Mit welchem TCP-Port sich das UDP-über-TCP-Verschleierungsprotokoll auf dem VPN-Server verbinden soll.</string>
<string name="undo">Rückgängig</string>
<string name="unsupported_version">NICHT UNTERSTÜTZTE VERSION</string>
<string name="unsupported_version_description">Ihre Privatsphäre könnte mit dieser nicht unterstützen Version der App gefährdet sein. Bitte aktualisieren Sie sie.</string>
- <string name="upd_over_tcp">UDP über TCP</string>
<string name="update_dns_server_dialog_title">DNS-Server aktualisieren</string>
<string name="update_list_name">Name der Liste ändern</string>
<string name="updating_server_list_in_the_background">Serverliste wird im Hintergrund aktiviert …</string>
diff --git a/android/lib/resource/src/main/res/values-es/strings.xml b/android/lib/resource/src/main/res/values-es/strings.xml
index 205b826a73..79895c7c6c 100644
--- a/android/lib/resource/src/main/res/values-es/strings.xml
+++ b/android/lib/resource/src/main/res/values-es/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">DNS personalizado</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s más...</string>
- <string name="feature_obfuscation">Ofuscación</string>
<string name="feature_quantum_resistant">Resistencia cuántica</string>
<string name="filter">Filtrar</string>
<string name="foreground_notification_channel_description">Muestra el estado actual del túnel VPN</string>
@@ -397,11 +396,11 @@
<string name="try_again">Volver a intentarlo</string>
<string name="type">Tipo</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP sobre TCP</string>
<string name="udp_over_tcp_port_info">El puerto TCP al que se conectará el protocolo de ofuscación de UDP sobre TCP en el servidor VPN.</string>
<string name="undo">Deshacer</string>
<string name="unsupported_version">VERSIÓN NO ADMITIDA</string>
<string name="unsupported_version_description">Al usar esta versión obsoleta de la aplicación, es posible que su privacidad esté en riesgo. Actualice ahora.</string>
- <string name="upd_over_tcp">UDP sobre TCP</string>
<string name="update_dns_server_dialog_title">Actualizar servidor DNS</string>
<string name="update_list_name">Actualizar nombre de la lista</string>
<string name="updating_server_list_in_the_background">Actualizando lista de servidores en segundo plano...</string>
diff --git a/android/lib/resource/src/main/res/values-fi/strings.xml b/android/lib/resource/src/main/res/values-fi/strings.xml
index ab3101fc57..9ee6269c69 100644
--- a/android/lib/resource/src/main/res/values-fi/strings.xml
+++ b/android/lib/resource/src/main/res/values-fi/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Mukautettu DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s lisää...</string>
- <string name="feature_obfuscation">Hämäysteknologia</string>
<string name="feature_quantum_resistant">Kvanttihyökkäysten esto</string>
<string name="filter">Suodatin</string>
<string name="foreground_notification_channel_description">Näyttää VPN-tunnelin nykyisen tilan</string>
@@ -397,11 +396,11 @@
<string name="try_again">Yritä uudelleen</string>
<string name="type">Tyyppi</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP TCP:n kautta</string>
<string name="udp_over_tcp_port_info">Määrittää, mihin VPN-palvelimen TCP-porttiin \"UDP TCP:n kautta\" -hämäysteknologia-protokollan tulee muodostaa yhteys.</string>
<string name="undo">Kumoa</string>
<string name="unsupported_version">EI-TUETTU VERSIO</string>
<string name="unsupported_version_description">Yksityisyytesi saattaa olla vaarassa tämän sovellusversion, jota ei tueta, vuoksi. Päivitä versio heti.</string>
- <string name="upd_over_tcp">UDP TCP:n kautta</string>
<string name="update_dns_server_dialog_title">Päivitä DNS-palvelin</string>
<string name="update_list_name">Päivitä luettelon nimi</string>
<string name="updating_server_list_in_the_background">Palvelinluetteloa päivitetään taustalla...</string>
diff --git a/android/lib/resource/src/main/res/values-fr/strings.xml b/android/lib/resource/src/main/res/values-fr/strings.xml
index 52ff3dddb1..ca4383b370 100644
--- a/android/lib/resource/src/main/res/values-fr/strings.xml
+++ b/android/lib/resource/src/main/res/values-fr/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">DNS personnalisé</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s de plus…</string>
- <string name="feature_obfuscation">Dissimulation</string>
<string name="feature_quantum_resistant">Résistance quantique</string>
<string name="filter">Filtrer</string>
<string name="foreground_notification_channel_description">Affiche l\'état actuel du tunnel VPN</string>
@@ -397,11 +396,11 @@
<string name="try_again">Réessayer</string>
<string name="type">Type</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">Le port TCP auquel le protocole de dissimulation UDP sur TCP doit se connecter sur le serveur VPN.</string>
<string name="undo">Annuler</string>
<string name="unsupported_version">VERSION NON PRISE EN CHARGE</string>
<string name="unsupported_version_description">Votre confidentialité peut être en danger avec cette version non prise en charge de l\'application. Veuillez la mettre à jour maintenant.</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">Mettre à jour le serveur DNS</string>
<string name="update_list_name">Mettre à jour le nom de la liste</string>
<string name="updating_server_list_in_the_background">Mise à jour en arrière-plan de la liste des serveurs…</string>
diff --git a/android/lib/resource/src/main/res/values-it/strings.xml b/android/lib/resource/src/main/res/values-it/strings.xml
index 03bfe3500a..8a6f74274c 100644
--- a/android/lib/resource/src/main/res/values-it/strings.xml
+++ b/android/lib/resource/src/main/res/values-it/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">DNS personalizzato</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">Altri %1$s...</string>
- <string name="feature_obfuscation">Offuscamento</string>
<string name="feature_quantum_resistant">Resistenza ad attacchi quantistici</string>
<string name="filter">Filtra</string>
<string name="foreground_notification_channel_description">Mostra lo stato attuale del tunnel VPN</string>
@@ -397,11 +396,11 @@
<string name="try_again">Riprova</string>
<string name="type">Tipo</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">A quale porta TCP deve connettersi il protocollo di offuscamento UDP-over-TCP sul server VPN.</string>
<string name="undo">Annulla</string>
<string name="unsupported_version">VERSIONE NON SUPPORTATA</string>
<string name="unsupported_version_description">La tua privacy potrebbe essere a rischio con questa versione dell\'app non supportata. Aggiornala subito.</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">Aggiorna server DNS</string>
<string name="update_list_name">Aggiorna nome elenco</string>
<string name="updating_server_list_in_the_background">Aggiornamento dell\'elenco server in background...</string>
diff --git a/android/lib/resource/src/main/res/values-ja/strings.xml b/android/lib/resource/src/main/res/values-ja/strings.xml
index 5c6a938215..3a19154fca 100644
--- a/android/lib/resource/src/main/res/values-ja/strings.xml
+++ b/android/lib/resource/src/main/res/values-ja/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">カスタムDNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">その他%1$s件…</string>
- <string name="feature_obfuscation">難読化</string>
<string name="feature_quantum_resistant">耐量子</string>
<string name="filter">絞り込み</string>
<string name="foreground_notification_channel_description">現在のVPNトンネルのステータスを表示します</string>
@@ -397,11 +396,11 @@
<string name="try_again">再試行</string>
<string name="type">種類</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">UDP-over-TCP難読化プロトコルで接続する必要のあるVPNサーバーのTCPポートです。</string>
<string name="undo">元に戻す</string>
<string name="unsupported_version">未対応のバージョン</string>
<string name="unsupported_version_description">このアプリバージョンはサポートされていないため、プライバシーが危険にさらされる可能性があります。今すぐアップデートしてください。</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">DNS サーバーを更新</string>
<string name="update_list_name">リスト名の更新</string>
<string name="updating_server_list_in_the_background">サーバーリストをバックグラウンドで更新中...</string>
diff --git a/android/lib/resource/src/main/res/values-ko/strings.xml b/android/lib/resource/src/main/res/values-ko/strings.xml
index b5cdef6266..cba3916b12 100644
--- a/android/lib/resource/src/main/res/values-ko/strings.xml
+++ b/android/lib/resource/src/main/res/values-ko/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">사용자 지정 DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s개 더 보기...</string>
- <string name="feature_obfuscation">난독 처리</string>
<string name="feature_quantum_resistant">양자 저항</string>
<string name="filter">필터</string>
<string name="foreground_notification_channel_description">현재 VPN 터널 상태 표시</string>
@@ -397,11 +396,11 @@
<string name="try_again">다시 시도</string>
<string name="type">유형</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">UDP-over-TCP 난독 처리 프로토콜이 VPN 서버에서 연결해야 하는 TCP 포트입니다.</string>
<string name="undo">실행 취소</string>
<string name="unsupported_version">지원되지 않는 버전</string>
<string name="unsupported_version_description">지원되지 않는 이 앱 버전으로 인해 개인 정보가 위험할 수 있습니다. 지금 업데이트하세요.</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">DNS 서버 업데이트</string>
<string name="update_list_name">목록 이름 업데이트</string>
<string name="updating_server_list_in_the_background">백그라운드에서 서버 목록을 업데이트하는 중...</string>
diff --git a/android/lib/resource/src/main/res/values-my/strings.xml b/android/lib/resource/src/main/res/values-my/strings.xml
index a52c079435..b6db2a3709 100644
--- a/android/lib/resource/src/main/res/values-my/strings.xml
+++ b/android/lib/resource/src/main/res/values-my/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">စိတ်ကြိုက် DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">နောက်ထပ် %1$s ...</string>
- <string name="feature_obfuscation">Obfuscation</string>
<string name="feature_quantum_resistant">Quantum ခုခံမှု</string>
<string name="filter">စစ်ထုတ်မှု</string>
<string name="foreground_notification_channel_description">လက်ရှိ VPN Tunnel အခြေအနေကို ပြသပေးပါသည်</string>
@@ -397,11 +396,11 @@
<string name="try_again">ထပ်ကြိုးစားရန်</string>
<string name="type">အမျိုးအစား</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">VPN ဆာဗာကို ဖွင့်ရန် ၎င်း TCP ပေါ့တ် UDP-over-TCP Obfuscation ပရိုတိုကောလ်နှင့် ချိတ်ဆက်ထားသင့်ပါသည်။</string>
<string name="undo">မလုပ်တော့ပါ</string>
<string name="unsupported_version">တွဲဖက်မလုပ်ဆောင်နိုင်သည့် ဗားရှင်း</string>
<string name="unsupported_version_description">တွဲဖက်မလုပ်ဆောင်နိုင်သည့် ဤအက်ပ်ဗားရှင်းကြောင့် သင့်ကိုယ်ရေးအချက်အလက်များ အန္တရာယ် ရှိနိုင်ပါသည်။ ယခုပင် အပ်ဒိတ်လုပ်ပေးပါ။</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">DNS ဆာဗာကို အပ်ဒိတ်လုပ်ရန်</string>
<string name="update_list_name">စာရင်း အမည်ကို အပ်ဒိတ်လုပ်ရန်</string>
<string name="updating_server_list_in_the_background">နောက်ခံတွင် ဆာဗာစာရင်းကို အပ်ဒိတ်လုပ်နေသည်...</string>
diff --git a/android/lib/resource/src/main/res/values-nb/strings.xml b/android/lib/resource/src/main/res/values-nb/strings.xml
index 63d550e048..e7797d3689 100644
--- a/android/lib/resource/src/main/res/values-nb/strings.xml
+++ b/android/lib/resource/src/main/res/values-nb/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Tilpasset DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s til …</string>
- <string name="feature_obfuscation">Tilsløring</string>
<string name="feature_quantum_resistant">Kvantemotstand</string>
<string name="filter">Filter</string>
<string name="foreground_notification_channel_description">Viser gjeldende VPN-tunnelstatus</string>
@@ -397,11 +396,11 @@
<string name="try_again">Prøv igjen</string>
<string name="type">Type</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">TCP-porten som UDP-over-TCP-tilsløringen skal koble til på VPN-serveren.</string>
<string name="undo">Angre</string>
<string name="unsupported_version">VERSJON UTEN STØTTE</string>
<string name="unsupported_version_description">Personvernet ditt kan være i fare med denne appversjonen som ikke støttes. Oppdater nå.</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">Oppdater DNS-serveren</string>
<string name="update_list_name">Oppdater listenavn</string>
<string name="updating_server_list_in_the_background">Oppdater serverlisten i bakgrunnen …</string>
diff --git a/android/lib/resource/src/main/res/values-nl/strings.xml b/android/lib/resource/src/main/res/values-nl/strings.xml
index 8570f48dd8..2591b1bad7 100644
--- a/android/lib/resource/src/main/res/values-nl/strings.xml
+++ b/android/lib/resource/src/main/res/values-nl/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Aangepaste DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">Nog %1$s...</string>
- <string name="feature_obfuscation">Obfuscatie</string>
<string name="feature_quantum_resistant">Kwantumbestendigheid</string>
<string name="filter">Filter</string>
<string name="foreground_notification_channel_description">Toont de huidige status van de VPN-tunnel</string>
@@ -397,11 +396,11 @@
<string name="try_again">Opnieuw proberen</string>
<string name="type">Type</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">Met welke TCP-poort moet het UDP-over-TCP-obfuscatieprotocol verbinding maken op de VPN-server.</string>
<string name="undo">Ongedaan maken</string>
<string name="unsupported_version">NIET-ONDERSTEUNDE VERSIE</string>
<string name="unsupported_version_description">Uw privacy kan risico lopen met deze niet-ondersteunde appversie. Werk de app nu bij.</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">DNS-server bijwerken</string>
<string name="update_list_name">Lijstnaam bijwerken</string>
<string name="updating_server_list_in_the_background">Serverlijst wordt bijgewerkt op de achtergrond...</string>
diff --git a/android/lib/resource/src/main/res/values-pl/strings.xml b/android/lib/resource/src/main/res/values-pl/strings.xml
index 1316905be4..8c7d1998e3 100644
--- a/android/lib/resource/src/main/res/values-pl/strings.xml
+++ b/android/lib/resource/src/main/res/values-pl/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Niestandardowy serwer DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">Jeszcze %1$s...</string>
- <string name="feature_obfuscation">Zaciemnianie</string>
<string name="feature_quantum_resistant">Odporność na ataki z użyciem komputerów kwantowych</string>
<string name="filter">Filtruj</string>
<string name="foreground_notification_channel_description">Pokazuje bieżący status tunelu VPN</string>
@@ -397,11 +396,11 @@
<string name="try_again">Spróbuj ponownie</string>
<string name="type">Typ</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-przez-TCP</string>
<string name="udp_over_tcp_port_info">Port TCP, z którym powinien łączyć się protokół zaciemniania UDP-przez-TCP na serwerze VPN.</string>
<string name="undo">Cofnij</string>
<string name="unsupported_version">WERSJA NIEOBSŁUGIWANA</string>
<string name="unsupported_version_description">W tej nieobsługiwanej wersji aplikacji prywatność może być zagrożona. Zaktualizuj już teraz.</string>
- <string name="upd_over_tcp">UDP-przez-TCP</string>
<string name="update_dns_server_dialog_title">Zaktualizuj serwer DNS</string>
<string name="update_list_name">Zaktualizuj nazwę listy</string>
<string name="updating_server_list_in_the_background">Aktualizowanie listy serwerów w tle...</string>
diff --git a/android/lib/resource/src/main/res/values-pt/strings.xml b/android/lib/resource/src/main/res/values-pt/strings.xml
index 66accd8f2d..73b5e87e2f 100644
--- a/android/lib/resource/src/main/res/values-pt/strings.xml
+++ b/android/lib/resource/src/main/res/values-pt/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">DNS personalizado</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">Mais %1$s...</string>
- <string name="feature_obfuscation">Ofuscação</string>
<string name="feature_quantum_resistant">Resistência quântica</string>
<string name="filter">Filtrar</string>
<string name="foreground_notification_channel_description">Indica o estado atual do túnel VPN</string>
@@ -397,11 +396,11 @@
<string name="try_again">Tentar novamente</string>
<string name="type">Tipo</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP sobre TCP</string>
<string name="udp_over_tcp_port_info">A que porta TCP o protocolo de ofuscação UDP sobre TCP deve ligar-se no servidor VPN.</string>
<string name="undo">Anular</string>
<string name="unsupported_version">VERSÃO NÃO SUPORTADA</string>
<string name="unsupported_version_description">A sua privacidade pode estar comprometida com uma versão não suportada da aplicação. Por favor efetue a atualização agora.</string>
- <string name="upd_over_tcp">UDP sobre TCP</string>
<string name="update_dns_server_dialog_title">Atualizar servidor DNS</string>
<string name="update_list_name">Atualizar nome da lista</string>
<string name="updating_server_list_in_the_background">A atualizar a lista de servidores em segundo plano...</string>
diff --git a/android/lib/resource/src/main/res/values-ru/strings.xml b/android/lib/resource/src/main/res/values-ru/strings.xml
index d4c7b9da86..fdbc5bcb9e 100644
--- a/android/lib/resource/src/main/res/values-ru/strings.xml
+++ b/android/lib/resource/src/main/res/values-ru/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Пользовательский DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">Еще %1$s...</string>
- <string name="feature_obfuscation">Обфускация</string>
<string name="feature_quantum_resistant">Квантовая устойчивость</string>
<string name="filter">Фильтр</string>
<string name="foreground_notification_channel_description">Показывает текущее состояние VPN-туннеля</string>
@@ -397,11 +396,11 @@
<string name="try_again">Повторить</string>
<string name="type">Тип</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP через TCP</string>
<string name="udp_over_tcp_port_info">TCP-порт, к которому должен подключаться протокол обфускации UDP через TCP на VPN-сервере.</string>
<string name="undo">Отменить</string>
<string name="unsupported_version">НЕПОДДЕРЖИВАЕМАЯ ВЕРСИЯ</string>
<string name="unsupported_version_description">Эта версия приложения не поддерживается, что может угрожать неприкосновенности ваших данных. Обновите приложение.</string>
- <string name="upd_over_tcp">UDP через TCP</string>
<string name="update_dns_server_dialog_title">Обновить DNS-сервер</string>
<string name="update_list_name">Обновление названия списка</string>
<string name="updating_server_list_in_the_background">Фоновое обновление списка серверов...</string>
diff --git a/android/lib/resource/src/main/res/values-sv/strings.xml b/android/lib/resource/src/main/res/values-sv/strings.xml
index bd7d7585ba..338c8faa5f 100644
--- a/android/lib/resource/src/main/res/values-sv/strings.xml
+++ b/android/lib/resource/src/main/res/values-sv/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Anpassad DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s till ...</string>
- <string name="feature_obfuscation">Obfuskering</string>
<string name="feature_quantum_resistant">Kvantresistens</string>
<string name="filter">Filtrera</string>
<string name="foreground_notification_channel_description">Visar nuvarande status för VPN-tunnel</string>
@@ -397,11 +396,11 @@
<string name="try_again">Försök igen</string>
<string name="type">Typ</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP över TCP</string>
<string name="udp_over_tcp_port_info">Vilken TCP-port som UDP-över-TCP-obfuskeringsprotokoll bör ansluta till på VPN-servern.</string>
<string name="undo">Ångra</string>
<string name="unsupported_version">VERSION UTAN STÖD</string>
<string name="unsupported_version_description">Din sekretess kan vara utsatt för risk med den här appversionen som inte stöds. Uppdatera nu.</string>
- <string name="upd_over_tcp">UDP över TCP</string>
<string name="update_dns_server_dialog_title">Uppdatera DNS-server</string>
<string name="update_list_name">Uppdatera listnamn</string>
<string name="updating_server_list_in_the_background">Uppdaterar serverlistan i bakgrunden ...</string>
diff --git a/android/lib/resource/src/main/res/values-th/strings.xml b/android/lib/resource/src/main/res/values-th/strings.xml
index e2f64843ff..12073f3e25 100644
--- a/android/lib/resource/src/main/res/values-th/strings.xml
+++ b/android/lib/resource/src/main/res/values-th/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">DNS แบบกำหนดเอง</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">อีก %1$s...</string>
- <string name="feature_obfuscation">การทำให้ข้อมูลยุ่งเหยิง</string>
<string name="feature_quantum_resistant">การต่อต้านควอนตัม</string>
<string name="filter">ตัวกรอง</string>
<string name="foreground_notification_channel_description">แสดงสถานะอุโมงค์ VPN ในปัจจุบัน</string>
@@ -397,11 +396,11 @@
<string name="try_again">ลองอีกครั้ง</string>
<string name="type">ประเภท</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-ผ่าน-TCP</string>
<string name="udp_over_tcp_port_info">พอร์ต TCP ใดที่โพรโทคอลการทำให้ข้อมูลยุ่งเหยิง UDP-ผ่าน-TCP ควรเชื่อมต่อบนเซิร์ฟเวอร์ VPN</string>
<string name="undo">เลิกทำ</string>
<string name="unsupported_version">เวอร์ชันที่ไม่รองรับ</string>
<string name="unsupported_version_description">ความเป็นส่วนตัวของคุณอาจมีความเสี่ยง ในขณะที่ใช้งานเวอร์ชันแอปที่ไม่ได้รับการสนับสนุนนี้ โปรดอัปเดตตอนนี้เลย</string>
- <string name="upd_over_tcp">UDP-ผ่าน-TCP</string>
<string name="update_dns_server_dialog_title">อัปเดตเซิร์ฟเวอร์ DNS</string>
<string name="update_list_name">อัปเดตชื่อรายการ</string>
<string name="updating_server_list_in_the_background">กำลังอัปเดตรายชื่อเซิร์ฟเวอร์ในพื้นหลัง...</string>
diff --git a/android/lib/resource/src/main/res/values-tr/strings.xml b/android/lib/resource/src/main/res/values-tr/strings.xml
index e2258537ef..c001bf8e06 100644
--- a/android/lib/resource/src/main/res/values-tr/strings.xml
+++ b/android/lib/resource/src/main/res/values-tr/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">Özel DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">%1$s tane daha...</string>
- <string name="feature_obfuscation">Gizleme</string>
<string name="feature_quantum_resistant">Kuantum direnci</string>
<string name="filter">Filtrele</string>
<string name="foreground_notification_channel_description">Mevcut VPN tünelinin durumunu gösterir</string>
@@ -397,11 +396,11 @@
<string name="try_again">Tekrar dene</string>
<string name="type">Tür</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">TCP üzerinden UDP</string>
<string name="udp_over_tcp_port_info">TCP üzerinden UDP gizleme protokolünün VPN sunucusunda hangi TCP portuna bağlanması gerekiyor.</string>
<string name="undo">Geri al</string>
<string name="unsupported_version">DESTEKLENMEYEN SÜRÜM</string>
<string name="unsupported_version_description">Bu desteklenmeyen uygulama sürümüyle gizliliğiniz risk altında olabilir. Lütfen hemen güncelleyin.</string>
- <string name="upd_over_tcp">TCP üzerinden UDP</string>
<string name="update_dns_server_dialog_title">DNS sunucusunu güncelle</string>
<string name="update_list_name">Liste adını güncelle</string>
<string name="updating_server_list_in_the_background">Sunucu listesi arka planda güncelleniyor...</string>
diff --git a/android/lib/resource/src/main/res/values-zh-rCN/strings.xml b/android/lib/resource/src/main/res/values-zh-rCN/strings.xml
index c4757f1561..b66ac0d275 100644
--- a/android/lib/resource/src/main/res/values-zh-rCN/strings.xml
+++ b/android/lib/resource/src/main/res/values-zh-rCN/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">自定义 DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">其他 %1$s 个…</string>
- <string name="feature_obfuscation">混淆</string>
<string name="feature_quantum_resistant">量子阻力</string>
<string name="filter">筛选</string>
<string name="foreground_notification_channel_description">显示当前的 VPN 隧道状态</string>
@@ -397,11 +396,11 @@
<string name="try_again">重试</string>
<string name="type">类型</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">UDP-over-TCP 混淆协议应连接到 VPN 服务器上的哪个 TCP 端口。</string>
<string name="undo">撤消</string>
<string name="unsupported_version">不受支持的版本</string>
<string name="unsupported_version_description">此应用版本不受支持,因此您的隐私可能存在风险。请立即更新。</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">更新 DNS 服务器</string>
<string name="update_list_name">更新列表名称</string>
<string name="updating_server_list_in_the_background">正在后台更新服务器列表…</string>
diff --git a/android/lib/resource/src/main/res/values-zh-rTW/strings.xml b/android/lib/resource/src/main/res/values-zh-rTW/strings.xml
index 14158d905e..240523140d 100644
--- a/android/lib/resource/src/main/res/values-zh-rTW/strings.xml
+++ b/android/lib/resource/src/main/res/values-zh-rTW/strings.xml
@@ -199,7 +199,6 @@
<string name="feature_custom_dns">自訂 DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="feature_indicators_show_more">其他 %1$s 個…</string>
- <string name="feature_obfuscation">混淆</string>
<string name="feature_quantum_resistant">抗量子</string>
<string name="filter">篩選</string>
<string name="foreground_notification_channel_description">顯示目前的 VPN 通道狀態</string>
@@ -397,11 +396,11 @@
<string name="try_again">再試一次</string>
<string name="type">類型</string>
<string name="udp">UDP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="udp_over_tcp_port_info">UDP-over-TCP 混淆通訊協定應連線到 VPN 伺服器上的哪個 TCP 連接埠。</string>
<string name="undo">復原</string>
<string name="unsupported_version">不支援的版本</string>
<string name="unsupported_version_description">此應用程式版本不受支援,因此您的隱私可能存在風險。請立即更新。</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
<string name="update_dns_server_dialog_title">更新 DNS 伺服器</string>
<string name="update_list_name">更新清單名稱</string>
<string name="updating_server_list_in_the_background">正在背景更新伺服器清單……</string>
diff --git a/android/lib/resource/src/main/res/values/strings.xml b/android/lib/resource/src/main/res/values/strings.xml
index 68d04343d8..a7ace9eaf0 100644
--- a/android/lib/resource/src/main/res/values/strings.xml
+++ b/android/lib/resource/src/main/res/values/strings.xml
@@ -345,12 +345,11 @@
<string name="daita_info">By enabling “%1$s” you will have to manually select a server that is %2$s-enabled. This can cause you to end up in a blocked state until you have selected a compatible server in the “Select location” view.</string>
<string name="setting_chip">Setting: %s</string>
<string name="enable_anyway">Enable anyway</string>
- <string name="upd_over_tcp">UDP-over-TCP</string>
+ <string name="udp_over_tcp">UDP-over-TCP</string>
<string name="port_x">Port: %s</string>
<string name="connect_panel_active_features">Active features</string>
<string name="connect_panel_connection_details">Connection details</string>
<string name="feature_quantum_resistant">Quantum resistance</string>
- <string name="feature_obfuscation">Obfuscation</string>
<string name="feature_custom_dns">Custom DNS</string>
<string name="feature_custom_mtu">MTU</string>
<string name="dns_content_blockers">DNS content blockers</string>