fix(gui): run the CAPTCHA page in its own process (B195)

On secureblue, WebKit cannot start the sandbox for the verification page:
bubblewrap is kept from the journal socket, xdg-dbus-proxy fails, and
WebKit ends its process with g_error. The webview lived in pdfs-app, so
the whole app crashed after the sign-in (#29).

- gui: `pdfs-app --human-verification` shows the page in its own window,
  reads the URL on stdin and prints the token on stdout; its logs go to
  stderr
- gui: a child that dies or fails without a token ends the sign-in with a
  message that the page could not be opened, instead of "cancelled"
- i18n: translate the new message in every catalog
- docs: B195 in the bug ledger, the cause and a one-time workaround in
  TROUBLESHOOTING.md, the child process in ARCHITECTURE.md, changelog
This commit is contained in:
nvrl committed 2026-10-08 10:25:14 +02:00
1 parent c7fc85e943
commit a888e0bb28
16 files changed
+1355 -997

No files matched your search

+127 -109
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-10-07 02:39+0200\n"
"POT-Creation-Date: 2026-10-08 10:15+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Portuguese (Brazil)\n"
@@ -57,7 +57,7 @@ msgstr "%-d de %b de %Y"
msgid "%A, %B %-d, %Y, %H:%M"
msgstr "%A, %-d de %B de %Y, %H:%M"
#: crates/pdfs-gui/src/app/main.rs:747
#: crates/pdfs-gui/src/app/main.rs:760
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
#: crates/pdfs-gui/src/app/pages/browser.rs:454
#: crates/pdfs-gui/src/app/pages/browser.rs:819
@@ -70,91 +70,91 @@ msgstr "%A, %-d de %B de %Y, %H:%M"
msgid "My files"
msgstr "Meus arquivos"
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
#: crates/pdfs-gui/src/app/pages/albums.rs:638
#: crates/pdfs-gui/src/app/pages/photos.rs:842
#: crates/pdfs-gui/src/app/pages/places.rs:441
msgid "Photos"
msgstr "Fotos"
#: crates/pdfs-gui/src/app/main.rs:755
#: crates/pdfs-gui/src/app/main.rs:768
#: crates/pdfs-gui/src/app/pages/shared.rs:168
#: crates/pdfs-gui/src/app/pages/shared.rs:482
msgid "Shared with me"
msgstr "Compartilhados comigo"
#: crates/pdfs-gui/src/app/main.rs:760
#: crates/pdfs-gui/src/app/main.rs:773
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
msgid "Shared by me"
msgstr "Compartilhados por mim"
#: crates/pdfs-gui/src/app/main.rs:763
#: crates/pdfs-gui/src/app/main.rs:776
#: crates/pdfs-gui/src/app/pages/devices.rs:140
#: crates/pdfs-gui/src/app/pages/devices.rs:481
msgid "Computers"
msgstr "Computadores"
#: crates/pdfs-gui/src/app/main.rs:764
#: crates/pdfs-gui/src/app/main.rs:777
#: crates/pdfs-gui/src/app/pages/trash.rs:101
msgid "Trash"
msgstr "Lixeira"
#. Translators: sidebar entry for the page listing this computer's synced folders.
#: crates/pdfs-gui/src/app/main.rs:766
#: crates/pdfs-gui/src/app/main.rs:779
msgid "Sync"
msgstr "Sincronização"
#. Translators: a failed action's toast. {what} says what failed, such as
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
#. from the mount service.
#: crates/pdfs-gui/src/app/main.rs:1083
#: crates/pdfs-gui/src/app/main.rs:1096
#, rust-format
msgid "{what}: {detail}"
msgstr "{what}: {detail}"
#: crates/pdfs-gui/src/app/main.rs:1102
#: crates/pdfs-gui/src/app/main.rs:1115
msgid "You're offline"
msgstr "Você está offline"
#: crates/pdfs-gui/src/app/main.rs:1103
#: crates/pdfs-gui/src/app/main.rs:1116
msgid "That's not there any more"
msgstr "Isso não existe mais"
#: crates/pdfs-gui/src/app/main.rs:1104
#: crates/pdfs-gui/src/app/main.rs:1117
msgid "You don't have access to that"
msgstr "Você não tem acesso a isso"
#: crates/pdfs-gui/src/app/main.rs:1105
#: crates/pdfs-gui/src/app/main.rs:1118
msgid "Something changed this first"
msgstr "Algo alterou isso antes"
#: crates/pdfs-gui/src/app/main.rs:1106
#: crates/pdfs-gui/src/app/main.rs:1119
msgid "Your Proton Drive is full"
msgstr "Seu Proton Drive está cheio"
#: crates/pdfs-gui/src/app/main.rs:1147 crates/pdfs-gui/src/app/main.rs:1376
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
#: crates/pdfs-gui/src/app/pages/status.rs:385
msgid "Preferences"
msgstr "Preferências"
#: crates/pdfs-gui/src/app/main.rs:1148
#: crates/pdfs-gui/src/app/main.rs:1161
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
msgid "Keyboard Shortcuts"
msgstr "Atalhos de teclado"
#: crates/pdfs-gui/src/app/main.rs:1150
#: crates/pdfs-gui/src/app/main.rs:1163
msgid "About Proton Drive for Linux"
msgstr "Sobre o Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1155
#: crates/pdfs-gui/src/app/main.rs:1168
msgid "Main menu"
msgstr "Menu principal"
#: crates/pdfs-gui/src/app/main.rs:1211
#: crates/pdfs-gui/src/app/main.rs:1224
msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1219
#: crates/pdfs-gui/src/app/main.rs:1232
msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n"
"\n"
@@ -165,23 +165,23 @@ msgstr ""
"\n"
"Cliente não oficial — sem afiliação, endosso ou suporte da Proton AG."
#: crates/pdfs-gui/src/app/main.rs:1224
#: crates/pdfs-gui/src/app/main.rs:1237
msgid "Source Code"
msgstr "Código-fonte"
#: crates/pdfs-gui/src/app/main.rs:1228
#: crates/pdfs-gui/src/app/main.rs:1241
msgid "Proton Terms of Service"
msgstr "Termos de Serviço da Proton"
#: crates/pdfs-gui/src/app/main.rs:1232
#: crates/pdfs-gui/src/app/main.rs:1245
msgid "Proton Privacy Policy"
msgstr "Política de Privacidade da Proton"
#: crates/pdfs-gui/src/app/main.rs:1237
#: crates/pdfs-gui/src/app/main.rs:1250
msgid "Disclaimer"
msgstr "Aviso legal"
#: crates/pdfs-gui/src/app/main.rs:1241
#: crates/pdfs-gui/src/app/main.rs:1254
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
@@ -204,7 +204,7 @@ msgstr ""
"Este software é fornecido “no estado em que se encontra”, sem garantia de "
"qualquer tipo. Mantenha uma cópia de todos os dados que você não pode perder."
#: crates/pdfs-gui/src/app/main.rs:1249
#: crates/pdfs-gui/src/app/main.rs:1262
msgid ""
"Places are named with data from <a href=\"https://www.geonames.org/"
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
@@ -214,7 +214,7 @@ msgstr ""
"\">GeoNames</a>, licenciados sob <a href=\"https://creativecommons.org/"
"licenses/by/4.0/\">CC BY 4.0</a>."
#: crates/pdfs-gui/src/app/main.rs:1257
#: crates/pdfs-gui/src/app/main.rs:1270
msgid ""
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
"\">Natural Earth</a> land outlines and country borders, which are in the "
@@ -224,7 +224,7 @@ msgstr ""
"fronteiras de países do <a href=\"https://www.naturalearthdata.com/"
"\">Natural Earth</a>, que são de domínio público."
#: crates/pdfs-gui/src/app/main.rs:1265
#: crates/pdfs-gui/src/app/main.rs:1278
msgid ""
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
@@ -240,15 +240,15 @@ msgstr ""
#. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1276
#: crates/pdfs-gui/src/app/main.rs:1289
msgid "translator-credits"
msgstr "Colaboradores do Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1314
#: crates/pdfs-gui/src/app/main.rs:1327
msgid "Stop Proton Drive?"
msgstr "Parar o Proton Drive?"
#: crates/pdfs-gui/src/app/main.rs:1315
#: crates/pdfs-gui/src/app/main.rs:1328
msgid ""
"My files goes offline and nothing syncs until you connect again. Proton "
"Drive starts again at your next login."
@@ -256,7 +256,7 @@ msgstr ""
"Meus arquivos fica offline e nada é sincronizado até você se conectar "
"novamente. O Proton Drive será iniciado de novo no seu próximo login."
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
#: crates/pdfs-gui/src/app/pages/albums.rs:243
#: crates/pdfs-gui/src/app/pages/albums.rs:428
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
@@ -271,8 +271,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
#: crates/pdfs-gui/src/app/pages/login.rs:378
#: crates/pdfs-gui/src/app/pages/login.rs:492
#: crates/pdfs-gui/src/app/pages/login.rs:393
#: crates/pdfs-gui/src/app/pages/login.rs:507
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
@@ -287,30 +287,30 @@ msgstr ""
msgid "Cancel"
msgstr "Cancelar"
#: crates/pdfs-gui/src/app/main.rs:1318
#: crates/pdfs-gui/src/app/main.rs:1331
msgctxt "verb"
msgid "Stop"
msgstr "Parar"
#: crates/pdfs-gui/src/app/main.rs:1335
#: crates/pdfs-gui/src/app/main.rs:1348
msgid "Couldn't stop Proton Drive"
msgstr "Não foi possível parar o Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1336
#: crates/pdfs-gui/src/app/main.rs:1349
msgid "The Proton Drive service did not stop."
msgstr "O serviço do Proton Drive não parou."
#: crates/pdfs-gui/src/app/main.rs:1372
#: crates/pdfs-gui/src/app/main.rs:1385
#: crates/pdfs-gui/src/app/pages/status.rs:254
msgid "General"
msgstr "Geral"
#: crates/pdfs-gui/src/app/main.rs:1374
#: crates/pdfs-gui/src/app/main.rs:1387
#: crates/pdfs-gui/src/app/pages/browser.rs:247
msgid "Search Drive"
msgstr "Pesquisar no Drive"
#: crates/pdfs-gui/src/app/main.rs:1375
#: crates/pdfs-gui/src/app/main.rs:1388
#: crates/pdfs-gui/src/app/pages/browser.rs:957
#: crates/pdfs-gui/src/app/pages/devices.rs:554
#: crates/pdfs-gui/src/app/pages/shared.rs:586
@@ -319,38 +319,38 @@ msgstr "Pesquisar no Drive"
msgid "Refresh"
msgstr "Atualizar"
#: crates/pdfs-gui/src/app/main.rs:1377
#: crates/pdfs-gui/src/app/main.rs:1390
msgid "Keyboard shortcuts"
msgstr "Atalhos de teclado"
#: crates/pdfs-gui/src/app/main.rs:1381
#: crates/pdfs-gui/src/app/main.rs:1394
msgid "Files"
msgstr "Arquivos"
#: crates/pdfs-gui/src/app/main.rs:1383
#: crates/pdfs-gui/src/app/main.rs:1396
#: crates/pdfs-gui/src/app/pages/browser.rs:294
msgid "New folder"
msgstr "Nova pasta"
#: crates/pdfs-gui/src/app/main.rs:1384
#: crates/pdfs-gui/src/app/main.rs:1397
#: crates/pdfs-gui/src/app/pages/browser.rs:290
msgid "Upload files"
msgstr "Enviar arquivos"
#: crates/pdfs-gui/src/app/main.rs:1385
#: crates/pdfs-gui/src/app/main.rs:1398
msgid "Back / forward"
msgstr "Voltar / avançar"
#: crates/pdfs-gui/src/app/main.rs:1386
#: crates/pdfs-gui/src/app/main.rs:1399
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
msgid "Parent folder"
msgstr "Pasta superior"
#: crates/pdfs-gui/src/app/main.rs:1387
#: crates/pdfs-gui/src/app/main.rs:1400
msgid "Grid / list"
msgstr "Grade / lista"
#: crates/pdfs-gui/src/app/main.rs:1388
#: crates/pdfs-gui/src/app/main.rs:1401
#: crates/pdfs-gui/src/app/pages/albums.rs:298
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
@@ -359,7 +359,7 @@ msgstr "Grade / lista"
msgid "Rename"
msgstr "Renomear"
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
#: crates/pdfs-gui/src/app/pages/browser.rs:357
#: crates/pdfs-gui/src/app/pages/browser.rs:900
#: crates/pdfs-gui/src/app/pages/browser.rs:932
@@ -369,73 +369,73 @@ msgstr "Renomear"
msgid "Move to Trash"
msgstr "Mover para a lixeira"
#: crates/pdfs-gui/src/app/main.rs:1390
#: crates/pdfs-gui/src/app/main.rs:1403
msgid "Clear the selection"
msgstr "Limpar a seleção"
#: crates/pdfs-gui/src/app/main.rs:1396
#: crates/pdfs-gui/src/app/main.rs:1409
msgid "Larger thumbnails"
msgstr "Miniaturas maiores"
#: crates/pdfs-gui/src/app/main.rs:1397
#: crates/pdfs-gui/src/app/main.rs:1410
msgid "Smaller thumbnails"
msgstr "Miniaturas menores"
#: crates/pdfs-gui/src/app/main.rs:1398
#: crates/pdfs-gui/src/app/main.rs:1411
msgid "Reset thumbnail size"
msgstr "Redefinir tamanho das miniaturas"
#: crates/pdfs-gui/src/app/main.rs:1399
#: crates/pdfs-gui/src/app/main.rs:1412
msgid "Select all"
msgstr "Selecionar tudo"
#: crates/pdfs-gui/src/app/main.rs:1403
#: crates/pdfs-gui/src/app/main.rs:1416
msgid "Photo Viewer"
msgstr "Visualizador de fotos"
#: crates/pdfs-gui/src/app/main.rs:1405
#: crates/pdfs-gui/src/app/main.rs:1418
msgid "Previous / next photo"
msgstr "Foto anterior / próxima"
#: crates/pdfs-gui/src/app/main.rs:1406
#: crates/pdfs-gui/src/app/main.rs:1419
msgid "First / last photo"
msgstr "Primeira / última foto"
#: crates/pdfs-gui/src/app/main.rs:1407
#: crates/pdfs-gui/src/app/main.rs:1420
msgid "Show details"
msgstr "Mostrar detalhes"
#: crates/pdfs-gui/src/app/main.rs:1408
#: crates/pdfs-gui/src/app/main.rs:1421
msgid "Fullscreen"
msgstr "Tela cheia"
#: crates/pdfs-gui/src/app/main.rs:1410
#: crates/pdfs-gui/src/app/main.rs:1423
msgid "Close"
msgstr "Fechar"
#: crates/pdfs-gui/src/app/main.rs:1500
#: crates/pdfs-gui/src/app/main.rs:1513
msgid "Select a single item to rename it"
msgstr "Selecione um único item para renomeá-lo"
#: crates/pdfs-gui/src/app/main.rs:1660
#: crates/pdfs-gui/src/app/main.rs:1673
#: crates/pdfs-gui/src/app/pages/albums.rs:85
#: crates/pdfs-gui/src/app/pages/places.rs:104
#: crates/pdfs-gui/src/app/pages/status.rs:1371
msgid "Not connected"
msgstr "Não conectado"
#: crates/pdfs-gui/src/app/main.rs:1661
#: crates/pdfs-gui/src/app/main.rs:1674
msgid "The Proton Drive service isn't running."
msgstr "O serviço do Proton Drive não está em execução."
#: crates/pdfs-gui/src/app/main.rs:1669
#: crates/pdfs-gui/src/app/main.rs:1682
#: crates/pdfs-gui/src/app/pages/status.rs:336
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
#: crates/pdfs-gui/src/main.rs:453
msgid "Connecting…"
msgstr "Conectando…"
#: crates/pdfs-gui/src/app/main.rs:1670
#: crates/pdfs-gui/src/app/main.rs:1683
msgid "Waiting for the Proton Drive service to start."
msgstr "Aguardando o serviço do Proton Drive iniciar."
@@ -3178,25 +3178,35 @@ msgstr "Digite seu e-mail e senha."
msgid "Signing in…"
msgstr "Entrando…"
#: crates/pdfs-gui/src/app/pages/login.rs:160
#: crates/pdfs-gui/src/app/pages/login.rs:164
msgid "Complete the verification to continue…"
msgstr "Conclua a verificação para continuar…"
#: crates/pdfs-gui/src/app/pages/login.rs:185
#: crates/pdfs-gui/src/app/pages/login.rs:197
msgid "login cancelled"
msgstr "login cancelado"
#: crates/pdfs-gui/src/app/pages/login.rs:218
#: crates/pdfs-gui/src/app/pages/login.rs:210
msgid ""
"The verification page couldn't be opened, so the sign-in was cancelled. Your "
"system may keep the web view's sandbox from starting; the troubleshooting "
"guide explains what to do."
msgstr ""
"Não foi possível abrir a página de verificação, então a entrada foi "
"cancelada. Seu sistema pode estar impedindo que a sandbox da visualização "
"web inicie; o guia de solução de problemas explica o que fazer."
#: crates/pdfs-gui/src/app/pages/login.rs:233
msgid "Too many sign-in attempts. Wait a few minutes and try again."
msgstr "Muitas tentativas de entrar. Aguarde alguns minutos e tente novamente."
#: crates/pdfs-gui/src/app/pages/login.rs:224
#: crates/pdfs-gui/src/app/pages/login.rs:239
msgid "Couldn't reach Proton. Check your internet connection and try again."
msgstr ""
"Não foi possível acessar o Proton. Verifique sua conexão com a internet e "
"tente novamente."
#: crates/pdfs-gui/src/app/pages/login.rs:227
#: crates/pdfs-gui/src/app/pages/login.rs:242
msgid ""
"Signed in, but the session couldn't be saved to the system keyring. Make "
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
@@ -3205,19 +3215,19 @@ msgstr ""
"Certifique-se de que um chaveiro (GNOME Keyring ou KWallet) esteja em "
"execução e desbloqueado."
#: crates/pdfs-gui/src/app/pages/login.rs:230
#: crates/pdfs-gui/src/app/pages/login.rs:245
msgid "Sign-in cancelled: no two-factor code was entered."
msgstr "Entrada cancelada: nenhum código de dois fatores foi digitado."
#: crates/pdfs-gui/src/app/pages/login.rs:233
#: crates/pdfs-gui/src/app/pages/login.rs:248
msgid "Sign-in cancelled: no mailbox password was entered."
msgstr "Entrada cancelada: nenhuma senha da caixa de correio foi digitada."
#: crates/pdfs-gui/src/app/pages/login.rs:236
#: crates/pdfs-gui/src/app/pages/login.rs:251
msgid "That mailbox password didn't unlock your account."
msgstr "Essa senha da caixa de correio não desbloqueou sua conta."
#: crates/pdfs-gui/src/app/pages/login.rs:239
#: crates/pdfs-gui/src/app/pages/login.rs:254
msgid ""
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
"new one."
@@ -3226,79 +3236,87 @@ msgstr ""
"receber uma nova."
#. Translators: {error} is an error message, usually in English.
#: crates/pdfs-gui/src/app/pages/login.rs:244
#: crates/pdfs-gui/src/app/pages/login.rs:259
#, rust-format
msgid "Sign-in failed: {error}"
msgstr "Falha ao entrar: {error}"
#: crates/pdfs-gui/src/app/pages/login.rs:354
msgid "That mailbox password didn't unlock your account. Try again."
msgstr "Essa senha da caixa de correio não desbloqueou sua conta. Tente novamente."
#: crates/pdfs-gui/src/app/pages/login.rs:356
msgid ""
"This account has a separate mailbox password. Enter it to unlock your files."
msgstr "Esta conta tem uma senha da caixa de correio separada. Digite-a para desbloquear seus arquivos."
#: crates/pdfs-gui/src/app/pages/login.rs:359
msgid "Mailbox Password"
msgstr "Senha da caixa de correio"
#: crates/pdfs-gui/src/app/pages/login.rs:365
msgid "Mailbox password"
msgstr "Senha da caixa de correio"
#: crates/pdfs-gui/src/app/pages/login.rs:369
msgid "Keep unlocked on this computer"
msgstr "Manter desbloqueado neste computador"
msgid "That mailbox password didn't unlock your account. Try again."
msgstr ""
"Essa senha da caixa de correio não desbloqueou sua conta. Tente novamente."
#: crates/pdfs-gui/src/app/pages/login.rs:371
msgid ""
"This account has a separate mailbox password. Enter it to unlock your files."
msgstr ""
"Esta conta tem uma senha da caixa de correio separada. Digite-a para "
"desbloquear seus arquivos."
#: crates/pdfs-gui/src/app/pages/login.rs:374
msgid "Mailbox Password"
msgstr "Senha da caixa de correio"
#: crates/pdfs-gui/src/app/pages/login.rs:380
msgid "Mailbox password"
msgstr "Senha da caixa de correio"
#: crates/pdfs-gui/src/app/pages/login.rs:384
msgid "Keep unlocked on this computer"
msgstr "Manter desbloqueado neste computador"
#: crates/pdfs-gui/src/app/pages/login.rs:386
msgid ""
"Stores the unlock in the system keyring, so Proton Drive opens without "
"asking after every login. Otherwise you enter the password once per session."
msgstr "Guarda o desbloqueio no chaveiro do sistema, para que o Proton Drive abra sem perguntar após cada login. Caso contrário, você digita a senha uma vez por sessão."
msgstr ""
"Guarda o desbloqueio no chaveiro do sistema, para que o Proton Drive abra "
"sem perguntar após cada login. Caso contrário, você digita a senha uma vez "
"por sessão."
#: crates/pdfs-gui/src/app/pages/login.rs:379
#: crates/pdfs-gui/src/app/pages/login.rs:432
#: crates/pdfs-gui/src/app/pages/login.rs:394
#: crates/pdfs-gui/src/app/pages/login.rs:447
msgid "Unlock"
msgstr "Desbloquear"
#: crates/pdfs-gui/src/app/pages/login.rs:431
#: crates/pdfs-gui/src/app/pages/login.rs:446
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
msgstr "O Proton Drive está bloqueado. Digite a senha da caixa de correio para desbloqueá-lo."
msgstr ""
"O Proton Drive está bloqueado. Digite a senha da caixa de correio para "
"desbloqueá-lo."
#: crates/pdfs-gui/src/app/pages/login.rs:460
#: crates/pdfs-gui/src/app/pages/login.rs:475
msgid "Unlocked."
msgstr "Desbloqueado."
#: crates/pdfs-gui/src/app/pages/login.rs:465
#: crates/pdfs-gui/src/app/pages/login.rs:480
msgid "Couldn't unlock"
msgstr "Não foi possível desbloquear"
#: crates/pdfs-gui/src/app/pages/login.rs:478
#: crates/pdfs-gui/src/app/pages/login.rs:493
msgid "Two-Factor Authentication"
msgstr "Autenticação de dois fatores"
#: crates/pdfs-gui/src/app/pages/login.rs:480
#: crates/pdfs-gui/src/app/pages/login.rs:495
msgid ""
"Enter the code from your authenticator app, or one of your recovery codes."
msgstr ""
"Digite o código do seu aplicativo autenticador ou um dos seus códigos de "
"recuperação."
#: crates/pdfs-gui/src/app/pages/login.rs:486
#: crates/pdfs-gui/src/app/pages/login.rs:501
msgid "Authentication code"
msgstr "Código de autenticação"
#: crates/pdfs-gui/src/app/pages/login.rs:493
#: crates/pdfs-gui/src/app/pages/login.rs:508
msgid "Confirm"
msgstr "Confirmar"
#: crates/pdfs-gui/src/app/pages/login.rs:521
#: crates/pdfs-gui/src/app/pages/login.rs:536
msgid "Sign Out?"
msgstr "Sair?"
#: crates/pdfs-gui/src/app/pages/login.rs:523
#: crates/pdfs-gui/src/app/pages/login.rs:538
msgid ""
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
"already on this computer stay where they are."
@@ -3306,7 +3324,7 @@ msgstr ""
"O Proton Drive será desconectado e deixará de sincronizar até você entrar "
"novamente. Os arquivos que já estão neste computador permanecem onde estão."
#: crates/pdfs-gui/src/app/pages/login.rs:525
#: crates/pdfs-gui/src/app/pages/login.rs:540
msgid "Sign Out"
msgstr "Sair"
@@ -5276,7 +5294,7 @@ msgstr "Lixeira esvaziada"
msgid "Couldn't empty the trash"
msgstr "Não foi possível esvaziar a lixeira"
#: crates/pdfs-gui/src/app/pages/verify.rs:57
#: crates/pdfs-gui/src/app/pages/verify.rs:162
msgid "Verification"
msgstr "Verificação"