summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-07-26 12:44:43 +0200
committerAlbin <albin@mullvad.net>2022-07-26 12:44:43 +0200
commitc8bd194d7d9ecad52902fd48f0c7dc507d0c3b01 (patch)
tree3ec5df2f6d90d4612c5ca0c65eda792b4be3a720 /android
parent32197e6ffc5178ade939cdfaac2ec21c8b0f9c2c (diff)
parenta6c9c0c8eda3160eb72284e876f027b6c1dfe56e (diff)
downloadmullvadvpn-c8bd194d7d9ecad52902fd48f0c7dc507d0c3b01.tar.xz
mullvadvpn-c8bd194d7d9ecad52902fd48f0c7dc507d0c3b01.zip
Merge branch 'hide-account-number-in-settings'
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt27
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/CustomTransformationMethod.kt49
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CopyableInformationView.kt7
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/InformationView.kt53
-rw-r--r--android/app/src/main/res/drawable/icon_copy.xml8
-rw-r--r--android/app/src/main/res/drawable/icon_hide.xml8
-rw-r--r--android/app/src/main/res/drawable/icon_show.xml8
-rw-r--r--android/app/src/main/res/layout/account.xml3
-rw-r--r--android/app/src/main/res/layout/information_view.xml76
-rw-r--r--android/app/src/main/res/values-da/strings.xml3
-rw-r--r--android/app/src/main/res/values-de/strings.xml3
-rw-r--r--android/app/src/main/res/values-es/strings.xml3
-rw-r--r--android/app/src/main/res/values-fi/strings.xml3
-rw-r--r--android/app/src/main/res/values-fr/strings.xml3
-rw-r--r--android/app/src/main/res/values-it/strings.xml3
-rw-r--r--android/app/src/main/res/values-ja/strings.xml3
-rw-r--r--android/app/src/main/res/values-ko/strings.xml3
-rw-r--r--android/app/src/main/res/values-my/strings.xml3
-rw-r--r--android/app/src/main/res/values-nb/strings.xml3
-rw-r--r--android/app/src/main/res/values-nl/strings.xml3
-rw-r--r--android/app/src/main/res/values-pl/strings.xml3
-rw-r--r--android/app/src/main/res/values-pt/strings.xml3
-rw-r--r--android/app/src/main/res/values-ru/strings.xml3
-rw-r--r--android/app/src/main/res/values-sv/strings.xml3
-rw-r--r--android/app/src/main/res/values-th/strings.xml3
-rw-r--r--android/app/src/main/res/values-tr/strings.xml3
-rw-r--r--android/app/src/main/res/values-zh-rCN/strings.xml3
-rw-r--r--android/app/src/main/res/values-zh-rTW/strings.xml3
-rw-r--r--android/app/src/main/res/values/strings.xml3
29 files changed, 254 insertions, 45 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt
index 415aa54046..9d3c9a86e6 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt
@@ -9,6 +9,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import java.text.DateFormat
+import kotlin.properties.Delegates.observable
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.debounce
@@ -77,6 +78,14 @@ class AccountFragment : BaseFragment() {
redeemVoucherButton.setEnabled(!value)
}
+ private var isAccountNumberShown by observable(false) { _, _, doShow ->
+ accountNumberView.informationState = if (doShow) {
+ InformationView.Masking.Show(GroupedTransformationMethod())
+ } else {
+ InformationView.Masking.Hide(GroupedPasswordTransformationMethod())
+ }
+ }
+
private lateinit var accountExpiryView: InformationView
private lateinit var accountNumberView: CopyableInformationView
private lateinit var deviceNameView: InformationView
@@ -130,7 +139,10 @@ class AccountFragment : BaseFragment() {
}
accountNumberView = view.findViewById<CopyableInformationView>(R.id.account_number).apply {
- displayFormatter = { rawAccountNumber -> addSpacesToAccountNumber(rawAccountNumber) }
+ informationState = InformationView.Masking.Hide(GroupedPasswordTransformationMethod())
+ onToggleMaskingClicked = {
+ isAccountNumberShown = isAccountNumberShown.not()
+ }
}
accountExpiryView = view.findViewById(R.id.account_expiry)
@@ -233,17 +245,4 @@ class AccountFragment : BaseFragment() {
RedeemVoucherDialogFragment().show(transaction, null)
}
-
- private fun addSpacesToAccountNumber(rawAccountNumber: String): String {
- return rawAccountNumber
- .asSequence()
- .fold(StringBuilder()) { formattedAccountNumber, nextDigit ->
- if ((formattedAccountNumber.length % 5) == 4) {
- formattedAccountNumber.append(' ')
- }
-
- formattedAccountNumber.append(nextDigit)
- }
- .toString()
- }
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/CustomTransformationMethod.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/CustomTransformationMethod.kt
new file mode 100644
index 0000000000..9ec42e3b9f
--- /dev/null
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/CustomTransformationMethod.kt
@@ -0,0 +1,49 @@
+package net.mullvad.mullvadvpn.ui
+
+import android.graphics.Rect
+import android.text.method.PasswordTransformationMethod
+import android.text.method.TransformationMethod
+import android.view.View
+
+private const val BIG_DOT_CHAR = '●'
+private const val DOT_CHAR = '\u2022'
+private const val EMPTY_STRING = ""
+private const val SPACE_CHAR = ' '
+
+class GroupedTransformationMethod() : TransformationMethod {
+ override fun getTransformation(source: CharSequence?, view: View?): CharSequence {
+ return source?.groupWithSpaces() ?: EMPTY_STRING
+ }
+
+ override fun onFocusChanged(
+ view: View?,
+ sourceText: CharSequence?,
+ focused: Boolean,
+ direction: Int,
+ previouslyFocusedRect: Rect?
+ ) {
+ // No focus handling required.
+ }
+}
+
+class GroupedPasswordTransformationMethod() : PasswordTransformationMethod() {
+ override fun getTransformation(source: CharSequence?, view: View?): CharSequence {
+ return if (source != null && view != null) {
+ super.getTransformation(source, view)?.toString()
+ ?.replace(DOT_CHAR, BIG_DOT_CHAR)
+ ?.groupWithSpaces()
+ ?: EMPTY_STRING
+ } else {
+ EMPTY_STRING
+ }
+ }
+}
+
+private fun CharSequence.groupWithSpaces(groupCharSize: Int = 4): CharSequence {
+ return fold(StringBuilder()) { formattedText, nextDigit ->
+ if ((formattedText.length % (groupCharSize + 1)) == groupCharSize) {
+ formattedText.append(SPACE_CHAR)
+ }
+ formattedText.append(nextDigit)
+ }
+}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CopyableInformationView.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CopyableInformationView.kt
index a3f43fbac2..e19edc9d34 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CopyableInformationView.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CopyableInformationView.kt
@@ -4,6 +4,8 @@ import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.util.AttributeSet
+import android.view.View
+import android.widget.ImageButton
import android.widget.Toast
import net.mullvad.mullvadvpn.R
@@ -38,6 +40,11 @@ class CopyableInformationView : InformationView {
init {
onClick = { copyToClipboard() }
+
+ findViewById<ImageButton>(R.id.copy_button).apply {
+ visibility = View.VISIBLE
+ setOnClickListener { copyToClipboard() }
+ }
}
private fun loadAttributes(attributes: AttributeSet) {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/InformationView.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/InformationView.kt
index 5840432d55..fec64d9e14 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/InformationView.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/InformationView.kt
@@ -1,12 +1,14 @@
package net.mullvad.mullvadvpn.ui.widget
import android.content.Context
+import android.text.method.TransformationMethod
import android.util.AttributeSet
import android.util.TypedValue
import android.view.LayoutInflater
import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
+import androidx.appcompat.content.res.AppCompatResources
import kotlin.properties.Delegates.observable
import net.mullvad.mullvadvpn.R
@@ -41,6 +43,7 @@ open class InformationView : LinearLayout {
private val description: TextView = findViewById(R.id.description)
private val informationDisplay: TextView = findViewById(R.id.information_display)
private val spinner: View = findViewById(R.id.spinner)
+ private val toggleMaskingButton: View = findViewById(R.id.toggle_masking_button)
var error by observable<String?>(null) { _, _, _ -> updateStatus() }
var information by observable<String?>(null) { _, _, _ -> updateStatus() }
@@ -50,7 +53,6 @@ open class InformationView : LinearLayout {
updateStatus()
}
- var displayFormatter by observable<((String) -> String)?>(null) { _, _, _ -> updateStatus() }
var maxLength by observable(0) { _, _, _ -> updateStatus() }
var whenMissing by observable(WhenMissing.Nothing) { _, _, _ -> updateStatus() }
@@ -60,6 +62,47 @@ open class InformationView : LinearLayout {
container.setFocusable(callback != null)
}
+ sealed class Masking {
+ object None : Masking()
+ data class Hide(val transformationMethod: TransformationMethod) : Masking()
+ data class Show(val transformationMethod: TransformationMethod) : Masking()
+ }
+
+ var informationState by observable<Masking>(Masking.None) { _, _, newState ->
+ when (newState) {
+ is Masking.Hide -> {
+ informationDisplay.transformationMethod = newState.transformationMethod
+
+ toggleMaskingButton.apply {
+ visibility = VISIBLE
+ contentDescription = context.getString(R.string.show_account_number)
+ background = AppCompatResources.getDrawable(context, R.drawable.icon_show)
+ }
+ }
+
+ is Masking.Show -> {
+ informationDisplay.transformationMethod = newState.transformationMethod
+
+ toggleMaskingButton.apply {
+ visibility = VISIBLE
+ contentDescription = context.getString(R.string.hide_account_number)
+ background = AppCompatResources.getDrawable(context, R.drawable.icon_hide)
+ }
+ }
+
+ is Masking.None -> {
+ informationDisplay.transformationMethod = null
+ toggleMaskingButton.visibility = GONE
+ }
+ }
+
+ updateStatus()
+ }
+
+ var onToggleMaskingClicked by observable<(() -> Unit)?>(null) { _, _, callback ->
+ toggleMaskingButton.setOnClickListener { callback?.invoke() }
+ }
+
constructor(context: Context) : super(context) {}
constructor(context: Context, attributes: AttributeSet) : super(context, attributes) {
@@ -125,14 +168,12 @@ open class InformationView : LinearLayout {
informationDisplay.setTextColor(errorColor)
informationDisplay.text = error
} else if (information != null) {
- val formattedInformation = displayFormatter?.invoke(information) ?: information
-
informationDisplay.setTextColor(informationColor)
- if (maxLength == 0 || formattedInformation.length <= maxLength) {
- informationDisplay.text = formattedInformation
+ if (maxLength == 0 || information.length <= maxLength) {
+ informationDisplay.text = information
} else {
- informationDisplay.text = formattedInformation.substring(0, maxLength) + "..."
+ informationDisplay.text = information.substring(0, maxLength) + "..."
}
}
diff --git a/android/app/src/main/res/drawable/icon_copy.xml b/android/app/src/main/res/drawable/icon_copy.xml
new file mode 100644
index 0000000000..4a919a00b8
--- /dev/null
+++ b/android/app/src/main/res/drawable/icon_copy.xml
@@ -0,0 +1,8 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path android:pathData="M15.789,2.737L5.684,2.737A1.689,1.689 0,0 0,4 4.421v11.79a0.749,0.749 0,0 0,0.829 0.736,0.812 0.812,0 0,0 0.855,-0.736L5.684,4.421h10.105a0.9,0.9 0,0 0,0.832 -0.825,0.91 0.91,0 0,0 -0.832,-0.859zM18.315,6.105L9.053,6.105a1.689,1.689 0,0 0,-1.685 1.685v11.789a1.689,1.689 0,0 0,1.684 1.684h9.263A1.689,1.689 0,0 0,20 19.579L20,7.79a1.689,1.689 0,0 0,-1.684 -1.685zM18.315,19.579L9.053,19.579L9.053,7.79h9.263z"
+ android:fillColor="@android:color/white" />
+</vector>
diff --git a/android/app/src/main/res/drawable/icon_hide.xml b/android/app/src/main/res/drawable/icon_hide.xml
new file mode 100644
index 0000000000..b16cceff5c
--- /dev/null
+++ b/android/app/src/main/res/drawable/icon_hide.xml
@@ -0,0 +1,8 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path android:pathData="M12,6a9.77,9.77 0,0 1,8.82 5.5,9.647 9.647,0 0,1 -2.41,3.12l1.41,1.41A11.8,11.8 0,0 0,23 11.5,11.834 11.834,0 0,0 8.36,4.57l1.65,1.65A10.108,10.108 0,0 1,12 6zM10.93,7.14L13,9.21a2.5,2.5 0,0 1,1.28 1.28l2.07,2.07a4.679,4.679 0,0 0,0.14 -1.07A4.483,4.483 0,0 0,12 7a4.244,4.244 0,0 0,-1.07 0.14zM2.01,3.87l2.68,2.68A11.738,11.738 0,0 0,1 11.5,11.827 11.827,0 0,0 12,19a11.73,11.73 0,0 0,4.32 -0.82l3.42,3.42a1,1 0,0 0,1.41 -1.41C20.8,19.807 3.791,2.777 3.42,2.45a1.1,1.1 0,0 0,-1.41 0,1.045 1.045,0 0,0 0,1.42zM9.51,11.37 L12.12,13.98A0.5,0.5 0,0 1,12 14a2.5,2.5 0,0 1,-2.5 -2.5c0,-0.05 0.01,-0.08 0.01,-0.13zM6.11,7.97 L7.86,9.72a4.6,4.6 0,0 0,-0.36 1.78,4.505 4.505,0 0,0 6.27,4.14l0.98,0.98A10.432,10.432 0,0 1,12 17a9.77,9.77 0,0 1,-8.82 -5.5,9.9 9.9,0 0,1 2.93,-3.53z"
+ android:fillColor="@android:color/white" />
+</vector>
diff --git a/android/app/src/main/res/drawable/icon_show.xml b/android/app/src/main/res/drawable/icon_show.xml
new file mode 100644
index 0000000000..9535f0287b
--- /dev/null
+++ b/android/app/src/main/res/drawable/icon_show.xml
@@ -0,0 +1,8 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path android:pathData="M12,6a9.77,9.77 0,0 1,8.82 5.5,9.822 9.822,0 0,1 -17.64,0A9.77,9.77 0,0 1,12 6m0,-2a11.827,11.827 0,0 0,-11 7.5,11.817 11.817,0 0,0 22,0A11.827,11.827 0,0 0,12 4zM12,9a2.5,2.5 0,1 1,-2.5 2.5A2.5,2.5 0,0 1,12 9m0,-2a4.5,4.5 0,1 0,4.5 4.5A4.507,4.507 0,0 0,12 7z"
+ android:fillColor="@android:color/white" />
+</vector>
diff --git a/android/app/src/main/res/layout/account.xml b/android/app/src/main/res/layout/account.xml
index 7f2e2fb598..225ef71cc0 100644
--- a/android/app/src/main/res/layout/account.xml
+++ b/android/app/src/main/res/layout/account.xml
@@ -57,7 +57,8 @@
mullvad:clipboardLabel="@string/mullvad_account_number"
mullvad:copiedToast="@string/copied_mullvad_account_number"
mullvad:description="@string/account_number"
- mullvad:whenMissing="hide" />
+ mullvad:whenMissing="hide"
+ android:descendantFocusability="afterDescendants" />
<net.mullvad.mullvadvpn.ui.widget.InformationView android:id="@+id/account_expiry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/android/app/src/main/res/layout/information_view.xml b/android/app/src/main/res/layout/information_view.xml
index 7ac89aee62..88425fef50 100644
--- a/android/app/src/main/res/layout/information_view.xml
+++ b/android/app/src/main/res/layout/information_view.xml
@@ -1,28 +1,56 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
- <TextView android:id="@+id/description"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="9dp"
- android:textColor="@color/white60"
- android:textSize="@dimen/text_small"
- android:textStyle="bold"
- android:text="" />
- <FrameLayout android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- <TextView android:id="@+id/information_display"
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ <TextView android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@color/white"
- android:textSize="@dimen/text_medium"
- android:textStyle="bold"
- android:text="" />
- <ProgressBar android:id="@+id/spinner"
- android:layout_width="20dp"
- android:layout_height="20dp"
- android:indeterminate="true"
- android:indeterminateOnly="true"
- android:indeterminateDuration="600"
- android:indeterminateDrawable="@drawable/icon_spinner"
- android:visibility="invisible" />
- </FrameLayout>
+ android:layout_marginBottom="9dp"
+ android:text=""
+ android:textColor="@color/white60"
+ android:textSize="@dimen/text_small"
+ android:textStyle="bold" />
+ <RelativeLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+ <TextView android:id="@+id/information_display"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:textColor="@color/white"
+ android:textSize="@dimen/text_medium"
+ android:textStyle="bold"
+ android:layout_alignParentStart="true" />
+ <ProgressBar android:id="@+id/spinner"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:indeterminate="true"
+ android:indeterminateDrawable="@drawable/icon_spinner"
+ android:indeterminateDuration="600"
+ android:indeterminateOnly="true"
+ android:visibility="visible"
+ android:layout_alignParentStart="true" />
+ <ImageButton android:id="@+id/toggle_masking_button"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_alignWithParentIfMissing="true"
+ android:layout_marginEnd="20dp"
+ android:layout_toStartOf="@id/copy_button"
+ android:background="@drawable/icon_show"
+ android:visibility="gone"
+ android:clickable="true"
+ android:focusable="true"
+ android:contentDescription="@string/show_account_number" />
+ <ImageButton android:id="@+id/copy_button"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_alignParentEnd="true"
+ android:background="@drawable/icon_copy"
+ android:visibility="gone"
+ android:clickable="true"
+ android:focusable="true"
+ android:contentDescription="@string/copy_account_number" />
+ </RelativeLayout>
+ </LinearLayout>
</merge>
diff --git a/android/app/src/main/res/values-da/strings.xml b/android/app/src/main/res/values-da/strings.xml
index 53bb748a00..befa8dbdb6 100644
--- a/android/app/src/main/res/values-da/strings.xml
+++ b/android/app/src/main/res/values-da/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Kopierede Mullvad-kontonummer til udklipsholder</string>
<string name="copied_to_clipboard">Kopieret til udklipsholder</string>
<string name="copied_wireguard_public_key">Kopierede offentlig WireGuard-nøgle til udklipsholder</string>
+ <string name="copy_account_number">Kopiér kontonummer</string>
<string name="create_account">Opret konto</string>
<string name="creating_new_account">Opretter konto...</string>
<string name="creating_secure_connection">OPRETTER SIKKER FORBINDELSE</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN-tunnelstatus</string>
<string name="go_to_login">Gå til login</string>
<string name="here_is_your_account_number">Her er dit kontonummer. Gem det!</string>
+ <string name="hide_account_number">Skjul kontonummer</string>
<string name="hint_default">Standard</string>
<string name="in_address">Ind</string>
<string name="invalid_dns_servers">Tilpassede DNS-serveradresser %1$s er ugyldige</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Konto</string>
<string name="settings_advanced">Avanceret</string>
<string name="settings_preferences">Indstillinger</string>
+ <string name="show_account_number">Vis kontonummer</string>
<string name="show_system_apps">Vis systemapps</string>
<string name="split_tunneling_description">Split tunneling gør det muligt at vælge, hvilke applikationer der ikke skal dirigeres gennem VPN-tunnelen.</string>
<string name="start_tunnel_error">Kunne ikke starte tunnelforbindelsen</string>
diff --git a/android/app/src/main/res/values-de/strings.xml b/android/app/src/main/res/values-de/strings.xml
index 820e79f677..27391cf699 100644
--- a/android/app/src/main/res/values-de/strings.xml
+++ b/android/app/src/main/res/values-de/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Mullvad-Kontonummer wurde in die Zwischenablage kopiert</string>
<string name="copied_to_clipboard">In die Zwischenablage kopiert</string>
<string name="copied_wireguard_public_key">Der öffentliche WireGuard Schlüssel wurde in die Zwischenablage kopiert</string>
+ <string name="copy_account_number">Kontonummer kopieren</string>
<string name="create_account">Konto erstellen</string>
<string name="creating_new_account">Konto wird erstellt ...</string>
<string name="creating_secure_connection">SICHERE VERBINDUNG WIRD ERSTELLT</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">Status des VPN-Tunnels</string>
<string name="go_to_login">Zur Anmeldung</string>
<string name="here_is_your_account_number">Hier ist Ihre Kontonummer. Verlieren Sie sie nicht!</string>
+ <string name="hide_account_number">Kontonummer verbergen</string>
<string name="hint_default">Standard</string>
<string name="in_address">Eingehend</string>
<string name="invalid_dns_servers">Eigene DNS-Server Adressen %1$s sind ungültig</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Konto</string>
<string name="settings_advanced">Erweitert</string>
<string name="settings_preferences">Präferenzen</string>
+ <string name="show_account_number">Kontonummer anzeigen</string>
<string name="show_system_apps">Systemapps anzeigen</string>
<string name="split_tunneling_description">Split-Tunnel-Steuerung macht es möglich, auszuwählen, welche Anwendungen nicht durch den VPN-Tunnel geroutet werden.</string>
<string name="start_tunnel_error">Fehler beim Starten der Tunnel-Verbindung</string>
diff --git a/android/app/src/main/res/values-es/strings.xml b/android/app/src/main/res/values-es/strings.xml
index aac61efa34..5350762301 100644
--- a/android/app/src/main/res/values-es/strings.xml
+++ b/android/app/src/main/res/values-es/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">El número de cuenta de Mullvad se copió en el Portapapeles</string>
<string name="copied_to_clipboard">Copiado en el Portapapeles</string>
<string name="copied_wireguard_public_key">La clave pública de WireGuard se copió en el Portapapeles</string>
+ <string name="copy_account_number">Copiar número de cuenta</string>
<string name="create_account">Crear cuenta</string>
<string name="creating_new_account">Creando cuenta…</string>
<string name="creating_secure_connection">CREANDO CONEXIÓN SEGURA</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">Estado del túnel VPN</string>
<string name="go_to_login">Iniciar sesión</string>
<string name="here_is_your_account_number">Este es un número de cuenta. ¡Guárdelo bien!</string>
+ <string name="hide_account_number">Ocultar número de cuenta</string>
<string name="hint_default">Predeterminado</string>
<string name="in_address">Entrada</string>
<string name="invalid_dns_servers">Las direcciones del servidor DNS personalizado %1$s no son válidas</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Cuenta</string>
<string name="settings_advanced">Avanzadas</string>
<string name="settings_preferences">Preferencias</string>
+ <string name="show_account_number">Mostrar número de cuenta</string>
<string name="show_system_apps">Mostrar aplicaciones del sistema</string>
<string name="split_tunneling_description">La tunelización dividida permite seleccionar qué aplicaciones no deben enrutarse a través del túnel VPN.</string>
<string name="start_tunnel_error">No se pudo iniciar la conexión del túnel</string>
diff --git a/android/app/src/main/res/values-fi/strings.xml b/android/app/src/main/res/values-fi/strings.xml
index 1f07d1cddd..317901e6b1 100644
--- a/android/app/src/main/res/values-fi/strings.xml
+++ b/android/app/src/main/res/values-fi/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Mullvad-tilin numero kopioitu leikepöydälle</string>
<string name="copied_to_clipboard">Kopioitu leikepöydälle</string>
<string name="copied_wireguard_public_key">Julkinen WireGuard-avain kopioitu leikepöydälle</string>
+ <string name="copy_account_number">Kopioi tilin numero</string>
<string name="create_account">Luo tili</string>
<string name="creating_new_account">Luodaan tiliä...</string>
<string name="creating_secure_connection">LUODAAN SUOJATTU YHTEYS</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN-tunnelin tila</string>
<string name="go_to_login">Siirry kirjautumiseen</string>
<string name="here_is_your_account_number">Tässä tulee tilisi numero. Laita se talteen!</string>
+ <string name="hide_account_number">Piilota tilin numero</string>
<string name="hint_default">Oletus</string>
<string name="in_address">Saapuva</string>
<string name="invalid_dns_servers">Mukautetut DNS-palvelimen osoitteet %1$s ovat virheellisiä</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Tili</string>
<string name="settings_advanced">Lisäasetukset</string>
<string name="settings_preferences">Asetukset</string>
+ <string name="show_account_number">Näytä tilin numero</string>
<string name="show_system_apps">Näytä järjestelmäsovellukset</string>
<string name="split_tunneling_description">Jaettu tunnelointi antaa mahdollisuuden valita, mitä sovelluksia ei reititetä VPN-tunnelin kautta.</string>
<string name="start_tunnel_error">Tunneliyhteyden muodostaminen epäonnistui</string>
diff --git a/android/app/src/main/res/values-fr/strings.xml b/android/app/src/main/res/values-fr/strings.xml
index f37a064553..87d63b0c9e 100644
--- a/android/app/src/main/res/values-fr/strings.xml
+++ b/android/app/src/main/res/values-fr/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Numéro de compte Mullvad copié dans le presse-papiers</string>
<string name="copied_to_clipboard">Copié dans le presse-papiers</string>
<string name="copied_wireguard_public_key">Clé WireGuard publique copiée dans le presse-papiers</string>
+ <string name="copy_account_number">Copier le numéro de compte</string>
<string name="create_account">Créer un compte</string>
<string name="creating_new_account">Création du compte…</string>
<string name="creating_secure_connection">CRÉATION D\'UNE CONNEXION SÉCURISÉE</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">État du tunnel VPN</string>
<string name="go_to_login">Aller à la connexion</string>
<string name="here_is_your_account_number">Voici votre numéro de compte. Gardez-le !</string>
+ <string name="hide_account_number">Masquer le numéro de compte</string>
<string name="hint_default">Par défaut</string>
<string name="in_address">Entrante</string>
<string name="invalid_dns_servers">Les adresses de serveur DNS personnalisées %1$s ne sont pas valides</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Compte</string>
<string name="settings_advanced">Avancé</string>
<string name="settings_preferences">Préférences</string>
+ <string name="show_account_number">Afficher le numéro de compte</string>
<string name="show_system_apps">Afficher les applications système</string>
<string name="split_tunneling_description">Le split tunneling permet de sélectionner quelles applications ne doivent pas passer par le tunnel VPN.</string>
<string name="start_tunnel_error">Échec du démarrage de la connexion tunnel</string>
diff --git a/android/app/src/main/res/values-it/strings.xml b/android/app/src/main/res/values-it/strings.xml
index 1b8867c63f..16963598d6 100644
--- a/android/app/src/main/res/values-it/strings.xml
+++ b/android/app/src/main/res/values-it/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Numero account di Mullvad copiato negli appunti</string>
<string name="copied_to_clipboard">Copiato negli appunti</string>
<string name="copied_wireguard_public_key">Chiave pubblica WireGuard copiata negli appunti</string>
+ <string name="copy_account_number">Copia numero di account</string>
<string name="create_account">Crea account</string>
<string name="creating_new_account">Creazione account...</string>
<string name="creating_secure_connection">CREAZIONE CONNESSIONE PROTETTA</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">Stato del tunnel VPN</string>
<string name="go_to_login">Vai al login</string>
<string name="here_is_your_account_number">Ecco il tuo numero di account. Salvalo!</string>
+ <string name="hide_account_number">Nascondi numero di account</string>
<string name="hint_default">Predefinito</string>
<string name="in_address">Ricezione</string>
<string name="invalid_dns_servers">Gli indirizzi del server DNS personalizzato %1$s non sono validi</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Account</string>
<string name="settings_advanced">Avanzate</string>
<string name="settings_preferences">Preferenze</string>
+ <string name="show_account_number">Mostra numero di account</string>
<string name="show_system_apps">Mostra app di sistema</string>
<string name="split_tunneling_description">Lo split tunneling consente di selezionare quali applicazioni non devono essere instradate attraverso il tunnel VPN.</string>
<string name="start_tunnel_error">Impossibile avviare la connessione tunnel</string>
diff --git a/android/app/src/main/res/values-ja/strings.xml b/android/app/src/main/res/values-ja/strings.xml
index d939859238..2d511a1024 100644
--- a/android/app/src/main/res/values-ja/strings.xml
+++ b/android/app/src/main/res/values-ja/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Mullvadアカウント番号をクリップボードにコピーしました</string>
<string name="copied_to_clipboard">クリップボードにコピーしました</string>
<string name="copied_wireguard_public_key">WireGuard公開鍵をクリップボードにコピーしました</string>
+ <string name="copy_account_number">アカウント番号のコピー</string>
<string name="create_account">アカウントを作成する</string>
<string name="creating_new_account">アカウントを作成中...</string>
<string name="creating_secure_connection">セキュリティ保護接続を確立中</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPNトンネルのステータス</string>
<string name="go_to_login">ログインに進む</string>
<string name="here_is_your_account_number">これがあなたのアカウント番号です。保存してください!</string>
+ <string name="hide_account_number">アカウント番号の非表示</string>
<string name="hint_default">デフォルト</string>
<string name="in_address">内側</string>
<string name="invalid_dns_servers">カスタムDNSサーバーアドレス %1$s は無効です</string>
@@ -114,6 +116,7 @@
<string name="settings_account">アカウント</string>
<string name="settings_advanced">詳細</string>
<string name="settings_preferences">環境設定</string>
+ <string name="show_account_number">アカウント番号の表示</string>
<string name="show_system_apps">システムアプリの表示</string>
<string name="split_tunneling_description">スプリットトンネリングを使用すると、VPNトンネルを介してルーティングするべきでないアプリケーションを選択できます。</string>
<string name="start_tunnel_error">トンネル接続の開始に失敗しました</string>
diff --git a/android/app/src/main/res/values-ko/strings.xml b/android/app/src/main/res/values-ko/strings.xml
index 5e62793c7f..8ccfd3162f 100644
--- a/android/app/src/main/res/values-ko/strings.xml
+++ b/android/app/src/main/res/values-ko/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">클립보드에 Mullvad 계정 번호 복사됨</string>
<string name="copied_to_clipboard">클립보드에 복사됨</string>
<string name="copied_wireguard_public_key">WireGuard 공개 키가 클립보드에 복사됨</string>
+ <string name="copy_account_number">계정 번호 복사</string>
<string name="create_account">계정 생성</string>
<string name="creating_new_account">계정 생성 중...</string>
<string name="creating_secure_connection">보안 연결 생성 중</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN 터널 상태</string>
<string name="go_to_login">로그인하기</string>
<string name="here_is_your_account_number">계정 번호는 다음과 같습니다. 저장하세요!</string>
+ <string name="hide_account_number">계정 번호 숨기기</string>
<string name="hint_default">기본값</string>
<string name="in_address">인</string>
<string name="invalid_dns_servers">사용자 지정 DNS 서버 주소 %1$s이(가) 잘못되었습니다.</string>
@@ -114,6 +116,7 @@
<string name="settings_account">계정</string>
<string name="settings_advanced">고급</string>
<string name="settings_preferences">환경 설정</string>
+ <string name="show_account_number">계정 번호 표시</string>
<string name="show_system_apps">시스템 앱 표시</string>
<string name="split_tunneling_description">분할 터널링을 사용하면 VPN 터널을 통해 라우팅되지 않아야 하는 애플리케이션을 선택할 수 있습니다.</string>
<string name="start_tunnel_error">터널 연결을 시작하지 못했습니다.</string>
diff --git a/android/app/src/main/res/values-my/strings.xml b/android/app/src/main/res/values-my/strings.xml
index b86b81e0bd..befb621716 100644
--- a/android/app/src/main/res/values-my/strings.xml
+++ b/android/app/src/main/res/values-my/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Mullvad အကောင့်နံပါတ်ကို ကလစ်ဘုတ်တွင် ကူးထားပါသည်</string>
<string name="copied_to_clipboard">ကလစ်ဘုတ်တွင် ကူးယူပြီး</string>
<string name="copied_wireguard_public_key">WireGuard အများသုံး ကီးကို ကလစ်ဘုတ်တွင် ကူးထားပါသည်</string>
+ <string name="copy_account_number">အကောင့်နံပါတ်ကို ကူးရန်</string>
<string name="create_account">အကောင့် ဖန်တီးရန်</string>
<string name="creating_new_account">အကောင့် ဖန်တီးနေဆဲ...</string>
<string name="creating_secure_connection">လုံခြုံသည့် ချိတ်ဆက်မှုကို ဖန်တီးနေပါသည်</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN Tunnel အခြေအနေ</string>
<string name="go_to_login">ဝင်ရောက်ရန် သွားပါ</string>
<string name="here_is_your_account_number">ဤသည်မှာ သင့်အကောင့်နံပါတ် ဖြစ်ပါသည်။ သိမ်းမှတ်ထားပါ။</string>
+ <string name="hide_account_number">အကောင့်နံပါတ်ကို ဝှက်ရန်</string>
<string name="hint_default">ပုံသေ</string>
<string name="in_address">အဝင်</string>
<string name="invalid_dns_servers">စိတ်ကြိုက် DNS ဆာဗာလိပ်စာများ %1$s မှားနေပါသည်</string>
@@ -114,6 +116,7 @@
<string name="settings_account">အကောင့်</string>
<string name="settings_advanced">အဆင့်မြင့်</string>
<string name="settings_preferences">လိုလားမှုများ</string>
+ <string name="show_account_number">အကောင့်နံပါတ်ကို ပြရန်</string>
<string name="show_system_apps">စနစ်အက်ပ်များ ပြရန်</string>
<string name="split_tunneling_description">Split Tunneling သည် VPN Tunnel မှတစ်ဆင့် လမ်းကြောင်းအတိုင်း မပို့သင့်သည့် အက်ပ်များကို ရွေးချယ်နိုင်ပါသည်။</string>
<string name="start_tunnel_error">Tunnel ချိတ်ဆက်မှုကို စတင်ရန် မအောင်မြင်ခဲ့ပါ</string>
diff --git a/android/app/src/main/res/values-nb/strings.xml b/android/app/src/main/res/values-nb/strings.xml
index 806f1bf330..9807a61cf1 100644
--- a/android/app/src/main/res/values-nb/strings.xml
+++ b/android/app/src/main/res/values-nb/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Kopierte Mullvad-kontonummer til utklippstavlen</string>
<string name="copied_to_clipboard">Kopiert til utklippstavlen</string>
<string name="copied_wireguard_public_key">Kopierte WireGuard offentlig nøkkel til utklippstavlen</string>
+ <string name="copy_account_number">Kopier kontonummer</string>
<string name="create_account">Opprett konto</string>
<string name="creating_new_account">Oppretter konto ...</string>
<string name="creating_secure_connection">OPPRETTER SIKKER TILKOBLING</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN-tunnelstatus</string>
<string name="go_to_login">Gå til pålogging</string>
<string name="here_is_your_account_number">Dette er kontonummeret ditt. Ta vare på det!</string>
+ <string name="hide_account_number">Skjul kontonummer</string>
<string name="hint_default">Standard</string>
<string name="in_address">Inngående</string>
<string name="invalid_dns_servers">Egendefinerte DNS-serveradresser %1$s er ugyldige</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Konto</string>
<string name="settings_advanced">Avansert</string>
<string name="settings_preferences">Preferanser</string>
+ <string name="show_account_number">Vis kontonummer</string>
<string name="show_system_apps">Vis systemapper</string>
<string name="split_tunneling_description">Tunneldeling gjør det mulig å velge hvilke applikasjoner som ikke skal rutes gjennom VPN-tunnelen.</string>
<string name="start_tunnel_error">Kunne ikke starte tunneltilkobling</string>
diff --git a/android/app/src/main/res/values-nl/strings.xml b/android/app/src/main/res/values-nl/strings.xml
index 6bc0f52435..a04955781d 100644
--- a/android/app/src/main/res/values-nl/strings.xml
+++ b/android/app/src/main/res/values-nl/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Mullvad-accountnummer gekopieerd naar klembord</string>
<string name="copied_to_clipboard">Gekopieerd naar klembord</string>
<string name="copied_wireguard_public_key">Openbare WireGuard-sleutel gekopieerd naar klembord</string>
+ <string name="copy_account_number">Accountnummer kopiëren</string>
<string name="create_account">Account aanmaken</string>
<string name="creating_new_account">Account aanmaken...</string>
<string name="creating_secure_connection">BEVEILIGDE VERBINDING AANMAKEN</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">Status VPN-tunnel</string>
<string name="go_to_login">Ga naar aanmelden</string>
<string name="here_is_your_account_number">Hier is uw accountnummer. Sla het op!</string>
+ <string name="hide_account_number">Accountnummer verbergen</string>
<string name="hint_default">Standaard</string>
<string name="in_address">In</string>
<string name="invalid_dns_servers">Aangepaste DNS-serveradressen %1$s zijn ongeldig</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Account</string>
<string name="settings_advanced">Geavanceerd</string>
<string name="settings_preferences">Voorkeuren</string>
+ <string name="show_account_number">Accountnummer weergeven</string>
<string name="show_system_apps">Systeemapps weergeven</string>
<string name="split_tunneling_description">Split tunneling maakt het mogelijk te kiezen welke toepassingen niet via de VPN-tunnel moeten worden omgeleid.</string>
<string name="start_tunnel_error">Starten van tunnelverbinding mislukt</string>
diff --git a/android/app/src/main/res/values-pl/strings.xml b/android/app/src/main/res/values-pl/strings.xml
index 4d41e2af93..66428fd280 100644
--- a/android/app/src/main/res/values-pl/strings.xml
+++ b/android/app/src/main/res/values-pl/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Skopiowano numer konta Mullvad do schowka</string>
<string name="copied_to_clipboard">Skopiowano do schowka</string>
<string name="copied_wireguard_public_key">Skopiowano klucz publiczny WireGuard do schowka</string>
+ <string name="copy_account_number">Kopiuj numer konta</string>
<string name="create_account">Utwórz konto</string>
<string name="creating_new_account">Tworzenie konta...</string>
<string name="creating_secure_connection">TWORZENIE BEZPIECZNEGO POŁĄCZENIA</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">Status tunelu VPN</string>
<string name="go_to_login">Przejdź do logowania</string>
<string name="here_is_your_account_number">Oto Twój numer konta. Zachowaj go!</string>
+ <string name="hide_account_number">Ukryj numer konta</string>
<string name="hint_default">Domyślnie</string>
<string name="in_address">Wejście</string>
<string name="invalid_dns_servers">Niestandardowe adresy serwerów DNS %1$s są nieprawidłowe</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Konto</string>
<string name="settings_advanced">Zaawansowane</string>
<string name="settings_preferences">Preferencje</string>
+ <string name="show_account_number">Pokaż numer konta</string>
<string name="show_system_apps">Pokaż aplikacje systemowe</string>
<string name="split_tunneling_description">Dzielone tunelowanie umożliwia wybranie aplikacji, które nie powinny być kierowane przez tunel VPN.</string>
<string name="start_tunnel_error">Niepowodzenie uruchomienia połączenia tunelowego</string>
diff --git a/android/app/src/main/res/values-pt/strings.xml b/android/app/src/main/res/values-pt/strings.xml
index c4d52949d9..05b1b80738 100644
--- a/android/app/src/main/res/values-pt/strings.xml
+++ b/android/app/src/main/res/values-pt/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Número de conta Mullvad copiado para a área de transferência</string>
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
<string name="copied_wireguard_public_key">A chave pública WireGuard foi copiada para a área de transferência</string>
+ <string name="copy_account_number">Copiar número de conta</string>
<string name="create_account">Criar conta</string>
<string name="creating_new_account">A criar conta...</string>
<string name="creating_secure_connection">A CRIAR LIGAÇÃO SEGURA</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">Estado do túnel VPN</string>
<string name="go_to_login">Ir para a ligação</string>
<string name="here_is_your_account_number">Aqui tem o seu número de conta. Guarde-o!</string>
+ <string name="hide_account_number">Ocultar número de conta</string>
<string name="hint_default">Padrão</string>
<string name="in_address">Entrada</string>
<string name="invalid_dns_servers">Os endereços do servidor DNS personalizado %1$s são inválidos</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Conta</string>
<string name="settings_advanced">Avançadas</string>
<string name="settings_preferences">Preferências</string>
+ <string name="show_account_number">Mostrar número de conta</string>
<string name="show_system_apps">Mostrar aplicações do sistema</string>
<string name="split_tunneling_description">A divisão do túnel permite selecionar quais as aplicações que devem ser direcionadas através do túnel VPN.</string>
<string name="start_tunnel_error">Erro ao iniciar a ligação de túnel</string>
diff --git a/android/app/src/main/res/values-ru/strings.xml b/android/app/src/main/res/values-ru/strings.xml
index c998446862..30d75efee5 100644
--- a/android/app/src/main/res/values-ru/strings.xml
+++ b/android/app/src/main/res/values-ru/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Номер учетной записи Mullvad скопирован в буфер обмена</string>
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
<string name="copied_wireguard_public_key">Открытый ключ WireGuard скопирован в буфер обмена</string>
+ <string name="copy_account_number">Копировать номер учетной записи</string>
<string name="create_account">Создать учетную запись</string>
<string name="creating_new_account">Создание учетной записи...</string>
<string name="creating_secure_connection">СОЗДАНИЕ ЗАЩИЩЕННОГО ПОДКЛЮЧЕНИЯ</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">Состояние туннеля VPN</string>
<string name="go_to_login">Войти</string>
<string name="here_is_your_account_number">Вот номер вашей учетной записи. Сохраните его!</string>
+ <string name="hide_account_number">Скрыть номер учетной записи</string>
<string name="hint_default">По умолчанию</string>
<string name="in_address">Вход</string>
<string name="invalid_dns_servers">Пользовательские адреса DNS-серверов %1$s недопустимы</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Учетная запись</string>
<string name="settings_advanced">Дополнительные</string>
<string name="settings_preferences">Параметры</string>
+ <string name="show_account_number">Показать номер учетной записи</string>
<string name="show_system_apps">Показывать системные приложения</string>
<string name="split_tunneling_description">Раздельное туннелирование позволяет выбрать, какие приложения не должны маршрутизироваться через VPN-туннель.</string>
<string name="start_tunnel_error">Не удалось запустить подключение к туннелю</string>
diff --git a/android/app/src/main/res/values-sv/strings.xml b/android/app/src/main/res/values-sv/strings.xml
index 9bed848a31..c935f7705b 100644
--- a/android/app/src/main/res/values-sv/strings.xml
+++ b/android/app/src/main/res/values-sv/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Kopierade Mullvad-kontonummer till urklipp</string>
<string name="copied_to_clipboard">Kopierat till urklipp</string>
<string name="copied_wireguard_public_key">Kopierade offentlig nyckel för WireGuard till urklipp</string>
+ <string name="copy_account_number">Kopiera kontonummer</string>
<string name="create_account">Skapa konto</string>
<string name="creating_new_account">Skapar konto...</string>
<string name="creating_secure_connection">SKAPAR SÄKER ANSLUTNING</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN-tunnelstatus</string>
<string name="go_to_login">Gå till inloggning</string>
<string name="here_is_your_account_number">Här är ditt kontonummer. Spara det!</string>
+ <string name="hide_account_number">Dölj kontonummer</string>
<string name="hint_default">Standard</string>
<string name="in_address">In</string>
<string name="invalid_dns_servers">Anpassade DNS-serveradresser %1$s är ogiltiga</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Konto</string>
<string name="settings_advanced">Avancerat</string>
<string name="settings_preferences">Inställningar</string>
+ <string name="show_account_number">Visa kontonummer</string>
<string name="show_system_apps">Visa systemappar</string>
<string name="split_tunneling_description">Delade tunnlar gör det möjligt att välja vilka applikationer som inte ska dirigeras genom VPN-tunneln.</string>
<string name="start_tunnel_error">Det gick inte att starta tunnelanslutning</string>
diff --git a/android/app/src/main/res/values-th/strings.xml b/android/app/src/main/res/values-th/strings.xml
index 40ceaf58f0..32c325d0aa 100644
--- a/android/app/src/main/res/values-th/strings.xml
+++ b/android/app/src/main/res/values-th/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">คัดลอกหมายเลขบัญชี Mullvad ไปยังคลิปบอร์ด</string>
<string name="copied_to_clipboard">คัดลอกไปยังคลิปบอร์ดแล้ว</string>
<string name="copied_wireguard_public_key">คัดลอกคีย์สาธารณะของ WireGuard ไปยังคลิปบอร์ด</string>
+ <string name="copy_account_number">คัดลอกหมายเลขบัญชี</string>
<string name="create_account">สร้างบัญชี</string>
<string name="creating_new_account">กำลังสร้างบัญชี...</string>
<string name="creating_secure_connection">กำลังสร้างการเชื่อมต่อที่ปลอดภัย</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">สถานะช่องทาง VPN</string>
<string name="go_to_login">ไปเข้าสู่ระบบ</string>
<string name="here_is_your_account_number">นี่คือหมายเลขบัญชีของคุณ จดบันทึกไว้ด้วยนะ!</string>
+ <string name="hide_account_number">ซ่อนหมายเลขบัญชี</string>
<string name="hint_default">ค่าเริ่มต้น</string>
<string name="in_address">เข้า</string>
<string name="invalid_dns_servers">ที่อยู่เซิร์ฟเวอร์ DNS %1$s ที่กำหนดเองไม่ถูกต้อง</string>
@@ -114,6 +116,7 @@
<string name="settings_account">บัญชี</string>
<string name="settings_advanced">ขั้นสูง</string>
<string name="settings_preferences">การกำหนดค่า</string>
+ <string name="show_account_number">แสดงหมายเลขบัญชี</string>
<string name="show_system_apps">แสดงแอประบบ</string>
<string name="split_tunneling_description">การแยกช่องทางทำให้คุณสามารถเลือกได้ว่า แอปพลิเคชันใดไม่ควรได้รับการกำหนดเส้นทางผ่านช่องทาง VPN</string>
<string name="start_tunnel_error">ไม่สามารถเริ่มการเชื่อมต่อช่องทางได้</string>
diff --git a/android/app/src/main/res/values-tr/strings.xml b/android/app/src/main/res/values-tr/strings.xml
index 5d5bef53fc..16c326961b 100644
--- a/android/app/src/main/res/values-tr/strings.xml
+++ b/android/app/src/main/res/values-tr/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">Mullvad hesap numarası panoya kopyalandı</string>
<string name="copied_to_clipboard">Panoya kopyalandı</string>
<string name="copied_wireguard_public_key">WireGuard genel anahtarı panoya kopyalandı</string>
+ <string name="copy_account_number">Hesap numarasını kopyala</string>
<string name="create_account">Hesap oluştur</string>
<string name="creating_new_account">Hesap oluşturuluyor...</string>
<string name="creating_secure_connection">GÜVENLİ BAĞLANTI OLUŞTURULUYOR</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN tüneli durumu</string>
<string name="go_to_login">Giriş sayfasına git</string>
<string name="here_is_your_account_number">İşte hesap numaranız. Kaydedin!</string>
+ <string name="hide_account_number">Hesap numarasını gizle</string>
<string name="hint_default">Varsayılan</string>
<string name="in_address">Giriş</string>
<string name="invalid_dns_servers">Özel DNS sunucu adresleri (%1$s) geçersiz</string>
@@ -114,6 +116,7 @@
<string name="settings_account">Hesap</string>
<string name="settings_advanced">Gelişmiş</string>
<string name="settings_preferences">Tercihler</string>
+ <string name="show_account_number">Hesap numarasını göster</string>
<string name="show_system_apps">Sistem uygulamalarını göster</string>
<string name="split_tunneling_description">Bölünmüş tünelleme, VPN tüneli üzerinden yönlendirilmemesi gereken uygulamaları seçmenize olanak tanır.</string>
<string name="start_tunnel_error">Tünel bağlantısı başlatılamıyor</string>
diff --git a/android/app/src/main/res/values-zh-rCN/strings.xml b/android/app/src/main/res/values-zh-rCN/strings.xml
index 19a3b08d48..67f77a4835 100644
--- a/android/app/src/main/res/values-zh-rCN/strings.xml
+++ b/android/app/src/main/res/values-zh-rCN/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">已将 Mullvad 帐号复制到剪贴板</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copied_wireguard_public_key">已将 WireGuard 公钥复制到剪贴板</string>
+ <string name="copy_account_number">复制帐号</string>
<string name="create_account">创建帐户</string>
<string name="creating_new_account">正在创建帐户…</string>
<string name="creating_secure_connection">正在创建安全连接</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN 隧道状态</string>
<string name="go_to_login">前往登录</string>
<string name="here_is_your_account_number">以下是您的帐号。请妥善保存!</string>
+ <string name="hide_account_number">隐藏帐号</string>
<string name="hint_default">默认</string>
<string name="in_address">内部</string>
<string name="invalid_dns_servers">自定义 DNS 服务器地址 %1$s 无效</string>
@@ -114,6 +116,7 @@
<string name="settings_account">帐户</string>
<string name="settings_advanced">高级</string>
<string name="settings_preferences">偏好设置</string>
+ <string name="show_account_number">显示帐号</string>
<string name="show_system_apps">显示系统应用</string>
<string name="split_tunneling_description">利用拆分隧道,您可以选择哪些应用程序不应通过 VPN 隧道进行路由。</string>
<string name="start_tunnel_error">无法启动隧道连接</string>
diff --git a/android/app/src/main/res/values-zh-rTW/strings.xml b/android/app/src/main/res/values-zh-rTW/strings.xml
index 319307b9b7..10c14e595d 100644
--- a/android/app/src/main/res/values-zh-rTW/strings.xml
+++ b/android/app/src/main/res/values-zh-rTW/strings.xml
@@ -34,6 +34,7 @@
<string name="copied_mullvad_account_number">已將 Mullvad 帳號複製到剪貼簿</string>
<string name="copied_to_clipboard">已複製到剪貼簿</string>
<string name="copied_wireguard_public_key">已將 WireGuard 公開金鑰複製到剪貼簿</string>
+ <string name="copy_account_number">複製帳號</string>
<string name="create_account">建立帳戶</string>
<string name="creating_new_account">正在建立帳戶…</string>
<string name="creating_secure_connection">建立安全連線</string>
@@ -64,6 +65,7 @@
<string name="foreground_notification_channel_name">VPN 通道狀態</string>
<string name="go_to_login">前往登入</string>
<string name="here_is_your_account_number">以下是您的帳號。請妥善保管!</string>
+ <string name="hide_account_number">隱藏帳號</string>
<string name="hint_default">預設</string>
<string name="in_address">入境</string>
<string name="invalid_dns_servers">自訂 DNS 伺服器位址 %1$s 無效</string>
@@ -114,6 +116,7 @@
<string name="settings_account">帳戶</string>
<string name="settings_advanced">進階</string>
<string name="settings_preferences">喜好設定</string>
+ <string name="show_account_number">顯示帳號</string>
<string name="show_system_apps">顯示系統應用程式</string>
<string name="split_tunneling_description">利用拆分通道,您可以選擇哪些應用程式不應透過 VPN 通道進行路由。</string>
<string name="start_tunnel_error">無法啟動通道連線</string>
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 8a04ad5bb9..29495c80e2 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -195,4 +195,7 @@
<string name="failed_to_fetch_devices">Failed to fetch list of devices</string>
<string name="port_removal_notice">This will delete all forwarded ports. Local settings will be
saved.</string>
+ <string name="copy_account_number">Copy account number</string>
+ <string name="hide_account_number">Hide account number</string>
+ <string name="show_account_number">Show account number</string>
</resources>