mirror of
https://github.com/photoprism/photoprism.git
synced 2026-07-17 16:49:04 +00:00
* Frontend: Add settings for albums, favorites, folders, and media features * Frontend: Enhance download settings for files and albums #848 * Frontend: Enhance download settings for files and albums #848 * Frontend: Update album download settings to restrict access to super admins * Frontend: Add album sorting options to settings for super admins * Frontend: Update download settings visibility * Frontend: Refine download settings access control for user roles * Tests: Add album, folder, moment, state, and month order selection options to page-model * Frontend: Update access control for super admins in settings to include scope check * Tests: Add new tests for download name and album order settings persistence * Tests: Implement new tests for default album sort order persistence in settings * Frontend: Move default album order settings * Frontend: Add zoom accessibility option in settings #799 * Frontend: Update download name from "Share Identifier" to "Share Friendly" and refine hints for download options in settings * Tests: Add new acceptance test for disabling album downloads while allowing file downloads in settings * Frontend: Improve download options layout and hints * Frontend: Refactor download options condition in settings page * Frontend: Implement native zoom control in lightbox component * Settings: Add Collections tab and move Services to its own page #848 #5429 - Add a super-admin Collections tab after Content holding the album Download and Sort Order settings; remove those cards from Content. - Move Services from a settings tab to a dedicated page (page/services.vue) with a search toolbar and a Reload / Learn More action menu; link it from the navigation settings menu. - Implement server-side services search (acc_name filter) with tests. - De-duplicate the picture sort-order options into a shared SortOrderOptions builder in options.js. - Update acceptance/unit tests and page models to match. * Frontend: Regenerate translation catalogs #848 #5429 Ran `make gettext-extract` to pick up the new settings strings (Collections, Features, Disable Downloads, and related messages) so Weblate can translate them. Existing translations are preserved. * Frontend: Move lightbox viewport-zoom handling into the view helper - Move the viewport pinch-zoom lock/restore (disableNativeZoom / restoreNativeZoom + savedViewportContent) from lightbox.vue onto the View singleton in common/view.js. - Drive it passively from View.apply() via a disableViewportZoom flag in the PLightbox case, alongside hideScrollbar / disableScrolling / disableNavigationGestures; lightbox.vue no longer references zoom. - Make save/restore idempotent and extract the viewport constants. - Cover the helpers and the apply() wiring in view.test.js. * Settings: Add Accessibility section to General with Reduce Motion #848 #5429 - Move the page-zoom checkbox out of the feature-flags grid into a dedicated Accessibility card (super-admin only) with four toggles: Open on Hover, Reduce Motion, Hide Scrollbar, and Allow Page Zoom. - Add a UI.ReduceMotion flag (defaults false) that toggles an html.reduce-motion class via config.setReduceMotion and suppresses map fly-to animations non-destructively (util.mapAnimateDuration). - Make Open on Hover apply live by reading shouldOpenOnHover() through a reactive computed in the action/auth/lightbox menus; Zoom and Hide Scrollbar reload since they are baked into the server-rendered HTML. - Reword two feature-grid hints to the "pictures" convention and cover the new helpers with Go and Vitest tests. * Frontend: Regenerate translation catalogs #848 #5429 Ran `make gettext-extract` to pick up the new Accessibility settings strings (Accessibility, Allow Page Zoom, Open on Hover, Hide Scrollbar, Reduce Motion, and their hints) and the reworded feature-grid hints. Existing translations are preserved. --------- Co-authored-by: Michael Mayer <michael@photoprism.app>
441 lines
9.2 KiB
Text
441 lines
9.2 KiB
Text
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: \n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2026-06-27 09:13+0000\n"
|
|
"PO-Revision-Date: 2026-06-27 10:28+0000\n"
|
|
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-"
|
|
"translate@weblate.org>\n"
|
|
"Language-Team: Portuguese <https://translate.photoprism.app/projects/"
|
|
"photoprism/backend/pt/>\n"
|
|
"Language: pt\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
|
"X-Generator: Weblate 2026.5\n"
|
|
|
|
#: messages.go:112
|
|
msgid "Something went wrong, try again"
|
|
msgstr "Algo correu mal, tente novamente"
|
|
|
|
#: messages.go:113
|
|
msgid "Unable to do that"
|
|
msgstr "Incapaz de fazer isso"
|
|
|
|
#: messages.go:114
|
|
msgid "Changes could not be saved"
|
|
msgstr "As mudanças não foram salvas"
|
|
|
|
#: messages.go:115
|
|
msgid "Could not be deleted"
|
|
msgstr "Não foi possível excluir"
|
|
|
|
#: messages.go:116
|
|
#, c-format
|
|
msgid "%s already exists"
|
|
msgstr "%s já existe"
|
|
|
|
#: messages.go:117
|
|
msgid "Not found"
|
|
msgstr "Não encontrado"
|
|
|
|
#: messages.go:118
|
|
msgid "File not found"
|
|
msgstr "Arquivo não encontrado"
|
|
|
|
#: messages.go:119
|
|
msgid "File too large"
|
|
msgstr "Arquivo muito grande"
|
|
|
|
#: messages.go:120
|
|
msgid "Unsupported"
|
|
msgstr "Não compatível"
|
|
|
|
#: messages.go:121
|
|
msgid "Unsupported type"
|
|
msgstr "Tipo não suportado"
|
|
|
|
#: messages.go:122
|
|
msgid "Unsupported format"
|
|
msgstr "Formato sem suporte"
|
|
|
|
#: messages.go:123
|
|
msgid "Originals folder is empty"
|
|
msgstr "A pasta dos originais está vazia"
|
|
|
|
#: messages.go:124
|
|
msgid "Selection not found"
|
|
msgstr "Seleção não encontrada"
|
|
|
|
#: messages.go:125
|
|
msgid "Entity not found"
|
|
msgstr "Entidade não encontrada"
|
|
|
|
#: messages.go:126
|
|
msgid "Account not found"
|
|
msgstr "Conta não encontrada"
|
|
|
|
#: messages.go:127
|
|
msgid "User not found"
|
|
msgstr "Usuário não encontrado"
|
|
|
|
#: messages.go:128
|
|
msgid "Label not found"
|
|
msgstr "Etiqueta não encontrada"
|
|
|
|
#: messages.go:129
|
|
msgid "Camera not found"
|
|
msgstr "Não foi encontrada nenhuma câmara"
|
|
|
|
#: messages.go:130
|
|
msgid "Lens not found"
|
|
msgstr "Lente não encontrada"
|
|
|
|
#: messages.go:131
|
|
msgid "Album not found"
|
|
msgstr "Álbum não encontrado"
|
|
|
|
#: messages.go:132
|
|
msgid "Subject not found"
|
|
msgstr "Assunto não encontrado"
|
|
|
|
#: messages.go:133
|
|
msgid "Person not found"
|
|
msgstr "Pessoa não encontrada"
|
|
|
|
#: messages.go:134
|
|
msgid "Face not found"
|
|
msgstr "Rosto não encontrado"
|
|
|
|
#: messages.go:135
|
|
msgid "Not available in public mode"
|
|
msgstr "Indisponível em modo público"
|
|
|
|
#: messages.go:136
|
|
msgid "Not available in read-only mode"
|
|
msgstr "Não disponível no modo somente leitura"
|
|
|
|
#: messages.go:137
|
|
msgid "Please log in to your account"
|
|
msgstr "Faça o login em sua conta"
|
|
|
|
#: messages.go:138
|
|
msgid "Permission denied"
|
|
msgstr "Permissão negada"
|
|
|
|
#: messages.go:139
|
|
msgid "Payment required"
|
|
msgstr "Pagamento obrigatório"
|
|
|
|
#: messages.go:140
|
|
msgid "Upload might be offensive"
|
|
msgstr "Envio pode ser ofensivo"
|
|
|
|
#: messages.go:141
|
|
msgid "Upload failed"
|
|
msgstr "Envio falhou"
|
|
|
|
#: messages.go:142
|
|
msgid "No items selected"
|
|
msgstr "Sem itens selecionados"
|
|
|
|
#: messages.go:143
|
|
msgid "Failed creating file, please check permissions"
|
|
msgstr "Falha ao criar arquivo, por favor cheque as permissões"
|
|
|
|
#: messages.go:144
|
|
msgid "Failed creating folder, please check permissions"
|
|
msgstr "Falha ao criar pasta, por favor cheque as permissões"
|
|
|
|
#: messages.go:145
|
|
msgid "Could not connect, please try again"
|
|
msgstr "Não foi possível conectar, por favor tente novamente"
|
|
|
|
#: messages.go:146
|
|
msgid "Enter verification code"
|
|
msgstr "Digite o código de verificação"
|
|
|
|
#: messages.go:147
|
|
msgid "Invalid verification code, please try again"
|
|
msgstr "Código de verificação inválido, tente novamente"
|
|
|
|
#: messages.go:148
|
|
msgid "Invalid password, please try again"
|
|
msgstr "Senha inválida, por favor tente novamente"
|
|
|
|
#: messages.go:149
|
|
msgid "Feature disabled"
|
|
msgstr "Recurso Desativado"
|
|
|
|
#: messages.go:150
|
|
msgid "No labels selected"
|
|
msgstr "Sem etiquetas selecionadas"
|
|
|
|
#: messages.go:151
|
|
msgid "No albums selected"
|
|
msgstr "Sem álbuns selecionados"
|
|
|
|
#: messages.go:152
|
|
msgid "No files available for download"
|
|
msgstr "Sem arquivos disponíveis para baixar"
|
|
|
|
#: messages.go:153
|
|
msgid "Failed to create zip file"
|
|
msgstr "Falha ao criar arquivo zip"
|
|
|
|
#: messages.go:154
|
|
msgid "Invalid credentials"
|
|
msgstr "Credenciais inválidas"
|
|
|
|
#: messages.go:155
|
|
msgid "Invalid link"
|
|
msgstr "Link inválido"
|
|
|
|
#: messages.go:156
|
|
msgid "Invalid name"
|
|
msgstr "Nome inválido"
|
|
|
|
#: messages.go:157
|
|
msgid "Busy, please try again later"
|
|
msgstr "Em uso, por favor tente novamente mais tarde"
|
|
|
|
#: messages.go:158
|
|
#, c-format
|
|
msgid "The wakeup interval is %s, but must be 1h or less"
|
|
msgstr "O intervalo de despertar é %s, mas deve ser de 1h ou menos"
|
|
|
|
#: messages.go:159
|
|
msgid "Your account could not be connected"
|
|
msgstr "Sua conta não pôde ser conectada"
|
|
|
|
#: messages.go:160
|
|
msgid "Too many requests"
|
|
msgstr "Demasiados pedidos"
|
|
|
|
#: messages.go:161
|
|
msgid "Insufficient storage"
|
|
msgstr "Armazenamento insuficiente"
|
|
|
|
#: messages.go:162
|
|
msgid "Quota exceeded"
|
|
msgstr "Quota excedida"
|
|
|
|
#: messages.go:163
|
|
msgid "Registration disabled"
|
|
msgstr "Cadastro desativado"
|
|
|
|
#: messages.go:164
|
|
msgid "Verified email required"
|
|
msgstr "É necessário um e-mail verificado."
|
|
|
|
#: messages.go:167
|
|
msgid "Changes successfully saved"
|
|
msgstr "As mudanças foram salvas com sucesso"
|
|
|
|
#: messages.go:168
|
|
msgid "Album created"
|
|
msgstr "Álbum criado"
|
|
|
|
#: messages.go:169
|
|
msgid "Album saved"
|
|
msgstr "Álbum salvo"
|
|
|
|
#: messages.go:170
|
|
#, c-format
|
|
msgid "Album %s deleted"
|
|
msgstr "Álbum %s excluído"
|
|
|
|
#: messages.go:171
|
|
msgid "Album contents cloned"
|
|
msgstr "Conteúdo do álbum copiado"
|
|
|
|
#: messages.go:172
|
|
msgid "File removed from stack"
|
|
msgstr "Arquivo removido da pilha"
|
|
|
|
#: messages.go:173
|
|
msgid "File deleted"
|
|
msgstr "Arquivo excluído"
|
|
|
|
#: messages.go:174
|
|
#, c-format
|
|
msgid "Selection added to %s"
|
|
msgstr "Seleção adicionada a %s"
|
|
|
|
#: messages.go:175
|
|
#, c-format
|
|
msgid "One entry added to %s"
|
|
msgstr "Uma entrada adicionada a %s"
|
|
|
|
#: messages.go:176
|
|
#, c-format
|
|
msgid "%d entries added to %s"
|
|
msgstr "%d entradas adicionadas a %s"
|
|
|
|
#: messages.go:177
|
|
#, c-format
|
|
msgid "One entry removed from %s"
|
|
msgstr "Uma entrada removida de %s"
|
|
|
|
#: messages.go:178
|
|
#, c-format
|
|
msgid "%d entries removed from %s"
|
|
msgstr "%d entradas removidas de %s"
|
|
|
|
#: messages.go:179
|
|
msgid "Account created"
|
|
msgstr "Conta criada"
|
|
|
|
#: messages.go:180
|
|
msgid "Account saved"
|
|
msgstr "Conta salva"
|
|
|
|
#: messages.go:181
|
|
msgid "Account deleted"
|
|
msgstr "Conta excluída"
|
|
|
|
#: messages.go:182
|
|
msgid "Settings saved"
|
|
msgstr "Configurações salvas"
|
|
|
|
#: messages.go:183
|
|
msgid "Password changed"
|
|
msgstr "Senha alterada"
|
|
|
|
#: messages.go:184
|
|
#, c-format
|
|
msgid "Import completed in %d s"
|
|
msgstr "Importação completa em %d"
|
|
|
|
#: messages.go:185
|
|
msgid "Import canceled"
|
|
msgstr "Importação cancelada"
|
|
|
|
#: messages.go:186
|
|
#, c-format
|
|
msgid "Indexing completed in %d s"
|
|
msgstr "Indexação completa em %d"
|
|
|
|
#: messages.go:187
|
|
msgid "Indexing originals..."
|
|
msgstr "Indexando originais..."
|
|
|
|
#: messages.go:188
|
|
#, c-format
|
|
msgid "Indexing files in %s"
|
|
msgstr "Indexando arquivos em %s"
|
|
|
|
#: messages.go:189
|
|
msgid "Indexing canceled"
|
|
msgstr "Indexação cancelada"
|
|
|
|
#: messages.go:190
|
|
#, c-format
|
|
msgid "Removed %d files and %d photos"
|
|
msgstr "Removidos %d arquivos e %d fotos"
|
|
|
|
#: messages.go:191
|
|
#, c-format
|
|
msgid "Moving files from %s"
|
|
msgstr "Movendo arquivos de %s"
|
|
|
|
#: messages.go:192
|
|
#, c-format
|
|
msgid "Copying files from %s"
|
|
msgstr "Copiando arquivos de %s"
|
|
|
|
#: messages.go:193
|
|
msgid "Labels deleted"
|
|
msgstr "Etiquetas excluídas"
|
|
|
|
#: messages.go:194
|
|
msgid "Label saved"
|
|
msgstr "Etiqueta salva"
|
|
|
|
#: messages.go:195
|
|
msgid "Subject saved"
|
|
msgstr "Assunto salvo"
|
|
|
|
#: messages.go:196
|
|
msgid "Subject deleted"
|
|
msgstr "Assunto eliminado"
|
|
|
|
#: messages.go:197
|
|
msgid "Person saved"
|
|
msgstr "Pessoa salva"
|
|
|
|
#: messages.go:198
|
|
msgid "Person deleted"
|
|
msgstr "Pessoa apagada"
|
|
|
|
#: messages.go:199
|
|
msgid "File uploaded"
|
|
msgstr "Arquivo carregado"
|
|
|
|
#: messages.go:200
|
|
#, c-format
|
|
msgid "%d files uploaded in %d s"
|
|
msgstr "%d arquivos enviados em %d"
|
|
|
|
#: messages.go:201
|
|
msgid "Processing upload..."
|
|
msgstr "A processar carregamento..."
|
|
|
|
#: messages.go:202
|
|
msgid "Upload has been processed"
|
|
msgstr "O Upload foi processado"
|
|
|
|
#: messages.go:203
|
|
msgid "Selection approved"
|
|
msgstr "Seleção aprovada"
|
|
|
|
#: messages.go:204
|
|
msgid "Selection archived"
|
|
msgstr "Seleção arquivada"
|
|
|
|
#: messages.go:205
|
|
msgid "Selection restored"
|
|
msgstr "Seleção restaurada"
|
|
|
|
#: messages.go:206
|
|
msgid "Selection marked as private"
|
|
msgstr "Seleção marcada como privada"
|
|
|
|
#: messages.go:207
|
|
msgid "Albums deleted"
|
|
msgstr "Álbuns excluídos"
|
|
|
|
#: messages.go:208
|
|
#, c-format
|
|
msgid "Zip created in %d s"
|
|
msgstr "Zip criado em %d"
|
|
|
|
#: messages.go:209
|
|
msgid "Permanently deleted"
|
|
msgstr "Permanentemente excluídas"
|
|
|
|
#: messages.go:210
|
|
#, c-format
|
|
msgid "%s has been restored"
|
|
msgstr "%s foi restaurado"
|
|
|
|
#: messages.go:211
|
|
msgid "Successfully verified"
|
|
msgstr "Verificado com sucesso"
|
|
|
|
#: messages.go:212
|
|
msgid "Successfully activated"
|
|
msgstr "Ativado com sucesso"
|
|
|
|
#~ msgid "Storage is full"
|
|
#~ msgstr "O armazenamento está cheio"
|
|
|
|
#~ msgid "Invalid request"
|
|
#~ msgstr "Solicitação inválida"
|
|
|
|
#~ msgid "Unexpected error, please try again"
|
|
#~ msgstr "Erro inesperado, por favor tente novamente"
|
|
|
|
#~ msgid "Not found on server, deleted?"
|
|
#~ msgstr "Não foi encontrado no servidor, foi excluído?"
|