Andrey Antukh 4b978767ea
🌐 Clean up en translations (#11853)
Drop 277 keys nothing references from en.po (verified against
frontend/src and common/src) and let sync propagate the
deletions to every locale. Clear all 10 fuzzy entries: fill
the 5 empty translations, keep the 4 valid ones, and drop the
duplicated max-quote-reached in favor of max-quota-reached
(the backend code stays, the UI maps it to the quota text).

Recover 22 used-but-missing keys with translations: the 19
shortcuts section/subsection labels plus connected-to,
pixel-grid-color and tokens.add-set. Make the rest
statically visible to rehash instead: :label fns on shortcut
commands, sections and subsections (one debug-only and one
colorpicker-local id exempt); case branches in place of
dm/str-built keys (export modal, text decoration and
transform, undo history with raw-key fallback); hoist
conditionals out of tr calls; pre-translate modal props and
role labels; replace the lone (i18n/tr ...) site with tr.
Turn static :error/code data into eager :error/fn calls in
the common schemas and the auth/password forms. Rename the
two keys containing spaces and point team leave at
max-quota-reached. Backend-driven keys stay dynamic by
design, declared with (tr ...) comments: the five
weak-password details, team and organization notifications.

Tooling: rehash also scans common/src and no longer treats
a missing -l as no locale; new clj-kondo tr-dynamic warning
flags non-literal tr args (lint scripts use --fail-level
error so it never fails CI); tr docstring states the
literal-only rule. Tests cover the shortcut label wiring,
the undo-history fallback and the :error/fn schemas.
Translations memory rewritten to match; es check word list
gains three entries.

Rebased onto develop: adopt the register field-error UX
(the weak-password declarations move onto the :options
code), keep develop's newer keys (connection-error,
account-locked, save-retrying, tokens-source strings) with
fresh references, and reword the shortcuts.cljs prose
comment so rehash does not invent a "literal" key.

AI-assisted-by: muse-spark-1.3-contributor
2026-09-25 11:11:44 +02:00

270 lines
8.6 KiB
Plaintext

