summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/translations.yml18
-rw-r--r--android/app/src/main/res/values-da/strings.xml2
-rw-r--r--android/app/src/main/res/values-de/strings.xml2
-rw-r--r--android/app/src/main/res/values-fr/strings.xml2
-rw-r--r--android/app/src/main/res/values-it/strings.xml2
-rw-r--r--android/app/src/main/res/values-ja/strings.xml2
-rw-r--r--android/app/src/main/res/values-ko/strings.xml2
-rw-r--r--android/app/src/main/res/values-my/strings.xml1
-rw-r--r--android/app/src/main/res/values-nl/strings.xml2
-rw-r--r--android/app/src/main/res/values-pl/strings.xml2
-rw-r--r--android/app/src/main/res/values-pt/strings.xml2
-rw-r--r--android/app/src/main/res/values-sv/strings.xml2
-rw-r--r--android/app/src/main/res/values-zh-rTW/strings.xml2
-rw-r--r--android/app/src/main/res/values/strings.xml2
-rw-r--r--gui/locales/README.md8
-rw-r--r--gui/locales/da/messages.po38
-rw-r--r--gui/locales/de/messages.po38
-rw-r--r--gui/locales/es/messages.po38
-rw-r--r--gui/locales/fi/messages.po38
-rw-r--r--gui/locales/fr/messages.po38
-rw-r--r--gui/locales/it/messages.po38
-rw-r--r--gui/locales/ja/messages.po38
-rw-r--r--gui/locales/ko/messages.po40
-rw-r--r--gui/locales/messages.pot25
-rw-r--r--gui/locales/my/messages.po57
-rw-r--r--gui/locales/nb/messages.po38
-rw-r--r--gui/locales/nl/messages.po38
-rw-r--r--gui/locales/pl/messages.po38
-rw-r--r--gui/locales/pt/messages.po38
-rw-r--r--gui/locales/ru/messages.po38
-rw-r--r--gui/locales/sv/messages.po38
-rw-r--r--gui/locales/th/messages.po38
-rw-r--r--gui/locales/tr/messages.po38
-rw-r--r--gui/locales/zh-CN/messages.po38
-rw-r--r--gui/locales/zh-TW/messages.po38
-rw-r--r--gui/scripts/verify-format-specifiers.ts73
-rw-r--r--gui/scripts/verify-translations-format.ts130
-rw-r--r--gui/src/renderer/components/CustomDnsSettings.tsx3
-rw-r--r--gui/src/renderer/components/Login.tsx6
-rw-r--r--gui/src/renderer/components/OpenVpnSettings.tsx14
-rw-r--r--gui/src/renderer/components/SplitTunnelingSettings.tsx6
-rw-r--r--gui/src/renderer/components/TooManyDevices.tsx8
-rw-r--r--gui/src/renderer/components/VpnSettings.tsx9
-rw-r--r--gui/src/renderer/lib/html-formatter.tsx18
-rw-r--r--gui/src/renderer/markdown-formatter.tsx19
-rw-r--r--gui/tsconfig.json4
-rwxr-xr-xscripts/localization19
47 files changed, 473 insertions, 655 deletions
diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yml
index c6bb477ab1..3472426265 100644
--- a/.github/workflows/translations.yml
+++ b/.github/workflows/translations.yml
@@ -41,19 +41,5 @@ jobs:
toolchain: stable
default: true
- - name: Extract messages from desktop GUI
- working-directory: gui/locales
- run: npm run update-translations
-
- - name: Convert translations into Android resources
- working-directory: android/translations-converter
- run: cargo run
-
- - name: Check if repository is up to date
- run: |
- git diff
- ! git status -s | grep .
-
- - name: Check if format specifiers are correct
- working-directory: gui/scripts
- run: npm exec ts-node verify-format-specifiers.ts
+ - name: Verify translations
+ run: scripts/localization verify
diff --git a/android/app/src/main/res/values-da/strings.xml b/android/app/src/main/res/values-da/strings.xml
index 9a052f6c48..45977cd5d5 100644
--- a/android/app/src/main/res/values-da/strings.xml
+++ b/android/app/src/main/res/values-da/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Ugyldigt kontonummer</string>
<string name="login_fail_title">Login mislykkedes</string>
<string name="login_title">Log ind</string>
- <string name="max_devices_confirm_removal_description">Er du sikker på, at du vil logge ud af &lt;b&gt;%1$s&lt;/b&gt;?</string>
+ <string name="max_devices_confirm_removal_description">Er du sikker på, at du vil logge &lt;b&gt;%1$s&lt;/b&gt; ud?</string>
<string name="max_devices_resolved_description">Du kan nu fortsætte med at logge ind på denne enhed.</string>
<string name="max_devices_resolved_title">Super!</string>
<string name="max_devices_warning_description">Log ud af mindst én ved at fjerne den fra listen nedenfor. Du kan finde det tilsvarende enhedsnavn under enhedens kontoindstillinger.</string>
diff --git a/android/app/src/main/res/values-de/strings.xml b/android/app/src/main/res/values-de/strings.xml
index cc1f2fc32b..a97fabf364 100644
--- a/android/app/src/main/res/values-de/strings.xml
+++ b/android/app/src/main/res/values-de/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Ungültige Kontonummer</string>
<string name="login_fail_title">Anmeldung fehlgeschlagen</string>
<string name="login_title">Anmelden</string>
- <string name="max_devices_confirm_removal_description">Möchten Sie sich wirklich von &lt;b&gt;%1$s&lt;/b&gt; abmelden?</string>
+ <string name="max_devices_confirm_removal_description">Möchten Sie &lt;b&gt;%1$s&lt;/b&gt; wirklich abmelden?</string>
<string name="max_devices_resolved_description">Sie können jetzt mit der Anmeldung auf diesem Gerät fortfahren.</string>
<string name="max_devices_resolved_title">Super!</string>
<string name="max_devices_warning_description">Bitte melden Sie sich von mindestens einem Gerät ab, indem Sie es aus der Liste unten entfernen. Sie finden den entsprechenden Gerätenamen unter den Kontoeinstellungen des Geräts.</string>
diff --git a/android/app/src/main/res/values-fr/strings.xml b/android/app/src/main/res/values-fr/strings.xml
index 8059af5e14..64d53d97bb 100644
--- a/android/app/src/main/res/values-fr/strings.xml
+++ b/android/app/src/main/res/values-fr/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Numéro de compte non valide</string>
<string name="login_fail_title">Échec de la connexion</string>
<string name="login_title">Connexion</string>
- <string name="max_devices_confirm_removal_description">Voulez-vous vraiment vous déconnecter de &lt;b&gt;%1$s&lt;/b&gt; ?</string>
+ <string name="max_devices_confirm_removal_description">Voulez-vous vraiment déconnecter &lt;b&gt;%1$s&lt;/b&gt; ?</string>
<string name="max_devices_resolved_description">Vous pouvez maintenant continuer la connexion sur cet appareil.</string>
<string name="max_devices_resolved_title">Super !</string>
<string name="max_devices_warning_description">Merci de vous déconnecter d\'au moins un appareil en le supprimant de la liste ci-dessous. Vous trouverez le nom de l\'appareil correspondant dans les paramètres du compte de l\'appareil.</string>
diff --git a/android/app/src/main/res/values-it/strings.xml b/android/app/src/main/res/values-it/strings.xml
index 14bc80ab42..0d868d3a3a 100644
--- a/android/app/src/main/res/values-it/strings.xml
+++ b/android/app/src/main/res/values-it/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Numero di account non valido</string>
<string name="login_fail_title">Accesso non riuscito</string>
<string name="login_title">Accedi</string>
- <string name="max_devices_confirm_removal_description">Vuoi davvero disconnetterti da &lt;b&gt;%1$s&lt;/b&gt;?</string>
+ <string name="max_devices_confirm_removal_description">Vuoi davvero disconnettere &lt;b&gt;%1$s&lt;/b&gt;?</string>
<string name="max_devices_resolved_description">Ora puoi continuare ad accedere su questo dispositivo.</string>
<string name="max_devices_resolved_title">Fantastico!</string>
<string name="max_devices_warning_description">Disconnettiti da almeno un dispositivo rimuovendolo dall\'elenco seguente. Puoi trovare il nome del dispositivo corrispondente nelle impostazioni dell\'account del dispositivo.</string>
diff --git a/android/app/src/main/res/values-ja/strings.xml b/android/app/src/main/res/values-ja/strings.xml
index 89e29e0d3c..2f18b1328a 100644
--- a/android/app/src/main/res/values-ja/strings.xml
+++ b/android/app/src/main/res/values-ja/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">アカウント番号が正しくありません</string>
<string name="login_fail_title">ログインに失敗しました</string>
<string name="login_title">ログイン</string>
- <string name="max_devices_confirm_removal_description">本当に&lt;b&gt;%1$s&lt;/b&gt;からログアウトしますか?</string>
+ <string name="max_devices_confirm_removal_description">本当に&lt;b&gt;%1$s&lt;/b&gt;をログアウトしますか?</string>
<string name="max_devices_resolved_description">このデバイスでログインを続けられるようになりました。</string>
<string name="max_devices_resolved_title">素晴らしい!</string>
<string name="max_devices_warning_description">以下のリストから少なくとも1つを削除してログアウトしてください。対応するデバイス名はデバイスのアカウント設定で確認できます。</string>
diff --git a/android/app/src/main/res/values-ko/strings.xml b/android/app/src/main/res/values-ko/strings.xml
index 8366e858ee..27069e34cc 100644
--- a/android/app/src/main/res/values-ko/strings.xml
+++ b/android/app/src/main/res/values-ko/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">유효하지 않은 계정 번호</string>
<string name="login_fail_title">로그인 실패</string>
<string name="login_title">로그인</string>
- <string name="max_devices_confirm_removal_description">&lt;b&gt;%1$s&lt;/b&gt;에서 로그아웃하시겠습니까?</string>
+ <string name="max_devices_confirm_removal_description">&lt;b&gt;%1$s&lt;/b&gt;을(를) 로그아웃하시겠습니까?</string>
<string name="max_devices_resolved_description">이제 이 장치에 계속 로그인할 수 있습니다.</string>
<string name="max_devices_resolved_title">좋습니다!</string>
<string name="max_devices_warning_description">하나 이상의 항목을 아래 목록에서 제거하여 로그아웃하세요. 장치의 계정 설정에서 해당 장치 이름을 찾을 수 있습니다.</string>
diff --git a/android/app/src/main/res/values-my/strings.xml b/android/app/src/main/res/values-my/strings.xml
index 2075306ddb..6444c0cf8f 100644
--- a/android/app/src/main/res/values-my/strings.xml
+++ b/android/app/src/main/res/values-my/strings.xml
@@ -86,7 +86,6 @@
<string name="login_fail_description">အကောင့်နံပါတ် မှားယွင်းနေပါသည်</string>
<string name="login_fail_title">ဝင်ရောက်မှု မအောင်မြင်ပါ</string>
<string name="login_title">ဝင်ရန်</string>
- <string name="max_devices_confirm_removal_description">&lt;b&gt;%1$s&lt;/b&gt; မှ ထွက်လိုသည်မှာ သေချာပါသလား။</string>
<string name="max_devices_resolved_description">သင်သည် ယခု ဤစက်တွင် ဆက်လက် ဝင်ရောက်နိုင်သည်။</string>
<string name="max_devices_resolved_title">အလွန်ကောင်း။</string>
<string name="max_devices_warning_description">အောက်ပါစာရင်းမှ အနည်းဆုံး တစ်ခုကို ဖယ်ရှားခြင်းဖြင့် ၎င်းမှ ထွက်ပါ။ စက်၏ အကောင့်ဆက်တင်အောက်တွင် သက်ဆိုင်သော စက်အမည်ကို သင် ရှာနိုင်သည်။</string>
diff --git a/android/app/src/main/res/values-nl/strings.xml b/android/app/src/main/res/values-nl/strings.xml
index 6046753296..468968bb77 100644
--- a/android/app/src/main/res/values-nl/strings.xml
+++ b/android/app/src/main/res/values-nl/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Ongeldig accountnummer</string>
<string name="login_fail_title">Aanmelden mislukt</string>
<string name="login_title">Aanmelden</string>
- <string name="max_devices_confirm_removal_description">Weet u zeker dat u zich wilt afmelden van &lt;b&gt;%1$s&lt;/b&gt;?</string>
+ <string name="max_devices_confirm_removal_description">Weet u zeker dat u &lt;b&gt;%1$s&lt;/b&gt; wilt afmelden?</string>
<string name="max_devices_resolved_description">U kunt nu doorgaan met het aanmelden bij dit apparaat.</string>
<string name="max_devices_resolved_title">Super!</string>
<string name="max_devices_warning_description">Meld u bij minstens één apparaat af door het te verwijderen uit de onderstaande lijst. U kunt de bijbehorende apparaatnaam vinden in de accountinstellingen van het apparaat.</string>
diff --git a/android/app/src/main/res/values-pl/strings.xml b/android/app/src/main/res/values-pl/strings.xml
index 9168082f1e..e9d2c5f8f2 100644
--- a/android/app/src/main/res/values-pl/strings.xml
+++ b/android/app/src/main/res/values-pl/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Nieprawidłowy numer konta</string>
<string name="login_fail_title">Błąd logowania</string>
<string name="login_title">Logowanie</string>
- <string name="max_devices_confirm_removal_description">Czy na pewno chcesz wylogować się z &lt;b&gt;%1$s&lt;/b&gt;?</string>
+ <string name="max_devices_confirm_removal_description">Czy na pewno chcesz wylogować &lt;b&gt;%1$s&lt;/b&gt;?</string>
<string name="max_devices_resolved_description">Teraz można kontynuować logowanie się na tym urządzeniu.</string>
<string name="max_devices_resolved_title">Super!</string>
<string name="max_devices_warning_description">Wyloguj się z co najmniej jednego urządzenia, usuwając je z poniższej listy. Odpowiednią nazwę urządzenia można znaleźć w ustawieniach konta urządzenia.</string>
diff --git a/android/app/src/main/res/values-pt/strings.xml b/android/app/src/main/res/values-pt/strings.xml
index a7f1932be9..055eea9dd5 100644
--- a/android/app/src/main/res/values-pt/strings.xml
+++ b/android/app/src/main/res/values-pt/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Número de conta inválido</string>
<string name="login_fail_title">Erro ao iniciar sessão</string>
<string name="login_title">Iniciar sessão</string>
- <string name="max_devices_confirm_removal_description">Tem a certeza de que deseja desligar-se de &lt;b&gt;%1$s&lt;/b&gt;?</string>
+ <string name="max_devices_confirm_removal_description">Tem a certeza de que quer terminar a sessão de &lt;b&gt;%1$s&lt;/b&gt;?</string>
<string name="max_devices_resolved_description">Agora pode continuar a ligação neste dispositivo.</string>
<string name="max_devices_resolved_title">Excelente!</string>
<string name="max_devices_warning_description">Desligue-se de pelo menos um dos dispositivos removendo-o da lista abaixo. Pode encontrar o nome do dispositivo correspondente nas definições de Conta do dispositivo.</string>
diff --git a/android/app/src/main/res/values-sv/strings.xml b/android/app/src/main/res/values-sv/strings.xml
index 21c5828201..cc8f30eed5 100644
--- a/android/app/src/main/res/values-sv/strings.xml
+++ b/android/app/src/main/res/values-sv/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">Ogiltigt kontonummer</string>
<string name="login_fail_title">Inloggningen misslyckades</string>
<string name="login_title">Logga in</string>
- <string name="max_devices_confirm_removal_description">Vill du verkligen logga ut från &lt;b&gt;%1$s&lt;/b&gt;?</string>
+ <string name="max_devices_confirm_removal_description">Vill du verkligen logga ut &lt;b&gt;%1$s&lt;/b&gt;?</string>
<string name="max_devices_resolved_description">Du kan nu fortsätta med att logga in på den här enheten.</string>
<string name="max_devices_resolved_title">Super!</string>
<string name="max_devices_warning_description">Logga ut på minst en enhet genom att ta bort den från listan nedan. Du hittar motsvarande enhetsnamn i enhetens kontoinställningar.</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 74d987ca72..c578cbb4b7 100644
--- a/android/app/src/main/res/values-zh-rTW/strings.xml
+++ b/android/app/src/main/res/values-zh-rTW/strings.xml
@@ -86,7 +86,7 @@
<string name="login_fail_description">帳號無效</string>
<string name="login_fail_title">登入失敗</string>
<string name="login_title">登入</string>
- <string name="max_devices_confirm_removal_description">確定要登出&lt;b&gt;%1$s&lt;/b&gt;嗎?</string>
+ <string name="max_devices_confirm_removal_description">確定要將 &lt;b&gt;%1$s&lt;/b&gt; 登出嗎?</string>
<string name="max_devices_resolved_description">現在,您可以繼續在此裝置上登入。</string>
<string name="max_devices_resolved_title">太好了!</string>
<string name="max_devices_warning_description">請從底下清單至少移除一個裝置來將其登出。您可以在裝置的「帳戶」設定下找到相應裝置名稱。</string>
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 28f8baf3d3..d89b630462 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -170,7 +170,7 @@
<string name="max_devices_resolved_description">You can now continue logging in on this
device.</string>
<string name="max_devices_confirm_removal_description">
-<![CDATA[Are you sure you want to log out of <b>%s</b>?]]>
+<![CDATA[Are you sure you want to log <b>%s</b> out?]]>
</string>
<string name="confirm_removal">Yes, log out device</string>
<string name="continue_login">Continue with login</string>
diff --git a/gui/locales/README.md b/gui/locales/README.md
index 071925c73e..a4713e3ac1 100644
--- a/gui/locales/README.md
+++ b/gui/locales/README.md
@@ -76,6 +76,14 @@ When the translations are done, download it by running:
CROWDIN_API_KEY=$YOUR_CROWDIN_KEY `./scripts/localization download`
```
+## Verify translation formatting
+
+Use the localization script to verify that the strings are valid HTML and that they contain the
+correct amount of format specifiers:
+```
+./scripts/localization verify
+```
+
## Keeping messages.pot in sync
This is only relevant when running the different tools for updating `messages.pot` manually, and
diff --git a/gui/locales/da/messages.po b/gui/locales/da/messages.po
index 06d974bf5c..a92e06c803 100644
--- a/gui/locales/da/messages.po
+++ b/gui/locales/da/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Ud"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Er du sikker på, at du vil logge **%(deviceName)s** ud?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Er du sikker på, at du vil logge <b>%(deviceName)s</b> ud?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Opretter forbindelse til Mullvad-systemtjeneste..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** er aktiveret. Deaktiver det for at fjerne blokeringen af ​​din forbindelse."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> er aktiveret. Deaktiver det for at fjerne blokeringen af ​​din forbindelse."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Indstil %(openvpn)s MSS-værdi. Gyldigt område: %(min)d - %(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "For at aktivere brotilstand skal du ændre **%(transportProtocol)s** til **%(automatic)s** eller **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "For at aktivere brotilstand skal du ændre <b>%(transportProtocol)s</b> til <b>%(automatic)s</b> eller <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "For at aktivere brotilstand skal du ændre **%(transportProtocol)s** til
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "For at aktivere brotilstand skal du gå tilbage og ændre **%(tunnelProtocol)s** til **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "For at aktivere brotilstand skal du gå tilbage og ændre <b>%(tunnelProtocol)s</b> til <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "For at aktivere UDP skal du ændre **Brotilstand** til **Automatisk** eller **Fra**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "For at aktivere UDP skal du ændre <b>Brotilstand</b> til <b>Automatisk</b> eller <b>Fra</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Start"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Intet resultat for **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Intet resultat for <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Bloker trackere"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Deaktiver **%(customDnsFeatureName)s** (under avancerede indstillinger) for at aktivere disse indstillinger."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/de/messages.po b/gui/locales/de/messages.po
index aa019612a6..c408df97b6 100644
--- a/gui/locales/de/messages.po
+++ b/gui/locales/de/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Ausgehend"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Möchten Sie **%(deviceName)s** wirklich abmelden?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Möchten Sie <b>%(deviceName)s</b> wirklich abmelden?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Verbindung zum Mullvad-Systemdienst wird hergestellt..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** ist aktiviert. Deaktivieren Sie dies, um Ihre Verbindung freizugeben."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> ist aktiviert. Deaktivieren Sie dies, um Ihre Verbindung freizugeben."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "%(openvpn)s MSS-Wert einstellen. Gültiger Bereich: %(min)d - %(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Um den Brückenmodus zu aktivieren, stellen Sie das **%(transportProtocol)s** auf **%(automatic)s** oder **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Um den Brückenmodus zu aktivieren, stellen Sie das <b>%(transportProtocol)s</b> auf <b>%(automatic)s</b> oder <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Um den Brückenmodus zu aktivieren, stellen Sie das **%(transportProtoco
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Um den Brückenmodus zu aktivieren, navigieren Sie zurück und ändern Sie das **%(tunnelProtocol)s** zu **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Um den Brückenmodus zu aktivieren, navigieren Sie zurück und ändern Sie das <b>%(tunnelProtocol)s</b> zu <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Um UDP zu aktivieren, stellen Sie den **Brückenmodus** auf **Automatisch** oder **Aus**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Um UDP zu aktivieren, stellen Sie den <b>Brückenmodus</b> auf <b>Automatisch</b> oder <b>Aus</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1082,8 +1082,8 @@ msgid "Launch"
msgstr "Starten"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Kein Ergebnis für **%(searchTerm)s** gefunden**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Kein Ergebnis für <b>%(searchTerm)s</b> gefunden."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1338,18 +1338,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Tracker blockieren"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Deaktivieren Sie **%(customDnsFeatureName)s** (in den erweiterten Einstellungen), um diese Einstellungen zu aktivieren."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/es/messages.po b/gui/locales/es/messages.po
index f66a2bd311..7a74cd4dfc 100644
--- a/gui/locales/es/messages.po
+++ b/gui/locales/es/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Salida"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "¿Seguro que quiere cerrar la sesión de **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "¿Seguro que quiere cerrar la sesión de <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Conectando al servicio del sistema Mullvad…"
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "El **%(lockdownModeSettingName)s** está activado. Desactívelo para desbloquear la conexión."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "El <b>%(lockdownModeSettingName)s</b> está activado. Desactívelo para desbloquear la conexión."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Establezca el valor de MSS de %(openvpn)s. Intervalo válido: %(min)d-%(
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Para activar el modo puente, cambie el **%(transportProtocol)s** a **%(automatic)s** o **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Para activar el modo puente, cambie el <b>%(transportProtocol)s</b> a <b>%(automatic)s</b> o <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Para activar el modo puente, cambie el **%(transportProtocol)s** a **%(a
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Para activar el modo puente, vuelva y cambie el **%(tunnelProtocol)s** a **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Para activar el modo puente, vuelva y cambie el <b>%(tunnelProtocol)s</b> a <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Para activar el protocolo UDP, cambie el **Modo Puente** a **Automático** o **Desactivado**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Para activar el protocolo UDP, cambie el <b>Modo Puente</b> a <b>Automático</b> o <b>Desactivado</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Iniciar"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "No hay resultados para «**%(searchTerm)s**»."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "No hay resultados para «<b>%(searchTerm)s</b>»."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Bloquear rastreadores"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Para activar estas opciones, deshabilite **%(customDnsFeatureName)s** (en Configuración avanzada)."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/fi/messages.po b/gui/locales/fi/messages.po
index 4a03e76f61..f89a3a8915 100644
--- a/gui/locales/fi/messages.po
+++ b/gui/locales/fi/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Lähtevä"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Haluatko varmasti kirjautua ulos laitteelta **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Haluatko varmasti kirjautua ulos laitteelta <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Yhdistetään Mullvad-järjestelmäpalveluun..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** on käytössä. Pura verkkoyhteyden esto poistamalla se käytöstä."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> on käytössä. Pura verkkoyhteyden esto poistamalla se käytöstä."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Aseta %(openvpn)s MSS -arvo asteikolla %(min)d–%(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Aktivoi siltaustila muuttamalla **%(transportProtocol)s**-asetukseksi **%(automatic)s** tai **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Aktivoi siltaustila muuttamalla <b>%(transportProtocol)s</b>-asetukseksi <b>%(automatic)s</b> tai <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Aktivoi siltaustila muuttamalla **%(transportProtocol)s**-asetukseksi **
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Aktivoi siltaustila palaamalla takaisin ja muuttamalla **%(tunnelProtocol)s**-asetukseksi **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Aktivoi siltaustila palaamalla takaisin ja muuttamalla <b>%(tunnelProtocol)s</b>-asetukseksi <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Aktivoi UDP muuttamalla **Siltaustila**-asetukseksi **Automaattinen** tai **Pois**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Aktivoi UDP muuttamalla <b>Siltaustila</b>-asetukseksi <b>Automaattinen</b> tai <b>Pois</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Käynnistä"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Ei tuloksia haulle **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Ei tuloksia haulle <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Estä seurantapalvelimet"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Poista **%(customDnsFeatureName)s** käytöstä (lisäasetuksista) aktivoidaksesi nämä asetukset."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/fr/messages.po b/gui/locales/fr/messages.po
index f7c5f0c845..845abadccb 100644
--- a/gui/locales/fr/messages.po
+++ b/gui/locales/fr/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Sortante"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Voulez-vous vraiment déconnecter **%(deviceName)s** ?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Voulez-vous vraiment déconnecter <b>%(deviceName)s</b> ?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Connexion au service système Mullvad..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** est activé. Désactivez-le pour débloquer votre connexion."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> est activé. Désactivez-le pour débloquer votre connexion."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Définir la valeur MSS %(openvpn)s. Plage valide : %(min)d - %(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Changez le paramètre **%(transportProtocol)s** sur **%(automatic)s** ou **%(tcp)s** pour activer le mode Pont."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Changez le paramètre <b>%(transportProtocol)s</b> sur <b>%(automatic)s</b> ou <b>%(tcp)s</b> pour activer le mode Pont."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Changez le paramètre **%(transportProtocol)s** sur **%(automatic)s** ou
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Revenez en arrière et changez le paramètre **%(tunnelProtocol)s** sur **%(openvpn)s** pour activer le mode Pont."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Revenez en arrière et changez le paramètre <b>%(tunnelProtocol)s</b> sur <b>%(openvpn)s</b> pour activer le mode Pont."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Changez le paramètre **Mode Pont** de **Automatique** à *Off** pour activer UDP."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Changez le paramètre <b>Mode Pont</b> de <b>Automatique</b> à <b>Off</b> pour activer UDP."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Lancer"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Aucun résultat pour **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Aucun résultat pour <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Bloquer les trackers"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Désactivez **%(customDnsFeatureName)s** (sous Paramètres avancés) pour activer ces paramètres."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/it/messages.po b/gui/locales/it/messages.po
index 637a956d02..424007389b 100644
--- a/gui/locales/it/messages.po
+++ b/gui/locales/it/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Invio"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Vuoi davvero disconnettere **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Vuoi davvero disconnettere <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Connessione al servizio del sistema Mullvad..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** abilitata. Disabilitala per sbloccare la tua connessione."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> abilitata. Disabilitala per sbloccare la tua connessione."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Imposta il valore MSS di %(openvpn)s. Intervallo valido: %(min)d - %(max
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Per attivare la modalità Bridge, cambia **%(transportProtocol)s** in **%(automatic)s** o **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Per attivare la modalità Bridge, cambia <b>%(transportProtocol)s</b> in <b>%(automatic)s</b> o <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Per attivare la modalità Bridge, cambia **%(transportProtocol)s** in **
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Per attivare la modalità Bridge, torna indietro e cambia **%(tunnelProtocol)s** in **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Per attivare la modalità Bridge, torna indietro e cambia <b>%(tunnelProtocol)s</b> in <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Per attivare UDP, cambia **Modalità Bridge** in **Automatico** o **Off**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Per attivare UDP, cambia <b>Modalità Bridge</b> in <b>Automatico</b> o <b>Off</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Avvia"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Nessun risultato per **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Nessun risultato per <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Blocca tracker"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Disabilita **%(customDnsFeatureName)s** (in Impostazioni avanzate) per attivare queste impostazioni."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/ja/messages.po b/gui/locales/ja/messages.po
index 801dfefa2e..86c750e019 100644
--- a/gui/locales/ja/messages.po
+++ b/gui/locales/ja/messages.po
@@ -427,12 +427,12 @@ msgid "Out"
msgstr "外側"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "本当に**%(deviceName)s**をログアウトしますか?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "本当に<b>%(deviceName)s</b>をログアウトしますか?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -605,8 +605,8 @@ msgstr "Mullvad システムサービスに接続中..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s**が有効になっています。接続のブロックを解除するには無効にしてください。"
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b>が有効になっています。接続のブロックを解除するには無効にしてください。"
msgctxt "login-view"
msgid "Account created"
@@ -875,8 +875,8 @@ msgstr "%(openvpn)s MSSの値を設定します。有効範囲: %(min)d ~ %(ma
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "ブリッジモードを有効にするには、**%(transportProtocol)s**を**%(automatic)s**または**%(tcp)s**に変更してください。"
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "ブリッジモードを有効にするには、<b>%(transportProtocol)s</b>を<b>%(automatic)s</b>または<b>%(tcp)s</b>に変更してください。"
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -884,14 +884,14 @@ msgstr "ブリッジモードを有効にするには、**%(transportProtocol)s*
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "ブリッジモードを有効にするには、戻ってから**%(tunnelProtocol)s**を**%(openvpn)s**に変更してください。"
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "ブリッジモードを有効にするには、戻ってから<b>%(tunnelProtocol)s</b>を<b>%(openvpn)s</b>に変更してください。"
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "UDPを有効にするには、**ブリッジモード**を**自動**または**オフ**に変更してください。"
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "UDPを有効にするには、<b>ブリッジモード</b>を<b>自動</b>または<b>オフ</b>に変更してください。"
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1070,8 +1070,8 @@ msgid "Launch"
msgstr "起動する"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "**%(searchTerm)s**に該当する検索結果はありません。"
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "<b>%(searchTerm)s</b>に該当する検索結果はありません。"
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1326,18 +1326,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "トラッカーのブロック"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "これらの設定を有効にするには、(詳細設定で) **%(customDnsFeatureName)s** を無効にしてください。"
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/ko/messages.po b/gui/locales/ko/messages.po
index dc534915bf..376c7e7a76 100644
--- a/gui/locales/ko/messages.po
+++ b/gui/locales/ko/messages.po
@@ -427,12 +427,12 @@ msgid "Out"
msgstr "아웃"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "**%(deviceName)s**을(를) 로그아웃하시겠습니까?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "<b>%(deviceName)s</b>을(를) 로그아웃하시겠습니까?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -605,8 +605,8 @@ msgstr "Mullvad 시스템 서비스에 연결하는 중..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s**이(가) 활성화되었습니다. 연결을 차단 해제하려면 이 옵션을 비활성화하세요."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b>이(가) 활성화되었습니다. 연결을 차단 해제하려면 이 옵션을 비활성화하세요."
msgctxt "login-view"
msgid "Account created"
@@ -875,8 +875,8 @@ msgstr "%(openvpn)s MSS 값을 설정하세요. 유효 범위: %(min)d ~ %(max)d
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "브리지 모드를 활성화하려면 **%(transportProtocol)s**을(를) **%(automatic)s** 또는 **%(tcp)s**(으)로 변경합니다."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "브리지 모드를 활성화하려면 <b>%(transportProtocol)s</b>을(를) <b>%(automatic)s</b> 또는 <b>%(tcp)s</b>(으)로 변경합니다."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -884,14 +884,8 @@ msgstr "브리지 모드를 활성화하려면 **%(transportProtocol)s**을(를)
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "브리지 모드를 활성화하려면 되돌아가서 **%(tunnelProtocol)s**을(를) **%(openvpn)s**(으)로 변경합니다."
-
-#. This is used to instruct users how to make UDP mode
-#. available.
-msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "UDP를 활성화하려면 **브릿지 모드**를 **자동* 또는 **끄기**로 변경합니다."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "브리지 모드를 활성화하려면 되돌아가서 <b>%(tunnelProtocol)s</b>을(를) <b>%(openvpn)s</b>(으)로 변경합니다."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1070,8 +1064,8 @@ msgid "Launch"
msgstr "실행"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "**%(searchTerm)s**에 대한 결과가 없습니다."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "<b>%(searchTerm)s</b>에 대한 결과가 없습니다."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1326,18 +1320,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "블록 추적기"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "이러한 설정을 활성화하려면 **%(customDnsFeatureName)s**(고급 설정 아래)을(를) 비활성화하세요."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/messages.pot b/gui/locales/messages.pot
index 48aeb6b4c4..c5f1b073b4 100644
--- a/gui/locales/messages.pot
+++ b/gui/locales/messages.pot
@@ -431,11 +431,11 @@ msgid "Out"
msgstr ""
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
msgstr ""
#. Button for continuing login process.
@@ -609,7 +609,7 @@ msgstr ""
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
msgstr ""
msgctxt "login-view"
@@ -879,7 +879,7 @@ msgstr ""
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
msgstr ""
#. This is used to instruct users how to make the bridge mode setting
@@ -888,13 +888,13 @@ msgstr ""
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
msgstr ""
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
msgstr ""
msgctxt "openvpn-settings-view"
@@ -1074,7 +1074,7 @@ msgid "Launch"
msgstr ""
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
msgstr ""
#. This error message is shown if the user tries to launch a Linux desktop
@@ -1331,17 +1331,15 @@ msgid "Block trackers"
msgstr ""
#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
+#. ads/trackers settings disabled. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
+msgid "Disable <b>%(customDnsFeatureName)s</b> below to activate these settings."
msgstr ""
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
@@ -1551,9 +1549,6 @@ msgstr ""
msgid "All applications"
msgstr ""
-msgid "Are you sure you want to log out of <b>%s</b>?"
-msgstr ""
-
msgid "Blocking all connections"
msgstr ""
diff --git a/gui/locales/my/messages.po b/gui/locales/my/messages.po
index dd3d45fda2..e3de3f98a2 100644
--- a/gui/locales/my/messages.po
+++ b/gui/locales/my/messages.po
@@ -426,14 +426,6 @@ msgctxt "connection-info"
msgid "Out"
msgstr "အထွက်"
-#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
-#. Available placeholders:
-#. %(deviceName)s - The name of the device to log out.
-msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "**%(deviceName)s** အား စနစ်မှ တကယ် ထွက်စေချင်ပါသလား။"
-
#. Button for continuing login process.
msgctxt "device-management"
msgid "Continue with login"
@@ -600,14 +592,6 @@ msgctxt "launch-view"
msgid "Connecting to Mullvad system service..."
msgstr "Mullvad စနစ် ဝန်ဆောင်မှုနှင့် ချိတ်ဆက်နေဆဲ..."
-#. This is a warning message shown when the app is blocking the users
-#. internet connection while logged out.
-#. Available placeholder:
-#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
-msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** ကို ဖွင့်ထားပါသည်။ သင်၏ ချိတ်ဆို့မှုကို ပိတ်ဆို့ထားသည်မှ ပြန်ဖွင့်ရန် ၎င်းကို ပိတ်ပါ။"
-
msgctxt "login-view"
msgid "Account created"
msgstr "အကောင့် ဖန်တီးပြီး"
@@ -868,31 +852,6 @@ msgctxt "openvpn-settings-view"
msgid "Set %(openvpn)s MSS value. Valid range: %(min)d - %(max)d."
msgstr "%(openvpn)s MSS တန်ဖိုးကို သတ်မှတ်ပါ။ အကျုံးဝင်သည့် အပိုင်းအခြား- %(min)d - %(max)d။"
-#. This is used to instruct users how to make the bridge mode setting
-#. available.
-#. Available placeholders:
-#. %(transportProtocol)s - the name of the transport protocol setting
-#. %(automat)s - the translation of "Automatic"
-#. %(openvpn)s - will be replaced with OpenVPN
-msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "ပေါင်းကူးမုဒ်ကို သက်ဝင်လုပ်ဆောင်ရန် **%(transportProtocol)s** ကို **%(automatic)s** သို့မဟုတ် **%(tcp)s** သို့ ပြောင်းပါ။"
-
-#. This is used to instruct users how to make the bridge mode setting
-#. available.
-#. Available placeholders:
-#. %(tunnelProtocol)s - the name of the tunnel protocol setting
-#. %(openvpn)s - will be replaced with OpenVPN
-msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "ပေါင်းကူးမုဒ်ကို သက်ဝင်လုပ်ဆောင်ရန် နောက်သို့ ပြန်သွားပြီး **%(tunnelProtocol)s** ကို **%(openvpn)s** သို့ ပြောင်းပါ။"
-
-#. This is used to instruct users how to make UDP mode
-#. available.
-msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "UDP ကို သက်ဝင်အောင်လုပ်ဆောင်ရန် **ပေါင်းကူး မုဒ်** ကို *အော်တိုမက်တစ်** သို့မဟုတ် **ပိတ်** သို့ ပြောင်းပါ။"
-
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
msgstr "ပို့ဆောင်မှု ပရိုတိုကော"
@@ -1069,10 +1028,6 @@ msgctxt "split-tunneling-view"
msgid "Launch"
msgstr "စတင်ဆောင်ရွက်ရန်"
-msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "**%(searchTerm)s** အတွက် ရလဒ်မရှိပါ။"
-
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
msgctxt "split-tunneling-view"
@@ -1326,18 +1281,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "ခြေရာခံမှုများကို ပိတ်ဆို့ရန်"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "ဤဆက်တင်များကို သက်ဝင်အောင် လုပ်ဆောင်ရန် **%(customDnsFeatureName)s** ကို (အဆင့်မြင့် ဆက်တင်အောက်တွင်) ပိတ်ပါ။"
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/nb/messages.po b/gui/locales/nb/messages.po
index 5662fa6edf..8a344f183f 100644
--- a/gui/locales/nb/messages.po
+++ b/gui/locales/nb/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Utgående"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Vil du virkelig logge av **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Vil du virkelig logge av <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Kobler til Mullvads systemtjeneste ..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** er aktivert. Deaktiver den for å fjerne blokkeringen av tilkoblingen."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> er aktivert. Deaktiver den for å fjerne blokkeringen av tilkoblingen."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Angi %(openvpn)s MSS-verdi. Verdiområde: %(min)d-%(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "For å aktivere bromodus, endre **%(transportProtocol)s** til **%(automatic)s** eller **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "For å aktivere bromodus, endre <b>%(transportProtocol)s</b> til <b>%(automatic)s</b> eller <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "For å aktivere bromodus, endre **%(transportProtocol)s** til **%(automa
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "For å aktivere bromodus, gå tilbake og endre **%(tunnelProtocol)s** til **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "For å aktivere bromodus, gå tilbake og endre <b>%(tunnelProtocol)s</b> til <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "For å aktivere UDP, endre **Bromodus** til **Automatisk** eller **Av**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "For å aktivere UDP, endre <b>Bromodus</b> til <b>Automatisk</b> eller <b>Av</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Start"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Ingen resultater for **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Ingen resultater for <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Blokker sporere"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Deaktiver **%(customDnsFeatureName)s** (under Avanserte innstillinger) for å aktivere disse innstillingene."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/nl/messages.po b/gui/locales/nl/messages.po
index a7f72de486..11d43cdd56 100644
--- a/gui/locales/nl/messages.po
+++ b/gui/locales/nl/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Uit"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Weet u zeker dat u **%(deviceName)s** wilt afmelden?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Weet u zeker dat u <b>%(deviceName)s</b> wilt afmelden?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Verbinden met Mullvad-systeemdienst..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** is ingeschakeld. Schakel het uit om uw verbinding te deblokkeren."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> is ingeschakeld. Schakel het uit om uw verbinding te deblokkeren."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Stel de MSS-waarde voor %(openvpn)s in. Geldig bereik: %(min)d - %(max)d
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Om de Bridge-modus te activeren wijzigt u **%(transportProtocol)s** in **%(automatic)s** of **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Om de Bridge-modus te activeren wijzigt u <b>%(transportProtocol)s</b> in <b>%(automatic)s</b> of <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Om de Bridge-modus te activeren wijzigt u **%(transportProtocol)s** in *
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Om de Bridge-modus te activeren, moet u teruggaan en **%(tunnelProtocol)s** wijzigen in **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Om de Bridge-modus te activeren, moet u teruggaan en <b>%(tunnelProtocol)s</b> wijzigen in <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Om UDP te activeren, moet u **Bridge-modus** wijzigen naar **Automatisch** of **Uit**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Om UDP te activeren, moet u <b>Bridge-modus</b> wijzigen naar <b>Automatisch</b> of <b>Uit</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Starten"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Geen resultaten voor **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Geen resultaten voor <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Trackers blokkeren"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Schakel **%(customDnsFeatureName)s** uit (onder Geavanceerde instellingen) om deze instellingen te activeren."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/pl/messages.po b/gui/locales/pl/messages.po
index 0a5033788b..bac7e34c38 100644
--- a/gui/locales/pl/messages.po
+++ b/gui/locales/pl/messages.po
@@ -460,12 +460,12 @@ msgid "Out"
msgstr "Wyjście"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Czy na pewno chcesz wylogować **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Czy na pewno chcesz wylogować <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -638,8 +638,8 @@ msgstr "Łączenie z usługą systemową Mullvad..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "Opcja **%(lockdownModeSettingName)s** jest włączona. Aby odblokować połączenie, wyłącz ją."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "Opcja <b>%(lockdownModeSettingName)s</b> jest włączona. Aby odblokować połączenie, wyłącz ją."
msgctxt "login-view"
msgid "Account created"
@@ -908,8 +908,8 @@ msgstr "Ustaw wartość MSS %(openvpn)s. Prawidłowy zakres: %(min)d - %(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Aby aktywować tryb mostu, zmień **%(transportProtocol)s** na **%(automatic)s** lub **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Aby aktywować tryb mostu, zmień <b>%(transportProtocol)s</b> na <b>%(automatic)s</b> lub <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -917,14 +917,14 @@ msgstr "Aby aktywować tryb mostu, zmień **%(transportProtocol)s** na **%(autom
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Aby aktywować tryb mostu, wróć i zmień **%(tunnelProtocol)s** na **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Aby aktywować tryb mostu, wróć i zmień <b>%(tunnelProtocol)s</b> na <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Aby aktywować UDP, zmień **Tryb mostu** na **Automatyczny** lub **Wył.**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Aby aktywować UDP, zmień <b>Tryb mostu</b> na <b>Automatyczny</b> lub <b>Wył.</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1103,8 +1103,8 @@ msgid "Launch"
msgstr "Uruchom"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Brak wyników dla **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Brak wyników dla <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1359,18 +1359,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Blokuj trackery"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Aby aktywować te ustawienia, wyłącz **%(customDnsFeatureName)s** (w Ustawieniach zaawansowanych)."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/pt/messages.po b/gui/locales/pt/messages.po
index 816b8a0d81..753d8d2a18 100644
--- a/gui/locales/pt/messages.po
+++ b/gui/locales/pt/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Saída"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Tem a certeza de que quer terminar a sessão de **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Tem a certeza de que quer terminar a sessão de <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "A ligar-se ao serviço de sistema Mulvad..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "%(lockdownModeSettingName)s está ativado. Desative para desbloquear a sua ligação."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> está ativado. Desative para desbloquear a sua ligação."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Definir o valor MSS %(openvpn)s. Intervalo válido: %(min)d - %(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Para ativar o modo Ponte, altere o **%(transportProtocol)s** para **%(automatic)s** ou **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Para ativar o modo Ponte, altere o <b>%(transportProtocol)s</b> para <b>%(automatic)s</b> ou <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Para ativar o modo Ponte, altere o **%(transportProtocol)s** para **%(au
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Para ativar o modo Ponte, retroceda e altere o **%(tunnelProtocol)s** para **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Para ativar o modo Ponte, retroceda e altere o <b>%(tunnelProtocol)s</b> para <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Para ativar o UDP, altere o **Modo ponte** para **Automático** ou **Desligado**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Para ativar o UDP, altere o <b>Modo ponte</b> para <b>Automático</b> ou <b>Desligado</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Lançar"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Sem resultados para **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Sem resultados para <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Bloquear trackers"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Desativar **%(customDnsFeatureName)s** (em Definições Avançadas) para ativar estas definições."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/ru/messages.po b/gui/locales/ru/messages.po
index e82858b8f6..b1c6f1d694 100644
--- a/gui/locales/ru/messages.po
+++ b/gui/locales/ru/messages.po
@@ -460,12 +460,12 @@ msgid "Out"
msgstr "Выход"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Действительно выйти из профиля на устройстве **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Действительно выйти из профиля на устройстве <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -638,8 +638,8 @@ msgstr "Подключение к системному сервису Mullvad...
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "Включена опция **%(lockdownModeSettingName)s**. Отключите ее, чтобы разблокировать соединение."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "Включена опция <b>%(lockdownModeSettingName)s</b>. Отключите ее, чтобы разблокировать соединение."
msgctxt "login-view"
msgid "Account created"
@@ -908,8 +908,8 @@ msgstr "Установите значение MSS для %(openvpn)s. Диапа
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Чтобы активировать режим моста, измените **%(transportProtocol)s** на **%(automatic)s** или **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Чтобы активировать режим моста, измените <b>%(transportProtocol)s</b> на <b>%(automatic)s</b> или <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -917,14 +917,14 @@ msgstr "Чтобы активировать режим моста, измени
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Чтобы активировать режим моста, вернитесь и измените **%(tunnelProtocol)s** на **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Чтобы активировать режим моста, вернитесь и измените <b>%(tunnelProtocol)s</b> на <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "Чтобы активировать UDP, измените **Режим моста** на **Автоматически** или **Выключен**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "Чтобы активировать UDP, измените <b>Режим моста</b> на <b>Автоматически</b> или <b>Выключен</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1103,8 +1103,8 @@ msgid "Launch"
msgstr "Запустить"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "По запросу **%(searchTerm)s** ничего не найдено."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "По запросу <b>%(searchTerm)s</b> ничего не найдено."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1359,18 +1359,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Блокировать трекеры"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Чтобы активировать эти параметры, отключите опцию **%(customDnsFeatureName)s** (в дополнительных настройках)."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/sv/messages.po b/gui/locales/sv/messages.po
index f4206808b0..453f242ac6 100644
--- a/gui/locales/sv/messages.po
+++ b/gui/locales/sv/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Ut"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "Vill du verkligen logga ut **%(deviceName)s**?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "Vill du verkligen logga ut <b>%(deviceName)s</b>?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Ansluter till Mullvads systemtjänst..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** är aktiverat. Inaktivera för att sluta blockera din anslutning."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> är aktiverat. Inaktivera för att sluta blockera din anslutning."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "Ange värde för %(openvpn)s MSS. Giltigt intervall: %(min)d–%(max)d."
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "För att aktivera Bryggläge ska du ändra **%(transportProtocol)s** till **%(automatic)s** eller **%(tcp)s**."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "För att aktivera Bryggläge ska du ändra <b>%(transportProtocol)s</b> till <b>%(automatic)s</b> eller <b>%(tcp)s</b>."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "För att aktivera Bryggläge ska du ändra **%(transportProtocol)s** til
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "För att aktivera Bryggläge ska du gå tillbaka och ändra **%(tunnelProtocol)s** till **%(openvpn)s**."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "För att aktivera Bryggläge ska du gå tillbaka och ändra <b>%(tunnelProtocol)s</b> till <b>%(openvpn)s</b>."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "För att aktivera UDP ska du ändra **Bryggläge** till **Automatisk** eller **Av**."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "För att aktivera UDP ska du ändra <b>Bryggläge</b> till <b>Automatisk</b> eller <b>Av</b>."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Starta"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "Inga resultat för **%(searchTerm)s**."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "Inga resultat för <b>%(searchTerm)s</b>."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "Blockera spårare"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Inaktivera **%(customDnsFeatureName)s** (under Avancerade inställningar) för att aktivera dessa inställningar."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/th/messages.po b/gui/locales/th/messages.po
index 0e9f22987a..f470d76a5a 100644
--- a/gui/locales/th/messages.po
+++ b/gui/locales/th/messages.po
@@ -427,12 +427,12 @@ msgid "Out"
msgstr "ออก"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบบน **%(deviceName)s**"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบบน <b>%(deviceName)s</b>"
#. Button for continuing login process.
msgctxt "device-management"
@@ -605,8 +605,8 @@ msgstr "กำลังเชื่อมต่อบริการของร
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** ได้เปิดใช้งานแล้ว ปิดใช้งานเพื่อปลดบล็อกการเชื่อมต่อของคุณ"
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> ได้เปิดใช้งานแล้ว ปิดใช้งานเพื่อปลดบล็อกการเชื่อมต่อของคุณ"
msgctxt "login-view"
msgid "Account created"
@@ -875,8 +875,8 @@ msgstr "ตั้งค่า %(openvpn)s MSS ช่วงที่ใช้ไ
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "ในการเปิดใช้โหมด บริดจ์ ให้เปลี่ยน **%(transportProtocol)s** เป็น **%(automatic)s** หรือ **%(tcp)s**"
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "ในการเปิดใช้โหมด บริดจ์ ให้เปลี่ยน <b>%(transportProtocol)s</b> เป็น <b>%(automatic)s</b> หรือ <b>%(tcp)s</b>"
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -884,14 +884,14 @@ msgstr "ในการเปิดใช้โหมด บริดจ์ ใ
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "ในการเปิดใช้โหมด บริดจ์ ให้กลับไปและเปลี่ยน **%(tunnelProtocol)s** เป็น **%(openvpn)s**"
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "ในการเปิดใช้โหมด บริดจ์ ให้กลับไปและเปลี่ยน <b>%(tunnelProtocol)s</b> เป็น <b>%(openvpn)s</b>"
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "ในการเปิดใช้งาน UDP ให้เปลี่ยน **โหมด Bridge** เป็น **อัตโนมัติ** หรือ **ปิด**"
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "ในการเปิดใช้งาน UDP ให้เปลี่ยน <b>โหมด Bridge</b> เป็น <b>อัตโนมัติ</b> หรือ <b>ปิด</b>"
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1070,8 +1070,8 @@ msgid "Launch"
msgstr "เปิด"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "ไม่มีผลลัพธ์สำหรับ **%(searchTerm)s**"
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "ไม่มีผลลัพธ์สำหรับ <b>%(searchTerm)s</b>"
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1326,18 +1326,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "บล็อกตัวติดตาม"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "ปิดใช้งาน **%(customDnsFeatureName)s** (ภายใต้การตั้งค่าขั้นสูง) เพื่อเปิดใช้งานการตั้งค่าเหล่านี้"
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/tr/messages.po b/gui/locales/tr/messages.po
index 8ad729d6a4..ec87f255ec 100644
--- a/gui/locales/tr/messages.po
+++ b/gui/locales/tr/messages.po
@@ -438,12 +438,12 @@ msgid "Out"
msgstr "Çıkış"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "**%(deviceName)s** adlı cihazın oturumunu kapatmak istediğinizden emin misiniz?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "<b>%(deviceName)s</b> adlı cihazın oturumunu kapatmak istediğinizden emin misiniz?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -616,8 +616,8 @@ msgstr "Mullvad sistem hizmetlerine bağlanılıyor..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** etkinleştirildi. Bağlantınızın engelini kaldırmak için bu seçeneği devre dışı bırakın."
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> etkinleştirildi. Bağlantınızın engelini kaldırmak için bu seçeneği devre dışı bırakın."
msgctxt "login-view"
msgid "Account created"
@@ -886,8 +886,8 @@ msgstr "%(openvpn)s MSS değerini ayarlayın. Geçerli aralık: %(min)d - %(max)
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "Köprü modunu etkinleştirmek için **%(transportProtocol)s** seçeneğini **%(automatic)s** veya **%(tcp)s** olarak değiştirin."
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "Köprü modunu etkinleştirmek için <b>%(transportProtocol)s</b> seçeneğini <b>%(automatic)s</b> veya <b>%(tcp)s</b> olarak değiştirin."
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -895,14 +895,14 @@ msgstr "Köprü modunu etkinleştirmek için **%(transportProtocol)s** seçeneğ
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "Köprü modunu etkinleştirmek için geri dönün ve **%(tunnelProtocol)s** seçeneğini **%(openvpn)s** olarak değiştirin."
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "Köprü modunu etkinleştirmek için geri dönün ve <b>%(tunnelProtocol)s</b> seçeneğini <b>%(openvpn)s</b> olarak değiştirin."
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "UDP'yi etkinleştirmek için **Köprü modu**'nu **Otomatik** veya **Kapalı** olarak değiştirin."
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "UDP'yi etkinleştirmek için <b>Köprü modu</b>'nu <b>Otomatik</b> veya <b>Kapalı</b> olarak değiştirin."
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1081,8 +1081,8 @@ msgid "Launch"
msgstr "Başlat"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "**%(searchTerm)s** için sonuç yok."
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "<b>%(searchTerm)s</b> için sonuç yok."
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1337,18 +1337,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "İzleyicileri engelle"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "Bu ayarları etkinleştirmek için **%(customDnsFeatureName)s** seçeneğini (Gelişmiş Ayarlar altından) devre dışı bırakın."
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/zh-CN/messages.po b/gui/locales/zh-CN/messages.po
index 770acdc95d..9c0b020894 100644
--- a/gui/locales/zh-CN/messages.po
+++ b/gui/locales/zh-CN/messages.po
@@ -427,12 +427,12 @@ msgid "Out"
msgstr "外部"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "确定要退出**%(deviceName)s**吗?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "确定要退出<b>%(deviceName)s</b>吗?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -605,8 +605,8 @@ msgstr "正在连接到 Mullvad 系统服务…"
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s**已启用。将其禁用以解除阻止您的连接。"
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b>已启用。将其禁用以解除阻止您的连接。"
msgctxt "login-view"
msgid "Account created"
@@ -875,8 +875,8 @@ msgstr "设置 %(openvpn)s MSS 值。值范围:%(min)d - %(max)d。"
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "要激活桥接模式,请将**%(transportProtocol)s**更改为**%(automatic)s**或 **%(tcp)s**。"
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "要激活桥接模式,请将<b>%(transportProtocol)s</b>更改为<b>%(automatic)s</b>或 <b>%(tcp)s</b>。"
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -884,14 +884,14 @@ msgstr "要激活桥接模式,请将**%(transportProtocol)s**更改为**%(auto
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "要激活桥接模式,请返回并将**%(tunnelProtocol)s**更改为 **%(openvpn)s**。"
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "要激活桥接模式,请返回并将<b>%(tunnelProtocol)s</b>更改为 <b>%(openvpn)s</b>。"
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "要激活 UDP,请将**桥接模式**更改为**自动**或**关**。"
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "要激活 UDP,请将<b>桥接模式</b>更改为<b>自动</b>或<b>关</b>。"
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1070,8 +1070,8 @@ msgid "Launch"
msgstr "启动"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "**%(searchTerm)s**没有任何结果。"
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "<b>%(searchTerm)s</b>没有任何结果。"
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1326,18 +1326,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "屏蔽跟踪广告代码"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "禁用**%(customDnsFeatureName)s**(在“高级”设置下)以激活这些设置。"
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/locales/zh-TW/messages.po b/gui/locales/zh-TW/messages.po
index c8d74f1364..8f727bf193 100644
--- a/gui/locales/zh-TW/messages.po
+++ b/gui/locales/zh-TW/messages.po
@@ -427,12 +427,12 @@ msgid "Out"
msgstr "出境"
#. Text displayed above button which logs out another device.
-#. The text enclosed in "**" will appear bold.
+#. The text enclosed in "<b></b>" will appear bold.
#. Available placeholders:
#. %(deviceName)s - The name of the device to log out.
msgctxt "device-management"
-msgid "Are you sure you want to log **%(deviceName)s** out?"
-msgstr "確定要將 **%(deviceName)s** 登出嗎?"
+msgid "Are you sure you want to log <b>%(deviceName)s</b> out?"
+msgstr "確定要將 <b>%(deviceName)s</b> 登出嗎?"
#. Button for continuing login process.
msgctxt "device-management"
@@ -605,8 +605,8 @@ msgstr "連線 Mullvad 系統服務中..."
#. Available placeholder:
#. %(lockdownModeSettingName)s - The translation of "Lockdown mode"
msgctxt "login-view"
-msgid "**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection."
-msgstr "**%(lockdownModeSettingName)s** 已啟用。需先將其停用,才能為您的連線解除封鎖。"
+msgid "<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection."
+msgstr "<b>%(lockdownModeSettingName)s</b> 已啟用。需先將其停用,才能為您的連線解除封鎖。"
msgctxt "login-view"
msgid "Account created"
@@ -875,8 +875,8 @@ msgstr "設定 %(openvpn)s MSS 值。有效範圍:%(min)d - %(max)d。"
#. %(automat)s - the translation of "Automatic"
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**."
-msgstr "若要啟動橋接模式,請將 **%(transportProtocol)s** 變更為 **%(automatic)s** 或 **%(tcp)s**。"
+msgid "To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>."
+msgstr "若要啟動橋接模式,請將 <b>%(transportProtocol)s</b> 變更為 <b>%(automatic)s</b> 或 <b>%(tcp)s</b>。"
#. This is used to instruct users how to make the bridge mode setting
#. available.
@@ -884,14 +884,14 @@ msgstr "若要啟動橋接模式,請將 **%(transportProtocol)s** 變更為 **
#. %(tunnelProtocol)s - the name of the tunnel protocol setting
#. %(openvpn)s - will be replaced with OpenVPN
msgctxt "openvpn-settings-view"
-msgid "To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**."
-msgstr "若要啟動橋接模式,請返回並將 **%(tunnelProtocol)s** 變更為 **%(openvpn)s**。"
+msgid "To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>."
+msgstr "若要啟動橋接模式,請返回並將 <b>%(tunnelProtocol)s</b> 變更為 <b>%(openvpn)s</b>。"
#. This is used to instruct users how to make UDP mode
#. available.
msgctxt "openvpn-settings-view"
-msgid "To activate UDP, change **Bridge mode** to **Automatic** or **Off**."
-msgstr "若要啟動 UDP,請將**橋接模式**變更為**自動**或**關**。"
+msgid "To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>."
+msgstr "若要啟動 UDP,請將<b>橋接模式</b>變更為<b>自動</b>或<b>關</b>。"
msgctxt "openvpn-settings-view"
msgid "Transport protocol"
@@ -1070,8 +1070,8 @@ msgid "Launch"
msgstr "啟動"
msgctxt "split-tunneling-view"
-msgid "No result for **%(searchTerm)s**."
-msgstr "**%(searchTerm)s** 沒有任何結果。"
+msgid "No result for <b>%(searchTerm)s</b>."
+msgstr "<b>%(searchTerm)s</b> 沒有任何結果。"
#. This error message is shown if the user tries to launch a Linux desktop
#. entry file that doesn't contain the required 'Exec' value.
@@ -1326,18 +1326,8 @@ msgctxt "vpn-settings-view"
msgid "Block trackers"
msgstr "封鎖追蹤者"
-#. This is displayed when the custom DNS setting is turned on which makes the block
-#. ads/trackers settings disabled. The text enclosed in "**" will appear bold.
-#. Advanced settings refer to the name of the page with the title "Advanced".
-#. Available placeholders:
-#. %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
-msgctxt "vpn-settings-view"
-msgid "Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings."
-msgstr "停用 **%(customDnsFeatureName)s** (在「進階」設定中),以啟用這些設定。"
-
#. This is displayed when either or both of the block ads/trackers settings are
-#. turned on which makes the custom DNS setting disabled. The text enclosed in "**"
-#. will appear bold.
+#. turned on which makes the custom DNS setting disabled.
#. Available placeholders:
#. %(preferencesPageName)s - The page title showed on top in the preferences page.
msgctxt "vpn-settings-view"
diff --git a/gui/scripts/verify-format-specifiers.ts b/gui/scripts/verify-format-specifiers.ts
deleted file mode 100644
index 2d161548d5..0000000000
--- a/gui/scripts/verify-format-specifiers.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import fs from 'fs';
-import { GetTextTranslation, po } from 'gettext-parser';
-import path from 'path';
-
-const LOCALES_DIR = path.join('..', 'locales');
-
-function getLocales(): string[] {
- const localesContent = fs.readdirSync(LOCALES_DIR);
- const localeDirectories = localesContent.filter((item) =>
- fs.statSync(path.join(LOCALES_DIR, item)).isDirectory(),
- );
- return localeDirectories;
-}
-
-function parseTranslationsForLocale(locale: string): GetTextTranslation[] {
- const poFileContents = fs.readFileSync(path.join(LOCALES_DIR, locale, 'messages.po'));
- const contexts = po.parse(poFileContents).translations;
-
- const translations = Object.values(contexts)
- .flatMap((context) => Object.values(context))
- .filter((translation) => translation.msgid !== '');
-
- return translations;
-}
-
-function getFormatSpecifiers(text: string): string[] {
- // Matches both %(name)s and %s.
- return text.match(/%(\(.*?\))?[a-z]/g) ?? [];
-}
-
-function formatSpecifiersEquals(source: string[], translation: string[]): boolean {
- const sortedTranslation = translation.sort();
- return (
- source.length === translation.length &&
- source.sort().every((value, index) => value === sortedTranslation[index])
- );
-}
-
-function checkTranslationImpl(msgid: string, msgstr: string): boolean {
- const sourceFormatSpecifiers = getFormatSpecifiers(msgid);
- const translationFormatSpecifiers = getFormatSpecifiers(msgstr);
- return formatSpecifiersEquals(sourceFormatSpecifiers, translationFormatSpecifiers);
-}
-
-function checkTranslation(translation: GetTextTranslation): boolean {
- return translation.msgstr
- .map((msgstr) => {
- // Make sure that the translation matches either the singular or plural.
- const equal =
- checkTranslationImpl(translation.msgid, msgstr) ||
- (translation.msgid_plural && checkTranslationImpl(translation.msgid_plural, msgstr));
-
- if (!equal) {
- console.error(`Error in "${translation.msgid}", "${msgstr}"`);
- }
-
- return equal;
- })
- .every((result) => result);
-}
-
-const isCorrect = getLocales()
- .map(parseTranslationsForLocale)
- // Map first to output all errors
- .map((translations) => translations.every(checkTranslation))
- .every((result) => result);
-
-if (isCorrect) {
- console.log('Looks good!');
-} else {
- console.error('See above errors');
- process.exit(1);
-}
diff --git a/gui/scripts/verify-translations-format.ts b/gui/scripts/verify-translations-format.ts
new file mode 100644
index 0000000000..2ed927feaa
--- /dev/null
+++ b/gui/scripts/verify-translations-format.ts
@@ -0,0 +1,130 @@
+import fs from 'fs';
+import { GetTextTranslation, po } from 'gettext-parser';
+import path from 'path';
+
+const LOCALES_DIR = path.join('..', 'locales');
+
+const ALLOWED_TAGS = ['b'];
+
+function getLocales(): string[] {
+ const localesContent = fs.readdirSync(LOCALES_DIR);
+ const localeDirectories = localesContent.filter((item) =>
+ fs.statSync(path.join(LOCALES_DIR, item)).isDirectory(),
+ );
+ return localeDirectories;
+}
+
+function parseTranslationsForLocale(locale: string): GetTextTranslation[] {
+ const poFileContents = fs.readFileSync(path.join(LOCALES_DIR, locale, 'messages.po'));
+ const contexts = po.parse(poFileContents).translations;
+
+ const translations = Object.values(contexts)
+ .flatMap((context) => Object.values(context))
+ .filter((translation) => translation.msgid !== '');
+
+ return translations;
+}
+
+function getFormatSpecifiers(text: string): string[] {
+ // Matches both %(name)s and %s.
+ return text.match(/%(\(.*?\))?[a-z]/g) ?? [];
+}
+
+function formatSpecifiersEquals(source: string[], translation: string[]): boolean {
+ const sortedTranslation = translation.sort();
+ return (
+ source.length === translation.length &&
+ source.sort().every((value, index) => value === sortedTranslation[index])
+ );
+}
+
+function checkFormatSpecifiersImpl(msgid: string, msgstr: string): boolean {
+ const sourceFormatSpecifiers = getFormatSpecifiers(msgid);
+ const translationFormatSpecifiers = getFormatSpecifiers(msgstr);
+ return formatSpecifiersEquals(sourceFormatSpecifiers, translationFormatSpecifiers);
+}
+
+function checkFormatSpecifiers(translation: GetTextTranslation): boolean {
+ return translation.msgstr
+ .map((msgstr) => {
+ // Make sure that the translation matches either the singular or plural.
+ const equal =
+ checkFormatSpecifiersImpl(translation.msgid, msgstr) ||
+ (translation.msgid_plural && checkFormatSpecifiersImpl(translation.msgid_plural, msgstr));
+
+ if (!equal) {
+ console.error(`Error in "${translation.msgid}", "${msgstr}"`);
+ }
+
+ return equal;
+ })
+ .every((result) => result);
+}
+
+function checkHtmlTagsImpl(value: string): { correct: boolean, amount: number } {
+ const tagsRegexp = new RegExp("<.*?>", "g");
+ const tags = value.match(tagsRegexp) ?? [];
+ const tagTypes = tags.map((tag) => tag.slice(1, -1));
+
+ // Make sure tags match by pushing start-tags to a stack and matching closing tags with the last
+ // item.
+ let tagStack: string[] = [];
+ for (let tag of tagTypes) {
+ const endTag = tag.startsWith('/');
+ tag = endTag ? tag.slice(1) : tag;
+
+ if (!ALLOWED_TAGS.includes(tag)) {
+ console.error(`Tag "<${tag}>" not allowed: "${value}"`);
+ return { correct: false, amount: NaN };
+ }
+
+ if (endTag) {
+ // End tags require a matching start tag.
+ if (tag !== tagStack.pop()) {
+ console.error(`Closing non-existent start-tag (</${tag}>) in "${value}"`);
+ return { correct: false, amount: NaN };
+ }
+ } else {
+ tagStack.push(tag);
+ }
+ }
+
+ if (tagStack.length > 0) {
+ console.error(`Missing closing-tags (${tagStack}) in "${value}"`);
+ return { correct: false, amount: NaN };
+ }
+
+ return { correct: true, amount: tags.length / 2 };
+}
+
+function checkHtmlTags(translation: GetTextTranslation): boolean {
+ let { correct, amount: sourceAmount } = checkHtmlTagsImpl(translation.msgid);
+
+ let translationsCorrect = translation.msgstr.every((value) => {
+ let { correct, amount } = checkHtmlTagsImpl(value);
+ // The amount doesn't make sense if the string isn't correctly formatted.
+ if (correct && amount !== sourceAmount) {
+ console.error(`Incorrect amount of tags in translation for "${translation.msgid}": "${value}"`);
+ }
+ return correct && amount === sourceAmount;
+ });
+
+ return correct && translationsCorrect;
+}
+
+function checkTranslation(translation: GetTextTranslation): boolean {
+ return checkFormatSpecifiers(translation) && checkHtmlTags(translation);
+}
+
+const isCorrect = getLocales()
+ .map(parseTranslationsForLocale)
+ // Map first to output all errors
+ .map((translations) => translations.every(checkTranslation))
+ .every((result) => result);
+
+if (isCorrect) {
+ console.log('Looks good!');
+} else {
+ console.error('See above errors');
+ process.exit(1);
+}
diff --git a/gui/src/renderer/components/CustomDnsSettings.tsx b/gui/src/renderer/components/CustomDnsSettings.tsx
index 97a3f10818..bda3fbb864 100644
--- a/gui/src/renderer/components/CustomDnsSettings.tsx
+++ b/gui/src/renderer/components/CustomDnsSettings.tsx
@@ -288,8 +288,7 @@ export default function CustomDnsSettings() {
? messages.pgettext('vpn-settings-view', 'Enable to add at least one DNS server.')
: // This line makes sure that the next one isn't prefixed by the color.
// TRANSLATORS: This is displayed when either or both of the block ads/trackers settings are
- // TRANSLATORS: turned on which makes the custom DNS setting disabled. The text enclosed in "**"
- // TRANSLATORS: will appear bold.
+ // TRANSLATORS: turned on which makes the custom DNS setting disabled.
// TRANSLATORS: Available placeholders:
// TRANSLATORS: %(preferencesPageName)s - The page title showed on top in the preferences page.
messages.pgettext(
diff --git a/gui/src/renderer/components/Login.tsx b/gui/src/renderer/components/Login.tsx
index 6c69074a0c..b1d2a1392b 100644
--- a/gui/src/renderer/components/Login.tsx
+++ b/gui/src/renderer/components/Login.tsx
@@ -6,7 +6,7 @@ import { AccountToken } from '../../shared/daemon-rpc-types';
import { messages } from '../../shared/gettext';
import { useAppContext } from '../context';
import { formatAccountToken } from '../lib/account';
-import { formatMarkdown } from '../markdown-formatter';
+import { formatHtml } from '../lib/html-formatter';
import { LoginState } from '../redux/account/reducers';
import { useSelector } from '../redux/store';
import Accordion from './Accordion';
@@ -442,7 +442,7 @@ function BlockMessage() {
}, [blockWhenDisconnected, tunnelState, setBlockWhenDisconnected, disconnectTunnel]);
const lockdownModeSettingName = messages.pgettext('vpn-settings-view', 'Lockdown mode');
- const message = formatMarkdown(
+ const message = formatHtml(
blockWhenDisconnected
? sprintf(
// TRANSLATORS: This is a warning message shown when the app is blocking the users
@@ -451,7 +451,7 @@ function BlockMessage() {
// TRANSLATORS: %(lockdownModeSettingName)s - The translation of "Lockdown mode"
messages.pgettext(
'login-view',
- '**%(lockdownModeSettingName)s** is enabled. Disable it to unblock your connection.',
+ '<b>%(lockdownModeSettingName)s</b> is enabled. Disable it to unblock your connection.',
),
{ lockdownModeSettingName },
)
diff --git a/gui/src/renderer/components/OpenVpnSettings.tsx b/gui/src/renderer/components/OpenVpnSettings.tsx
index 7c842f6c06..fed83149f4 100644
--- a/gui/src/renderer/components/OpenVpnSettings.tsx
+++ b/gui/src/renderer/components/OpenVpnSettings.tsx
@@ -10,8 +10,8 @@ import RelaySettingsBuilder from '../../shared/relay-settings-builder';
import { removeNonNumericCharacters } from '../../shared/string-helpers';
import { useAppContext } from '../context';
import { useHistory } from '../lib/history';
+import { formatHtml } from '../lib/html-formatter';
import { useBoolean } from '../lib/utilityHooks';
-import { formatMarkdown } from '../markdown-formatter';
import { useSelector } from '../redux/store';
import * as AppButton from './AppButton';
import { AriaDescription, AriaInput, AriaInputGroup, AriaLabel } from './AriaGroup';
@@ -159,12 +159,12 @@ function TransportProtocolSelector() {
<Cell.CellFooter>
<AriaDescription>
<Cell.CellFooterText>
- {formatMarkdown(
+ {formatHtml(
// TRANSLATORS: This is used to instruct users how to make UDP mode
// TRANSLATORS: available.
messages.pgettext(
'openvpn-settings-view',
- 'To activate UDP, change **Bridge mode** to **Automatic** or **Off**.',
+ 'To activate UDP, change <b>Bridge mode</b> to <b>Automatic</b> or <b>Off</b>.',
),
)}
</Cell.CellFooterText>
@@ -371,7 +371,7 @@ function bridgeModeFooterText(
transportProtocol: RelayProtocol | null,
) {
if (tunnelProtocol !== 'openvpn') {
- return formatMarkdown(
+ return formatHtml(
sprintf(
// TRANSLATORS: This is used to instruct users how to make the bridge mode setting
// TRANSLATORS: available.
@@ -380,7 +380,7 @@ function bridgeModeFooterText(
// TRANSLATORS: %(openvpn)s - will be replaced with OpenVPN
messages.pgettext(
'openvpn-settings-view',
- 'To activate Bridge mode, go back and change **%(tunnelProtocol)s** to **%(openvpn)s**.',
+ 'To activate Bridge mode, go back and change <b>%(tunnelProtocol)s</b> to <b>%(openvpn)s</b>.',
),
{
tunnelProtocol: messages.pgettext('vpn-settings-view', 'Tunnel protocol'),
@@ -389,7 +389,7 @@ function bridgeModeFooterText(
),
);
} else if (transportProtocol === 'udp') {
- return formatMarkdown(
+ return formatHtml(
sprintf(
// TRANSLATORS: This is used to instruct users how to make the bridge mode setting
// TRANSLATORS: available.
@@ -399,7 +399,7 @@ function bridgeModeFooterText(
// TRANSLATORS: %(openvpn)s - will be replaced with OpenVPN
messages.pgettext(
'openvpn-settings-view',
- 'To activate Bridge mode, change **%(transportProtocol)s** to **%(automatic)s** or **%(tcp)s**.',
+ 'To activate Bridge mode, change <b>%(transportProtocol)s</b> to <b>%(automatic)s</b> or <b>%(tcp)s</b>.',
),
{
transportProtocol: messages.pgettext('openvpn-settings-view', 'Transport protocol'),
diff --git a/gui/src/renderer/components/SplitTunnelingSettings.tsx b/gui/src/renderer/components/SplitTunnelingSettings.tsx
index c0fc4e07bf..4cad24f445 100644
--- a/gui/src/renderer/components/SplitTunnelingSettings.tsx
+++ b/gui/src/renderer/components/SplitTunnelingSettings.tsx
@@ -11,8 +11,8 @@ import {
import { messages } from '../../shared/gettext';
import { useAppContext } from '../context';
import { useHistory } from '../lib/history';
+import { formatHtml } from '../lib/html-formatter';
import { useAsyncEffect } from '../lib/utilityHooks';
-import { formatMarkdown } from '../markdown-formatter';
import { IReduxState } from '../redux/store';
import Accordion from './Accordion';
import * as AppButton from './AppButton';
@@ -454,9 +454,9 @@ export function WindowsSplitTunnelingSettings(props: IPlatformSplitTunnelingSett
{splitTunnelingEnabled && searchTerm !== '' && !showSplitSection && !showNonSplitSection && (
<StyledNoResult>
<StyledNoResultText>
- {formatMarkdown(
+ {formatHtml(
sprintf(
- messages.pgettext('split-tunneling-view', 'No result for **%(searchTerm)s**.'),
+ messages.pgettext('split-tunneling-view', 'No result for <b>%(searchTerm)s</b>.'),
{ searchTerm },
),
)}
diff --git a/gui/src/renderer/components/TooManyDevices.tsx b/gui/src/renderer/components/TooManyDevices.tsx
index 1d824d2d50..b23fe3f2df 100644
--- a/gui/src/renderer/components/TooManyDevices.tsx
+++ b/gui/src/renderer/components/TooManyDevices.tsx
@@ -9,9 +9,9 @@ import log from '../../shared/logging';
import { capitalizeEveryWord } from '../../shared/string-helpers';
import { useAppContext } from '../context';
import { transitions, useHistory } from '../lib/history';
+import { formatHtml } from '../lib/html-formatter';
import { RoutePath } from '../lib/routes';
import { useBoolean } from '../lib/utilityHooks';
-import { formatMarkdown } from '../markdown-formatter';
import { useSelector } from '../redux/store';
import * as AppButton from './AppButton';
import * as Cell from './cell';
@@ -253,15 +253,15 @@ function Device(props: IDeviceProps) {
]}
close={hideConfirmation}>
<ModalMessage>
- {formatMarkdown(
+ {formatHtml(
sprintf(
// TRANSLATORS: Text displayed above button which logs out another device.
- // TRANSLATORS: The text enclosed in "**" will appear bold.
+ // TRANSLATORS: The text enclosed in "<b></b>" will appear bold.
// TRANSLATORS: Available placeholders:
// TRANSLATORS: %(deviceName)s - The name of the device to log out.
messages.pgettext(
'device-management',
- 'Are you sure you want to log **%(deviceName)s** out?',
+ 'Are you sure you want to log <b>%(deviceName)s</b> out?',
),
{ deviceName: capitalizedDeviceName },
),
diff --git a/gui/src/renderer/components/VpnSettings.tsx b/gui/src/renderer/components/VpnSettings.tsx
index f42c07e4d2..ad5d3439b1 100644
--- a/gui/src/renderer/components/VpnSettings.tsx
+++ b/gui/src/renderer/components/VpnSettings.tsx
@@ -9,9 +9,9 @@ import log from '../../shared/logging';
import RelaySettingsBuilder from '../../shared/relay-settings-builder';
import { useAppContext } from '../context';
import { useHistory } from '../lib/history';
+import { formatHtml } from '../lib/html-formatter';
import { RoutePath } from '../lib/routes';
import { useBoolean } from '../lib/utilityHooks';
-import { formatMarkdown } from '../markdown-formatter';
import { RelaySettingsRedux } from '../redux/settings/reducers';
import { useSelector } from '../redux/store';
import * as AppButton from './AppButton';
@@ -407,20 +407,19 @@ function CustomDnsEnabledFooter() {
const customDnsFeatureName = messages.pgettext('vpn-settings-view', 'Use custom DNS server');
// TRANSLATORS: This is displayed when the custom DNS setting is turned on which makes the block
- // TRANSLATORS: ads/trackers settings disabled. The text enclosed in "**" will appear bold.
- // TRANSLATORS: Advanced settings refer to the name of the page with the title "Advanced".
+ // TRANSLATORS: ads/trackers settings disabled. The text enclosed in "<b></b>" will appear bold.
// TRANSLATORS: Available placeholders:
// TRANSLATORS: %(customDnsFeatureName)s - The name displayed next to the custom DNS toggle.
const blockingDisabledText = messages.pgettext(
'vpn-settings-view',
- 'Disable **%(customDnsFeatureName)s** (under Advanced settings) to activate these settings.',
+ 'Disable <b>%(customDnsFeatureName)s</b> below to activate these settings.',
);
return (
<Cell.CellFooter>
<AriaDescription>
<Cell.CellFooterText>
- {formatMarkdown(sprintf(blockingDisabledText, { customDnsFeatureName }))}
+ {formatHtml(sprintf(blockingDisabledText, { customDnsFeatureName }))}
</Cell.CellFooterText>
</AriaDescription>
</Cell.CellFooter>
diff --git a/gui/src/renderer/lib/html-formatter.tsx b/gui/src/renderer/lib/html-formatter.tsx
new file mode 100644
index 0000000000..452b7fb1e8
--- /dev/null
+++ b/gui/src/renderer/lib/html-formatter.tsx
@@ -0,0 +1,18 @@
+import React from 'react';
+import styled from 'styled-components';
+
+const boldSyntax = /(<b>.*?<\/b>)/g;
+const Bold = styled.span({ fontWeight: 700 });
+
+export function formatHtml(inputString: string): React.ReactElement {
+ const formattedString = inputString.split(boldSyntax).map((value, index) => {
+ if (boldSyntax.test(value)) {
+ const valueWithoutTags = value.replaceAll(/<b>|<\/b>/g, '');
+ return <Bold key={index}>{valueWithoutTags}</Bold>;
+ } else {
+ return <React.Fragment key={index}>{value}</React.Fragment>;
+ }
+ });
+
+ return <>{formattedString}</>;
+}
diff --git a/gui/src/renderer/markdown-formatter.tsx b/gui/src/renderer/markdown-formatter.tsx
deleted file mode 100644
index b6b18c62d6..0000000000
--- a/gui/src/renderer/markdown-formatter.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import React from 'react';
-import styled from 'styled-components';
-
-const boldSyntax = '**';
-const Bold = styled.span({ fontWeight: 700 });
-
-export function formatMarkdown(inputString: string): React.ReactElement {
- const formattedString = inputString
- .split(boldSyntax)
- .map((value, index) =>
- index % 2 === 0 ? (
- <React.Fragment key={index}>{value}</React.Fragment>
- ) : (
- <Bold key={index}>{value}</Bold>
- ),
- );
-
- return <>{formattedString}</>;
-}
diff --git a/gui/tsconfig.json b/gui/tsconfig.json
index 8887dcbfe6..64d667f33c 100644
--- a/gui/tsconfig.json
+++ b/gui/tsconfig.json
@@ -16,8 +16,8 @@
],
"skipLibCheck": true,
"strict": true,
- "target": "es2020",
- "lib": ["es2020", "dom"],
+ "target": "es2021",
+ "lib": ["es2021", "dom"],
"typeRoots": [
"./types",
"node_modules/@types"
diff --git a/scripts/localization b/scripts/localization
index 6d0f6ac104..097f113a4d 100755
--- a/scripts/localization
+++ b/scripts/localization
@@ -13,8 +13,9 @@ function main {
upload) upload_to_crowdin;;
download) download_from_crowdin;;
sync-local-files) sync_localizations;;
+ verify) verify;;
"")
- echo "Available subcommands: prepare, upload, download and sync-local-files"
+ echo "Available subcommands: prepare, upload, download, sync-local-files and verify"
;;
*)
echo "Unknown parameter: $1"
@@ -102,5 +103,21 @@ function download_from_crowdin {
commit_changes "Update translations"
}
+function verify {
+ sync_localizations
+ git diff
+ ! git status -s | grep .
+ local out_of_sync=$?
+
+ pushd ../gui/scripts
+ npm exec ts-node verify-translations-format.ts
+ local incorrect_format=$?
+ popd
+
+ if [ "$out_of_sync" -ne 0 ] || [ "$incorrect_format" -ne 0 ]; then
+ exit 1
+ fi
+}
+
main "$@"