diff --git a/.tx/config b/.tx/config index 25f92beedac634897b5d685f606fc432dbe8d22d..dff51704c093ef69f046c1017c9acab0d519f81d 100755 --- a/.tx/config +++ b/.tx/config @@ -1,7 +1,7 @@ [main] host = https://rest.api.transifex.com -lang_map = es_AR:es-rAR, fa_IR:fa-rIR, kn_IN:kn-rIN, pt_BR:pt-rBR, pt_PT:pt-rPT, zh_CN:zh-rCN, zh_TW:zh-rTW, nb:no +lang_map = fa_IR: fa, kn_IN: kn [o:otf:p:bitmask:r:bitmask-desktop] source_file = gui/i18n/base.ts diff --git a/docs/i18n-howto.rst b/docs/i18n-howto.rst index b2f6c895b1f7c26fa642c350d0bebb9dfce162cf..6440cac4103064e7ae08aae34ea9956415e586e2 100644 --- a/docs/i18n-howto.rst +++ b/docs/i18n-howto.rst @@ -23,6 +23,14 @@ If you want to add a new language you can: API_TOKEN='xxxxxxxxxxx' tx pull -a ``` +Sometimes language codes are not what you expect. This applies for missing languages as +well. When you check in transifex, you can also see what is used there, for example fa_IR +or es_AR, es or es_CU. When you want to use some language in general instead of some +regional version you can use the mapping in the .tx/config. Examples: fa_IR maps to fa. + +For this project we expect files to be like main_es_AR.ts or main_pl.ts See +https://doc.qt.io/QtForMCUs-2.5/qtul-cmake-getting-started.html + Testing the translations ------------------------ diff --git a/gui/i18n/main_es-rAR.ts b/gui/i18n/main_es-rAR.ts deleted file mode 100644 index 3d2ae79a66c7c3fe5a40dcb4732626ea6720c0a6..0000000000000000000000000000000000000000 --- a/gui/i18n/main_es-rAR.ts +++ /dev/null @@ -1,463 +0,0 @@ -<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="es_AR"> -<context> - <name>About</name> - <message> - <location filename="../components/About.qml" line="9"/> - <source>About</source> - <translation>Acerca de</translation> - </message> - <message> - <location filename="../components/About.qml" line="80"/> - <source><p>This service is paid for entirely by donations from users like you. <a href="%1">Please donate</a>.</p></source> - <extracomment>donation text of the about dialog</extracomment> - <translation><p>El costo de este servicio se paga con donaciones de usuarios como vos. <a href="%1">Por favor, doná</a>.</p></translation> - </message> - <message> - <location filename="../components/About.qml" line="103"/> - <source>%1 version: -%2</source> - <extracomment>screenshot https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/screenshots/about.png %1 -> application name %2 -> version string</extracomment> - <translation>Versión de %1: -%2</translation> - </message> -</context> -<context> - <name>Footer</name> - <message> - <location filename="../components/Footer.qml" line="180"/> - <source>Recommended</source> - <translation>Recomendado</translation> - </message> -</context> -<context> - <name>Help</name> - <message> - <location filename="../components/Help.qml" line="7"/> - <source>Help</source> - <translation>Ayuda</translation> - </message> - <message> - <location filename="../components/Help.qml" line="20"/> - <source>Troubleshooting and support</source> - <translation>Resolución de problemas y soporte</translation> - </message> - <message> - <location filename="../components/Help.qml" line="31"/> - <source>Report a bug</source> - <translation>Reportar un fallo</translation> - </message> - <message> - <location filename="../components/Help.qml" line="42"/> - <source>How to uninstall</source> - <translation>Cómo desinstalar</translation> - </message> -</context> -<context> - <name>InitErrors</name> - <message> - <location filename="../components/InitErrors.qml" line="31"/> - <source>Could not find helpers. Please check your installation</source> - <translation>No se pudieron encontrar los programas auxiliares. Por favor, comprobá tu instalación</translation> - </message> - <message> - <location filename="../components/InitErrors.qml" line="44"/> - <source>Could not find polkit agent.</source> - <translation>No se pudo encontrar el agente polkit.</translation> - </message> -</context> -<context> - <name>Locations</name> - <message> - <location filename="../components/Locations.qml" line="21"/> - <source>Select Location</source> - <translation>Elegà la ubicación</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="27"/> - <source>Automatically use best connection</source> - <extracomment>this is in the radio button for the auto selection</extracomment> - <translation>Usar la mejor conexión automáticamente</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="29"/> - <source>Manually select</source> - <extracomment>Location Selection: label for radio buttons that selects manually</extracomment> - <translation>Seleccionado manualmente</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="31"/> - <source>Switching gateway…</source> - <extracomment>A little display to signal that the clicked gateway is being switched to</extracomment> - <translation>Cambiando de gateway...</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="33"/> - <source>Only locations with bridges</source> - <extracomment>Subtitle to explain that only bridge locations are shown in the selector</extracomment> - <translation>Sólo ubicaciones con puentes</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="65"/> - <source>Recommended</source> - <extracomment>Location Selection: label for radio button that selects automatically</extracomment> - <translation>Recomendado</translation> - </message> -</context> -<context> - <name>MainView</name> - <message> - <location filename="../components/MainView.qml" line="43"/> - <location filename="../components/MainView.qml" line="66"/> - <source>Donate</source> - <translation>Donar</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="59"/> - <source>Preferences</source> - <translation>Preferencias</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="73"/> - <source>Help</source> - <translation>Ayuda</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="80"/> - <source>About</source> - <translation>Acerca de</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="87"/> - <source>Quit</source> - <translation>Quitar</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="111"/> - <source>Please donate!</source> - <translation>¡Se agradece una donación!</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="125"/> - <source>This service is paid for entirely by donations from users like you. The cost of running the VPN is approximately 5 USD per person every month, but every little bit counts. Do you want to donate now?</source> - <translation>Este servicio se paga por completo con donaciones de usuarios como vos. Mantener la VPN funcionando cuesta unos USD 5 por persona y por mes, pero cada monedita vale. ¿Querés hacer una donación?</translation> - </message> -</context> -<context> - <name>Preferences</name> - <message> - <location filename="../components/Preferences.qml" line="11"/> - <source>Preferences</source> - <translation>Preferencias</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="55"/> - <source>Turn off the VPN to make changes</source> - <translation>Apagá la VPN para hacer cambios</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="71"/> - <source>Language</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../components/Preferences.qml" line="105"/> - <source>Censorship circumvention</source> - <translation>Evasión de la censura</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="113"/> - <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source> - <translation>Estas técnicas pueden evitar la censura, pero son más lentas. Activalas sólo cuando lo necesites.</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="127"/> - <source>Use obfs4 bridges</source> - <translation>Usar puentes obfs4</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="153"/> - <source>Traffic is obfuscated to bypass blocks</source> - <translation>Ofusca el tráfico para saltar bloqueos</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="167"/> - <source>Use Snowflake</source> - <translation>Usar Snowflake</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="182"/> - <source>Snowflake needs Tor installed in your system</source> - <translation>Snowflake necesita Tor instalado en el sistema</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="195"/> - <source>Transport</source> - <translation>Transporte</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="203"/> - <source>UDP can make the VPN faster. It might be blocked on some networks.</source> - <translation>UDP puede hacer a la la VPN más rápida. Algunas redes pueden estar bloqueándolo.</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="216"/> - <source>Use UDP if available</source> - <translation>Usar UDP si está disponible</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="231"/> - <source>KCP might work when UDP is blocked on some networks.</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../components/Preferences.qml" line="244"/> - <source>Use KCP if available</source> - <translation type="unfinished"/> - </message> -</context> -<context> - <name>Splash</name> - <message> - <location filename="../components/Splash.qml" line="101"/> - <source>There is a newer version available. </source> - <translation>Hay una versión más nueva disponible.</translation> - </message> - <message> - <location filename="../components/Splash.qml" line="101"/> - <source>Make sure to <a href="https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md">uninstall</a> the previous one before running the new installer.</source> - <translation>Por favor, <a href="https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md">desistalá</a>la versión anterior antes de ejecutar el nuevo instalador.</translation> - </message> - <message> - <location filename="../components/Splash.qml" line="105"/> - <source>UPGRADE NOW</source> - <translation>ACTUALIZAR AHORA</translation> - </message> -</context> -<context> - <name>StatusBox</name> - <message> - <location filename="../components/StatusBox.qml" line="78"/> - <source>This can take several minutes</source> - <translation>Esto puede llevar varios minutos</translation> - </message> -</context> -<context> - <name>Systray</name> - <message> - <location filename="../components/Systray.qml" line="16"/> - <source>Checking status…</source> - <translation>Comprobando estado...</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="36"/> - <source>Donate</source> - <translation>Donar</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="45"/> - <source>Hide</source> - <extracomment>Part of the systray menu; show or hide the main app window</extracomment> - <translation>Ocultar</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="45"/> - <source>Show</source> - <translation>Mostrar</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="57"/> - <source>Quit</source> - <extracomment>Part of the systray menu; quits the application</extracomment> - <translation>Quitar</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="74"/> - <source>Connect to</source> - <translation>Conectar a</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="76"/> - <source>Connect</source> - <translation>Conectar</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="79"/> - <source>Disconnect</source> - <translation>Desconectar</translation> - </message> -</context> -<context> - <name>VPNState</name> - <message> - <location filename="../components/VPNState.qml" line="26"/> - <source>Setting up</source> - <translation>Estableciendo</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="51"/> - <location filename="../components/VPNState.qml" line="153"/> - <source>Connecting</source> - <translation>Conectando</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="82"/> - <source>Unsecured -Connection</source> - <translation>Conexión -Insegura</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="117"/> - <source>Secured -Connection</source> - <translation>Conexión -Segura</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="265"/> - <source>%1 off</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 desactivado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="265"/> - <source>off</source> - <translation>desactivado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="268"/> - <source>%1 on</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 conectado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="271"/> - <source>Connecting to %1</source> - <extracomment>%1 -> application name</extracomment> - <translation>Conectando a %1</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="274"/> - <source>Stopping %1</source> - <extracomment>%1 -> application name</extracomment> - <translation>Deteniendo %1</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="277"/> - <source>%1 blocking internet</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 bloqueando Internet</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="284"/> - <source>pluggable transport connection</source> - <translation>conexión de transporte conectable</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="286"/> - <source>connection done</source> - <translation>conexión realizada</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="288"/> - <source>doing handshake</source> - <translation>haciendo negociación</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="290"/> - <source>handshake done</source> - <translation>negociación realizada</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="292"/> - <source>creating one-hop connection</source> - <translation>creando conexión de un salto</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="294"/> - <source>requesting status</source> - <translation>solicitando estado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="296"/> - <source>loading status</source> - <translation>cargando estado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="298"/> - <source>loading keys</source> - <translation>cargando claves</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="300"/> - <source>requesting descriptors</source> - <translation>solicitando descriptores</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="302"/> - <source>loading descriptors</source> - <translation>cargando descriptores</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="304"/> - <source>creating circuit</source> - <translation>creando circuito</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="306"/> - <source>done</source> - <translation>hecho</translation> - </message> -</context> -<context> - <name>VPNSwitch</name> - <message> - <location filename="../qml/VPNSwitch.qml" line="10"/> - <source/> - <translation type="unfinished"/> - </message> -</context> -<context> - <name>main</name> - <message> - <location filename="../main.cpp" line="140"/> - <source>: a fast and secure VPN. Powered by Bitmask.</source> - <translation>: una VPN rápida y segura. Potenciada por Bitmask.</translation> - </message> - <message> - <location filename="../main.cpp" line="147"/> - <source>Do not show the systray icon (useful together with Gnome Shell extension, or to control VPN by other means).</source> - <translation>No mostrar el icono en la bandeja del sistema (útil en conjunto con las extensiones de Intérprete de Comandos de Gnome, o para controlar la VPN por otros medios).</translation> - </message> - <message> - <location filename="../main.cpp" line="154"/> - <source>Enable Web API.</source> - <translation>Habilitar API Web.</translation> - </message> - <message> - <location filename="../main.cpp" line="160"/> - <source>Install helpers (Linux only, requires sudo).</source> - <translation>Instalar programas auxiliares (sólo en Linux, requiere sudo).</translation> - </message> - <message> - <location filename="../main.cpp" line="166"/> - <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source> - <translation>Usar obfs4 para ofuscar el tráfico, si está disponible en el proveedor.</translation> - </message> - <message> - <location filename="../main.cpp" line="172"/> - <source>Enable autostart.</source> - <translation>Habilitar autoarranque.</translation> - </message> - <message> - <location filename="../main.cpp" line="177"/> - <source>Web API port (default: 8080)</source> - <translation>Puerto para la API Web (por defecto: 8080)</translation> - </message> - <message> - <location filename="../main.cpp" line="180"/> - <source>Start the VPN, either 'on' or 'off'.</source> - <translation>Iniciar la VPN, 'activada' o bien, 'deactivada'.</translation> - </message> -</context> -</TS> \ No newline at end of file diff --git a/gui/i18n/main_es-cu.ts b/gui/i18n/main_es_CU.ts similarity index 100% rename from gui/i18n/main_es-cu.ts rename to gui/i18n/main_es_CU.ts diff --git a/gui/i18n/main_fa_IR.ts b/gui/i18n/main_fa.ts similarity index 100% rename from gui/i18n/main_fa_IR.ts rename to gui/i18n/main_fa.ts diff --git a/gui/i18n/main_pt-rBR.ts b/gui/i18n/main_pt-rBR.ts deleted file mode 100644 index 4fa686c96ea907a80e6092cd6a1fd56e22dee6d1..0000000000000000000000000000000000000000 --- a/gui/i18n/main_pt-rBR.ts +++ /dev/null @@ -1,465 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.1" language="pt_BR"> -<context> - <name>About</name> - <message> - <location filename="../components/About.qml" line="9"/> - <source>About</source> - <translation>Sobre</translation> - </message> - <message> - <location filename="../components/About.qml" line="80"/> - <source><p>This service is paid for entirely by donations from users like you. <a href="%1">Please donate</a>.</p></source> - <extracomment>donation text of the about dialog</extracomment> - <translation><p>Este serviço é inteiramente financiado por doações de pessoas como você. <a href="%1">Por favor, faça uma doação</a>.</p></translation> - </message> - <message> - <location filename="../components/About.qml" line="103"/> - <source>%1 version: -%2</source> - <extracomment>screenshot https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/screenshots/about.png %1 -> application name %2 -> version string</extracomment> - <translation>%1 versão: -$2</translation> - </message> -</context> -<context> - <name>Footer</name> - <message> - <location filename="../components/Footer.qml" line="180"/> - <source>Recommended</source> - <translation>Recomendado</translation> - </message> -</context> -<context> - <name>Help</name> - <message> - <location filename="../components/Help.qml" line="7"/> - <source>Help</source> - <translation>Ajuda</translation> - </message> - <message> - <location filename="../components/Help.qml" line="20"/> - <source>Troubleshooting and support</source> - <translation>Resolução de problemas e suporte</translation> - </message> - <message> - <location filename="../components/Help.qml" line="31"/> - <source>Report a bug</source> - <translation>Reportar um bug</translation> - </message> - <message> - <location filename="../components/Help.qml" line="42"/> - <source>How to uninstall</source> - <translation>Como desinstalar</translation> - </message> -</context> -<context> - <name>InitErrors</name> - <message> - <location filename="../components/InitErrors.qml" line="31"/> - <source>Could not find helpers. Please check your installation</source> - <translation>Não foi possÃvel encontrar "helpers". Por favor, verifique sua instalação</translation> - </message> - <message> - <location filename="../components/InitErrors.qml" line="44"/> - <source>Could not find polkit agent.</source> - <translation>Não foi possÃvel encontrar um agente polkit.</translation> - </message> -</context> -<context> - <name>Locations</name> - <message> - <location filename="../components/Locations.qml" line="21"/> - <source>Select Location</source> - <translation>Selecione um Local</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="27"/> - <source>Automatically use best connection</source> - <extracomment>this is in the radio button for the auto selection</extracomment> - <translation>Use a melhor conexão automaticamente</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="29"/> - <source>Manually select</source> - <extracomment>Location Selection: label for radio buttons that selects manually</extracomment> - <translation>Selecionar manualmente</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="31"/> - <source>Switching gateway…</source> - <extracomment>A little display to signal that the clicked gateway is being switched to</extracomment> - <translation>Trocando gateway...</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="33"/> - <source>Only locations with bridges</source> - <extracomment>Subtitle to explain that only bridge locations are shown in the selector</extracomment> - <translation>Apenas locais com bridges</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="65"/> - <source>Recommended</source> - <extracomment>Location Selection: label for radio button that selects automatically</extracomment> - <translation>Recomendado</translation> - </message> -</context> -<context> - <name>MainView</name> - <message> - <location filename="../components/MainView.qml" line="43"/> - <location filename="../components/MainView.qml" line="66"/> - <source>Donate</source> - <translation>Fazer uma doação</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="59"/> - <source>Preferences</source> - <translation>Preferências</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="73"/> - <source>Help</source> - <translation>Ajuda</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="80"/> - <source>About</source> - <translation>Sobre</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="87"/> - <source>Quit</source> - <translation>Sair</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="111"/> - <source>Please donate!</source> - <translation>Por favor, faça uma doação!</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="125"/> - <source>This service is paid for entirely by donations from users like you. The cost of running the VPN is approximately 5 USD per person every month, but every little bit counts. Do you want to donate now?</source> - <translation>Este serviço é inteiramente financiado por doações de pessoas como você. O custo de rodar uma VPN é de aproximadamente 5 USD por pessoa todo mês, mas qualquer coisinha ajuda. Você quer doar agora?</translation> - </message> -</context> -<context> - <name>Preferences</name> - <message> - <location filename="../components/Preferences.qml" line="11"/> - <source>Preferences</source> - <translation>Preferências</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="55"/> - <source>Turn off the VPN to make changes</source> - <translation>Desligue a VPN para fazer alterações</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="71"/> - <source>Language</source> - <translation>Linguagem</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="105"/> - <source>Censorship circumvention</source> - <translation>Driblando a censura</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="113"/> - <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source> - <translation>Estas técnicas podem driblar censura, mas são mais lentas. Use-as somente quando necessário.</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="127"/> - <source>Use obfs4 bridges</source> - <translation>Usar bridges obfs4</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="153"/> - <source>Traffic is obfuscated to bypass blocks</source> - <translation>O tráfego é ofuscado para atravessar bloqueios</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="167"/> - <source>Use Snowflake</source> - <translation>Usar Snowflake</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="182"/> - <source>Snowflake needs Tor installed in your system</source> - <translation>Snowflake precisa do Tor instalado no seu sistema</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="195"/> - <source>Transport</source> - <translation>Transporte</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="203"/> - <source>UDP can make the VPN faster. It might be blocked on some networks.</source> - <translation>UDP pode tornar a VPN mais rápida. Mas pode ser bloqueado em algumas redes.</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="216"/> - <source>Use UDP if available</source> - <translation>Usar UDP se possÃvel</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="231"/> - <source>KCP might work when UDP is blocked on some networks.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="244"/> - <source>Use KCP if available</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Splash</name> - <message> - <location filename="../components/Splash.qml" line="101"/> - <source>There is a newer version available. </source> - <translation>Há uma nova versão disponÃvel.</translation> - </message> - <message> - <location filename="../components/Splash.qml" line="101"/> - <source>Make sure to <a href="https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md">uninstall</a> the previous one before running the new installer.</source> - <translation>Tenha certeza de <a href="https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md">desinstalar</a> a versão anterior antes de executar o novo instalador.</translation> - </message> - <message> - <location filename="../components/Splash.qml" line="105"/> - <source>UPGRADE NOW</source> - <translation>ATUALIZE AGORA</translation> - </message> -</context> -<context> - <name>StatusBox</name> - <message> - <location filename="../components/StatusBox.qml" line="78"/> - <source>This can take several minutes</source> - <translation>Isto pode demorar vários minutos</translation> - </message> -</context> -<context> - <name>Systray</name> - <message> - <location filename="../components/Systray.qml" line="16"/> - <source>Checking status…</source> - <translation>Verificando o estado...</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="36"/> - <source>Donate</source> - <translation>Fazer uma doação</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="45"/> - <source>Hide</source> - <extracomment>Part of the systray menu; show or hide the main app window</extracomment> - <translation>Esconder</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="45"/> - <source>Show</source> - <translation>Mostrar</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="57"/> - <source>Quit</source> - <extracomment>Part of the systray menu; quits the application</extracomment> - <translation>Sair</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="74"/> - <source>Connect to</source> - <translation>Conectar a</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="76"/> - <source>Connect</source> - <translation>Conectar</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="79"/> - <source>Disconnect</source> - <translation>Desconectar</translation> - </message> -</context> -<context> - <name>VPNState</name> - <message> - <location filename="../components/VPNState.qml" line="26"/> - <source>Setting up</source> - <translation>Configurando</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="51"/> - <location filename="../components/VPNState.qml" line="153"/> - <source>Connecting</source> - <translation>Conectando</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="82"/> - <source>Unsecured -Connection</source> - <translation>Conexão -Insegura</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="117"/> - <source>Secured -Connection</source> - <translation>Conexão -Segura</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="265"/> - <source>%1 off</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 desligado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="265"/> - <source>off</source> - <translation>desligado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="268"/> - <source>%1 on</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 ligado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="271"/> - <source>Connecting to %1</source> - <extracomment>%1 -> application name</extracomment> - <translation>Conectando a %1</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="274"/> - <source>Stopping %1</source> - <extracomment>%1 -> application name</extracomment> - <translation>Parando %1</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="277"/> - <source>%1 blocking internet</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 bloqueando Internet</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="284"/> - <source>pluggable transport connection</source> - <translation>conexão de transporte plugável</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="286"/> - <source>connection done</source> - <translation>conexão terminada</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="288"/> - <source>doing handshake</source> - <translation>fazendo handshake</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="290"/> - <source>handshake done</source> - <translation>handshake terminado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="292"/> - <source>creating one-hop connection</source> - <translation>criando conexão de um estágio</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="294"/> - <source>requesting status</source> - <translation>solicitando estado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="296"/> - <source>loading status</source> - <translation>carregando estado</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="298"/> - <source>loading keys</source> - <translation>carregando chaves</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="300"/> - <source>requesting descriptors</source> - <translation>requisitando descritores</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="302"/> - <source>loading descriptors</source> - <translation>carregando descritores</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="304"/> - <source>creating circuit</source> - <translation>criando circuito</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="306"/> - <source>done</source> - <translation>pronto</translation> - </message> -</context> -<context> - <name>VPNSwitch</name> - <message> - <location filename="../qml/VPNSwitch.qml" line="10"/> - <source></source> - <translation></translation> - </message> -</context> -<context> - <name>main</name> - <message> - <location filename="../main.cpp" line="140"/> - <source>: a fast and secure VPN. Powered by Bitmask.</source> - <translation>: uma VPN rápida e segura. Baseada em Bitmask.</translation> - </message> - <message> - <location filename="../main.cpp" line="147"/> - <source>Do not show the systray icon (useful together with Gnome Shell extension, or to control VPN by other means).</source> - <translation>Não mostrar Ãcone na bandeja (útil para uso conjunto com a extensão para Gnome Shell, ou para controlar a VPN por outros meios).</translation> - </message> - <message> - <location filename="../main.cpp" line="154"/> - <source>Enable Web API.</source> - <translation>Habilitar API Web.</translation> - </message> - <message> - <location filename="../main.cpp" line="160"/> - <source>Install helpers (Linux only, requires sudo).</source> - <translation>Instalar arquivos auxiliares (somente para Linux, requer sudo).</translation> - </message> - <message> - <location filename="../main.cpp" line="166"/> - <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source> - <translation>Usar obfs4 para ofuscar o tráfego, caso esteja disponÃvel no provedor.</translation> - </message> - <message> - <location filename="../main.cpp" line="172"/> - <source>Enable autostart.</source> - <translation>Habilitar auto inicialização.</translation> - </message> - <message> - <location filename="../main.cpp" line="177"/> - <source>Web API port (default: 8080)</source> - <translation>Porta para API Web (padrão: 8080)</translation> - </message> - <message> - <location filename="../main.cpp" line="180"/> - <source>Start the VPN, either 'on' or 'off'.</source> - <translation>Iniciar VPN, pode ser 'ligado' ou 'desligado'.</translation> - </message> -</context> -</TS> diff --git a/gui/i18n/main_zh-rTW.ts b/gui/i18n/main_zh-rTW.ts deleted file mode 100644 index ec209144541c0879999a1085b326a7c508178cf6..0000000000000000000000000000000000000000 --- a/gui/i18n/main_zh-rTW.ts +++ /dev/null @@ -1,465 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.1" language="zh_TW"> -<context> - <name>About</name> - <message> - <location filename="../components/About.qml" line="9"/> - <source>About</source> - <translation>關於</translation> - </message> - <message> - <location filename="../components/About.qml" line="80"/> - <source><p>This service is paid for entirely by donations from users like you. <a href="%1">Please donate</a>.</p></source> - <extracomment>donation text of the about dialog</extracomment> - <translation><p>本æœå‹™å®Œå…¨ä¾è³´èˆ‡æ‚¨ä¸€æ¨£çš„ä½¿ç”¨è€…å…±åŒæåŠ©ä¾†é‹ä½œã€‚<a href="%1">è«‹æåŠ©æœ¬æœå‹™</a>。</p></translation> - </message> - <message> - <location filename="../components/About.qml" line="103"/> - <source>%1 version: -%2</source> - <extracomment>screenshot https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/screenshots/about.png %1 -> application name %2 -> version string</extracomment> - <translation>%1 版本: -%2</translation> - </message> -</context> -<context> - <name>Footer</name> - <message> - <location filename="../components/Footer.qml" line="180"/> - <source>Recommended</source> - <translation>(建è°)</translation> - </message> -</context> -<context> - <name>Help</name> - <message> - <location filename="../components/Help.qml" line="7"/> - <source>Help</source> - <translation>幫助</translation> - </message> - <message> - <location filename="../components/Help.qml" line="20"/> - <source>Troubleshooting and support</source> - <translation>疑難排解與支æ´</translation> - </message> - <message> - <location filename="../components/Help.qml" line="31"/> - <source>Report a bug</source> - <translation>å›žå ±éŒ¯èª¤</translation> - </message> - <message> - <location filename="../components/Help.qml" line="42"/> - <source>How to uninstall</source> - <translation>如何解除安è£</translation> - </message> -</context> -<context> - <name>InitErrors</name> - <message> - <location filename="../components/InitErrors.qml" line="31"/> - <source>Could not find helpers. Please check your installation</source> - <translation>找ä¸åˆ°å”助程å¼ã€‚請檢查您的安è£</translation> - </message> - <message> - <location filename="../components/InitErrors.qml" line="44"/> - <source>Could not find polkit agent.</source> - <translation>找ä¸åˆ° polkit 代ç†ç¨‹å¼ã€‚</translation> - </message> -</context> -<context> - <name>Locations</name> - <message> - <location filename="../components/Locations.qml" line="21"/> - <source>Select Location</source> - <translation>鏿“‡åœ°ç†ä½ç½®</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="27"/> - <source>Automatically use best connection</source> - <extracomment>this is in the radio button for the auto selection</extracomment> - <translation>自動使用最佳的連線</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="29"/> - <source>Manually select</source> - <extracomment>Location Selection: label for radio buttons that selects manually</extracomment> - <translation>æ‰‹å‹•é¸æ“‡</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="31"/> - <source>Switching gateway…</source> - <extracomment>A little display to signal that the clicked gateway is being switched to</extracomment> - <translation>æ£åœ¨åˆ‡æ›é–˜é“...</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="33"/> - <source>Only locations with bridges</source> - <extracomment>Subtitle to explain that only bridge locations are shown in the selector</extracomment> - <translation>åªæœƒé¡¯ç¤ºæ”¯æ´æ©‹æŽ¥çš„地ç†ä½ç½®</translation> - </message> - <message> - <location filename="../components/Locations.qml" line="65"/> - <source>Recommended</source> - <extracomment>Location Selection: label for radio button that selects automatically</extracomment> - <translation>(建è°)</translation> - </message> -</context> -<context> - <name>MainView</name> - <message> - <location filename="../components/MainView.qml" line="43"/> - <location filename="../components/MainView.qml" line="66"/> - <source>Donate</source> - <translation>æåŠ©</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="59"/> - <source>Preferences</source> - <translation>å好è¨å®š</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="73"/> - <source>Help</source> - <translation>幫助</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="80"/> - <source>About</source> - <translation>關於</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="87"/> - <source>Quit</source> - <translation>退出</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="111"/> - <source>Please donate!</source> - <translation>è«‹æåŠ©ï¼</translation> - </message> - <message> - <location filename="../components/MainView.qml" line="125"/> - <source>This service is paid for entirely by donations from users like you. The cost of running the VPN is approximately 5 USD per person every month, but every little bit counts. Do you want to donate now?</source> - <translation>本æœå‹™å®Œå…¨ä¾è³´èˆ‡æ‚¨ä¸€æ¨£çš„ä½¿ç”¨è€…å…±åŒæåŠ©ä¾†é‹ä½œã€‚執行 VPN 的費用大約為æ¯äººæ¯æœˆ 5 美元,但任何一點æåŠ©éƒ½å¾ˆæœ‰å¹«åŠ©ã€‚è«‹å•æ‚¨é¡˜æ„æåŠ©å—Žï¼Ÿ</translation> - </message> -</context> -<context> - <name>Preferences</name> - <message> - <location filename="../components/Preferences.qml" line="11"/> - <source>Preferences</source> - <translation>å好è¨å®š</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="55"/> - <source>Turn off the VPN to make changes</source> - <translation>關閉 VPN 以進行修改</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="71"/> - <source>Language</source> - <translation>語言</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="105"/> - <source>Censorship circumvention</source> - <translation>è¦é¿ç¶²è·¯å¯©æŸ¥</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="113"/> - <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source> - <translation>這些技術能è¦é¿ç¶²è·¯å¯©æŸ¥ï¼Œä½†é€Ÿåº¦è¼ƒæ…¢ã€‚è«‹åƒ…æ–¼éœ€è¦æ™‚使用。</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="127"/> - <source>Use obfs4 bridges</source> - <translation>使用 obfs4 橋接</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="153"/> - <source>Traffic is obfuscated to bypass blocks</source> - <translation>已混淆æµé‡ä»¥è¦é¿ç¶²è·¯å°éŽ–</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="167"/> - <source>Use Snowflake</source> - <translation>使用 Snowflake</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="182"/> - <source>Snowflake needs Tor installed in your system</source> - <translation>Snowflake 需è¦åœ¨æ‚¨çš„ç³»çµ±ä¸Šå®‰è£ Tor</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="195"/> - <source>Transport</source> - <translation>傳輸</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="203"/> - <source>UDP can make the VPN faster. It might be blocked on some networks.</source> - <translation>UDP 能讓 VPN 更快速,但å¯èƒ½åœ¨æŸäº›ç¶²è·¯ä¸Šè¢«å°éŽ–ã€‚</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="216"/> - <source>Use UDP if available</source> - <translation>å¯ç”¨æ™‚使用 UDP</translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="231"/> - <source>KCP might work when UDP is blocked on some networks.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../components/Preferences.qml" line="244"/> - <source>Use KCP if available</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Splash</name> - <message> - <location filename="../components/Splash.qml" line="101"/> - <source>There is a newer version available. </source> - <translation>有更新版本。</translation> - </message> - <message> - <location filename="../components/Splash.qml" line="101"/> - <source>Make sure to <a href="https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md">uninstall</a> the previous one before running the new installer.</source> - <translation>在執行新的安è£ç¨‹å¼å‰ï¼Œè«‹å‹™å¿… <a href="https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md">解除安è£</a>。</translation> - </message> - <message> - <location filename="../components/Splash.qml" line="105"/> - <source>UPGRADE NOW</source> - <translation>立刻å‡ç´š</translation> - </message> -</context> -<context> - <name>StatusBox</name> - <message> - <location filename="../components/StatusBox.qml" line="78"/> - <source>This can take several minutes</source> - <translation>這å¯èƒ½æœƒèŠ±å¹¾åˆ†é˜</translation> - </message> -</context> -<context> - <name>Systray</name> - <message> - <location filename="../components/Systray.qml" line="16"/> - <source>Checking status…</source> - <translation>æ£åœ¨æª¢æŸ¥ç‹€æ…‹...</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="36"/> - <source>Donate</source> - <translation>æåŠ©</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="45"/> - <source>Hide</source> - <extracomment>Part of the systray menu; show or hide the main app window</extracomment> - <translation>éš±è—</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="45"/> - <source>Show</source> - <translation>顯示</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="57"/> - <source>Quit</source> - <extracomment>Part of the systray menu; quits the application</extracomment> - <translation>退出</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="74"/> - <source>Connect to</source> - <translation>連線到</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="76"/> - <source>Connect</source> - <translation>連線</translation> - </message> - <message> - <location filename="../components/Systray.qml" line="79"/> - <source>Disconnect</source> - <translation>䏿–·é€£ç¼</translation> - </message> -</context> -<context> - <name>VPNState</name> - <message> - <location filename="../components/VPNState.qml" line="26"/> - <source>Setting up</source> - <translation>æ£åœ¨æº–å‚™</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="51"/> - <location filename="../components/VPNState.qml" line="153"/> - <source>Connecting</source> - <translation>æ£åœ¨é€£æŽ¥</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="82"/> - <source>Unsecured -Connection</source> - <translation>ä¸å®‰å…¨çš„ -連線</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="117"/> - <source>Secured -Connection</source> - <translation>安全 -連線</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="265"/> - <source>%1 off</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 已關閉</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="265"/> - <source>off</source> - <translation>é—œ</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="268"/> - <source>%1 on</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 已啟用</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="271"/> - <source>Connecting to %1</source> - <extracomment>%1 -> application name</extracomment> - <translation>æ£åœ¨é€£ç·šåˆ° %1</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="274"/> - <source>Stopping %1</source> - <extracomment>%1 -> application name</extracomment> - <translation>æ£åœ¨åœæ¢ %1</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="277"/> - <source>%1 blocking internet</source> - <extracomment>%1 -> application name</extracomment> - <translation>%1 æ£åœ¨å°éŽ–ç¶²è·¯</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="284"/> - <source>pluggable transport connection</source> - <translation>坿’æ‹”å¼å‚³è¼¸é€£ç·š</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="286"/> - <source>connection done</source> - <translation>連線完æˆ</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="288"/> - <source>doing handshake</source> - <translation>æ£åœ¨äº¤æ¡</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="290"/> - <source>handshake done</source> - <translation>交æ¡å®Œæˆ</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="292"/> - <source>creating one-hop connection</source> - <translation>æ£åœ¨å»ºç«‹å–®ä¸€ç¯€é»žè·³èº (one-hop) 連線</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="294"/> - <source>requesting status</source> - <translation>æ£åœ¨è«‹æ±‚狀態</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="296"/> - <source>loading status</source> - <translation>æ£åœ¨è¼‰å…¥ç‹€æ…‹</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="298"/> - <source>loading keys</source> - <translation>æ£åœ¨è¼‰å…¥é‡‘é‘°</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="300"/> - <source>requesting descriptors</source> - <translation>æ£åœ¨è«‹æ±‚æè¿°å…ƒ</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="302"/> - <source>loading descriptors</source> - <translation>æ£åœ¨è¼‰å…¥æè¿°å…ƒ</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="304"/> - <source>creating circuit</source> - <translation>æ£åœ¨å»ºç«‹è¿´è·¯</translation> - </message> - <message> - <location filename="../components/VPNState.qml" line="306"/> - <source>done</source> - <translation>完æˆ</translation> - </message> -</context> -<context> - <name>VPNSwitch</name> - <message> - <location filename="../qml/VPNSwitch.qml" line="10"/> - <source></source> - <translation></translation> - </message> -</context> -<context> - <name>main</name> - <message> - <location filename="../main.cpp" line="140"/> - <source>: a fast and secure VPN. Powered by Bitmask.</source> - <translation>:快速而安全的 VPN。由 Bitmask æä¾›ã€‚</translation> - </message> - <message> - <location filename="../main.cpp" line="147"/> - <source>Do not show the systray icon (useful together with Gnome Shell extension, or to control VPN by other means).</source> - <translation>ä¸è¦é¡¯ç¤ºå·¥ä½œåˆ—圖示 (é©åˆæé… Gnome Shell å»¶ä¼¸æ¨¡çµ„ï¼Œæˆ–ä»¥å…¶ä»–æ–¹å¼æŽ§åˆ¶ VPN 時使用)。</translation> - </message> - <message> - <location filename="../main.cpp" line="154"/> - <source>Enable Web API.</source> - <translation>啟用 Web API。</translation> - </message> - <message> - <location filename="../main.cpp" line="160"/> - <source>Install helpers (Linux only, requires sudo).</source> - <translation>安è£å”åŠ©ç¨‹å¼ (åƒ…é™ Linuxï¼Œé ˆä½¿ç”¨ sudo)。</translation> - </message> - <message> - <location filename="../main.cpp" line="166"/> - <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source> - <translation>如果æœå‹™æä¾›è€…支æ´ï¼Œä½¿ç”¨ obfs4 以混淆æµé‡ã€‚</translation> - </message> - <message> - <location filename="../main.cpp" line="172"/> - <source>Enable autostart.</source> - <translation>啟用自動啟動。</translation> - </message> - <message> - <location filename="../main.cpp" line="177"/> - <source>Web API port (default: 8080)</source> - <translation>Web API é€£æŽ¥åŸ (é è¨ï¼š8080)</translation> - </message> - <message> - <location filename="../main.cpp" line="180"/> - <source>Start the VPN, either 'on' or 'off'.</source> - <translation>啟動 VPNï¼Œã€Œé–‹å•Ÿã€æˆ–「關閉ã€ã€‚</translation> - </message> -</context> -</TS>