msgid ""
msgstr ""
"PO-Revision-Date: 2026-05-27 16:03+0000\n"
"Last-Translator: Anderson Paulo <anderson.pr10@gmail.com>\n"
"Language-Team: Portuguese "
"<https://hosted.weblate.org/projects/penpot/frontend/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.6.dev0\n"
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
msgid "auth.already-have-account"
msgstr "Já tem uma conta?"
#: src/app/main/ui/auth/recovery.cljs:83
msgid "auth.confirm-password"
msgstr "Confirme sua senha"
#: src/app/main/ui/auth/register.cljs:239
msgid "auth.create-demo-account"
msgstr "Criar conta de demonstração"
#: src/app/main/ui/auth/login.cljs:41
msgid "auth.demo-warning"
msgstr ""
"Este é um serviço DEMONSTRAÇÃO, NÃO USE para trabalho real, os projetos "
"serão apagados periodicamente."
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
msgid "auth.forgot-password"
msgstr "Esqueceu sua senha?"
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
msgid "auth.fullname"
msgstr "Nome completo"
#: src/app/main/ui/auth/login.cljs:294
msgid "auth.login-account-title"
msgstr "Entrar na minha conta"
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
msgid "auth.login-here"
msgstr "Faça login aqui."
#: src/app/main/ui/auth/login.cljs:297
msgid "auth.login-tagline"
msgstr ""
"Penpot é a ferramenta de design de código aberto e gratuita para "
"colaboração em design e código"
#: src/app/main/ui/auth/login.cljs:254
msgid "auth.login-with-github-submit"
msgstr "GitHub"
#: src/app/main/ui/auth/login.cljs:260
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
#: src/app/main/ui/auth/login.cljs:248
msgid "auth.login-with-google-submit"
msgstr "Google"
#: src/app/main/ui/auth/login.cljs:213
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
#: src/app/main/ui/auth/login.cljs:266
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
#: src/app/main/ui/auth/recovery.cljs:76
msgid "auth.new-password"
msgstr "Digite uma nova senha"
#: src/app/main/ui/auth/recovery.cljs:52
msgid "auth.notifications.password-changed-successfully"
msgstr "Senha alterada com sucesso"
#: src/app/main/ui/auth/recovery_request.cljs:50
msgid "auth.notifications.profile-not-verified"
msgstr ""
"O perfil não está verificado, por favor verifique o perfil antes de "
"continuar."
#: src/app/main/ui/auth/recovery_request.cljs:33
msgid "auth.notifications.recovery-token-sent"
msgstr "Link de recuperação de senha enviado para o seu e-mail."
#: src/app/main/ui/auth/verify_token.cljs:85
msgid "auth.notifications.team-invitation-accepted"
msgstr "Entrou para a equipe com sucesso"
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
msgid "auth.password"
msgstr "Senha"
#: src/app/main/ui/auth/register.cljs:188
msgid "auth.password-length-hint"
msgstr "Pelo menos 8 caracteres"
#: src/app/main/ui/auth/register.cljs:272
msgid "auth.privacy-policy"
msgstr "Política de Privacidade"
#: src/app/main/ui/auth/recovery_request.cljs:81
msgid "auth.recovery-request-submit"
msgstr "Recuperar senha"
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
msgid "auth.recovery-request-subtitle"
msgstr "Enviaremos um e-mail com instruções"
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
msgid "auth.recovery-request-title"
msgstr "Esqueceu sua senha?"
#: src/app/main/ui/auth/recovery.cljs:86
msgid "auth.recovery-submit"
msgstr "Altere sua senha"
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
msgid "auth.register"
msgstr "Ainda não tem uma conta?"
#: src/app/main/ui/auth/register.cljs:357
msgid "auth.register-account-tagline"
msgstr "Informe como deseja ser chamado no painel e nos e-mails."
#: src/app/main/ui/auth/register.cljs:356
msgid "auth.register-account-title"
msgstr "Seu nome"
#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
msgid "auth.register-submit"
msgstr "Criar uma conta"
#: src/app/main/ui/auth/register.cljs:218
msgid "auth.register-title"
msgstr "Criar uma conta"
#: src/app/main/ui/auth/register.cljs:49
#, markdown
msgid "auth.terms-and-privacy-agreement"
msgstr "Concordo com os [termos de serviço](%s) e a [política de privacidade](%s)."
#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
msgid "auth.terms-of-service"
msgstr "Termos de serviço"
#: src/app/main/ui/auth/login.cljs:185, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:182
msgid "auth.work-email"
msgstr "E-mail profissional"
#: src/app/main/ui/comments.cljs:577
msgid "comments.mentions.not-found"
msgstr "Nenhuma pessoa encontrada para @%s"
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
msgid "common.publish"
msgstr "Publicar"
#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
msgid "common.share-link.all-users"
msgstr "Todos os usuários do Penpot"
#: src/app/main/ui/viewer/share_link.cljs:198
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Tem certeza de que deseja remover este link? Se fizer isso, ele não estará "
"mais disponível para ninguém"
#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
msgid "common.share-link.current-tag"
msgstr "(atual)"
#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
msgid "common.share-link.destroy-link"
msgstr "Excluir link"
#: src/app/main/ui/viewer/share_link.cljs:221
msgid "common.share-link.get-link"
msgstr "Obter link"
#: src/app/main/ui/viewer/share_link.cljs:137
msgid "common.share-link.link-copied-success"
msgstr "Link copiado com sucesso"
#: src/app/main/ui/viewer/share_link.cljs:231
msgid "common.share-link.manage-ops"
msgstr "Gerenciar permissões"
#: src/app/main/ui/viewer/share_link.cljs:277
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "Página compartilhada"
msgstr[1] "%s páginas compartilhadas"
#: src/app/main/ui/viewer/share_link.cljs:298
msgid "common.share-link.permissions-can-comment"
msgstr "Pode comentar"
#: src/app/main/ui/viewer/share_link.cljs:308
msgid "common.share-link.permissions-can-inspect"
msgstr "Pode inspecionar o código"
#: src/app/main/ui/viewer/share_link.cljs:193
msgid "common.share-link.permissions-hint"
msgstr "Qualquer pessoa com o link terá acesso"
#: src/app/main/ui/viewer/share_link.cljs:241
msgid "common.share-link.permissions-pages"
msgstr "Páginas compartilhadas"
#: src/app/main/ui/viewer/share_link.cljs:183
msgid "common.share-link.placeholder"
msgstr "O link compartilhável aparecerá aqui"
#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.team-members"
msgstr "Somente membros da equipe"
#: src/app/main/ui/viewer/share_link.cljs:171
msgid "common.share-link.title"
msgstr "Compartilhar protótipos"
#: src/app/main/ui/viewer/share_link.cljs:269
msgid "common.share-link.view-all"
msgstr "Selecionar tudo"
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
msgid "common.unpublish"
msgstr "Despublicar"
#: src/app/main/ui/dashboard/projects.cljs:90
msgid "dasboard.team-hero.management"
msgstr "Gestão da equipe"
#: src/app/main/ui/dashboard/projects.cljs:89
msgid "dasboard.team-hero.text"
msgstr ""
"O Penpot foi feito para equipes. Convide membros para trabalharem juntos em "
"projetos e arquivos"
#: src/app/main/ui/dashboard/projects.cljs:87
msgid "dasboard.team-hero.title"
msgstr "Monte sua equipe!"
#: src/app/main/ui/dashboard/placeholder.cljs:40
msgid "dashboard.add-file"
msgstr "Adicionar arquivo"
#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
msgid "dashboard.add-shared"
msgstr "Adicionar como Biblioteca Compartilhada"
#: src/app/main/ui/settings/profile.cljs:75
msgid "dashboard.change-email"
msgstr "Alterar e-mail"
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
msgid "dashboard.copy-suffix"
msgstr "(copiar)"
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
msgid "dashboard.create-new-team"
msgstr "Criar nova equipe"