CINXE.COM
Tradução contínua - Documentação Weblate 5.10.1
<!doctype html> <html class="no-js" lang="pt" data-content_root="../"> <head><meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1"/> <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="og:title" content="Tradução contínua" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://docs.weblate.org/pt/latest/admin/continuous.html" /> <meta property="og:site_name" content="Weblate" /> <meta property="og:description" content="Há infraestrutura em vigor para que a sua tradução acompanhe o desenvolvimento de perto . Desta forma, os tradutores podem trabalhar em traduções o tempo todo, em vez de trabalhar com uma enorme qu..." /> <meta property="og:image:width" content="1146" /> <meta property="og:image:height" content="600" /> <meta property="og:image" content="https://docs.weblate.org/pt/latest/_images/social_previews/summary_admin_continuous_1a8a2ac9.png" /> <meta property="og:image:alt" content="Há infraestrutura em vigor para que a sua tradução acompanhe o desenvolvimento de perto . Desta forma, os tradutores podem trabalhar em traduções o tempo tod..." /> <meta name="description" content="Há infraestrutura em vigor para que a sua tradução acompanhe o desenvolvimento de perto . Desta forma, os tradutores podem trabalhar em traduções o tempo todo, em vez de trabalhar com uma enorme qu..." /> <meta name="twitter:card" content="summary_large_image" /> <meta property="fb:app_id" content="741121112629028" /> <meta property="fb:page_id" content="371217713079025" /> <meta name="twitter:site" content="@WeblateOrg" /> <link rel="index" title="Índice" href="../genindex.html" /><link rel="search" title="Pesquisar" href="../search.html" /><link rel="next" title="Licenciar traduções" href="licensing.html" /><link rel="prev" title="Definições de idioma" href="languages.html" /> <link rel="canonical" href="https://docs.weblate.org/pt/latest/admin/continuous.html" /> <!-- Generated with Sphinx 8.1.3 and Furo 2024.08.06 --> <title>Tradução contínua - Documentação Weblate 5.10.1</title> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=8f2a1f02" /> <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=354aac6f" /> <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=4ae1632d" /> <link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" /> <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=302659d7" /> <link rel="stylesheet" type="text/css" href="https://weblate.org/static/vendor/font-source/source-sans-3.css" /> <link rel="stylesheet" type="text/css" href="https://weblate.org/static/vendor/font-source/source-code-pro.css" /> <style> body { --color-code-background: #f8f8f8; --color-code-foreground: black; --font-stack: "Source Sans 3", sans-serif; --font-stack--monospace: "Source Code Pro", monospace; --color-brand-primary: #1fa385; --color-brand-content: #1fa385; } @media not print { body[data-theme="dark"] { --color-code-background: #202020; --color-code-foreground: #d0d0d0; --font-stack: "Source Sans 3", sans-serif; --font-stack--monospace: "Source Code Pro", monospace; --color-brand-primary: #1fa385; --color-brand-content: #1fa385; } @media (prefers-color-scheme: dark) { body:not([data-theme="light"]) { --color-code-background: #202020; --color-code-foreground: #d0d0d0; --font-stack: "Source Sans 3", sans-serif; --font-stack--monospace: "Source Code Pro", monospace; --color-brand-primary: #1fa385; --color-brand-content: #1fa385; } } } </style><script async type="text/javascript" src="/_/static/javascript/readthedocs-addons.js"></script><meta name="readthedocs-project-slug" content="weblate-pt" /><meta name="readthedocs-version-slug" content="latest" /><meta name="readthedocs-resolver-filename" content="/admin/continuous.html" /><meta name="readthedocs-http-status" content="200" /></head> <body> <script> document.body.dataset.theme = localStorage.getItem("theme") || "auto"; </script> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <symbol id="svg-toc" viewBox="0 0 24 24"> <title>Contents</title> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line> <line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <symbol id="svg-sun" viewBox="0 0 24 24"> <title>Light mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> <circle cx="12" cy="12" r="5"></circle> <line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="21" x2="12" y2="23"></line> <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> <line x1="1" y1="12" x2="3" y2="12"></line> <line x1="21" y1="12" x2="23" y2="12"></line> <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> </svg> </symbol> <symbol id="svg-moon" viewBox="0 0 24 24"> <title>Dark mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" /> </svg> </symbol> <symbol id="svg-sun-with-moon" viewBox="0 0 24 24"> <title>Auto light/dark, in light mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-custom-derived-from-feather-sun-and-tabler-moon"> <path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/> <line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/> <line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/> <line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/> <line x1="19" y1="14.05" x2="20.414" y2="15.464"/> <line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/> <line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/> <line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/> <line x1="19" y1="5.05" x2="20.414" y2="3.636"/> <circle cx="14.5" cy="9.55" r="3.6"/> </svg> </symbol> <symbol id="svg-moon-with-sun" viewBox="0 0 24 24"> <title>Auto light/dark, in dark mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-custom-derived-from-feather-sun-and-tabler-moon"> <path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/> <line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/> <line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/> <line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/> <line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/> <line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/> <line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/> <line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/> <line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/> <circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/> </svg> </symbol> <symbol id="svg-pencil" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code"> <path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" /> <path d="M13.5 6.5l4 4" /> <path d="M20 21l2 -2l-2 -2" /> <path d="M17 17l-2 2l2 2" /> </svg> </symbol> <symbol id="svg-eye" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" /> <path d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" /> <path d="M20 21l2 -2l-2 -2" /> <path d="M17 17l-2 2l2 2" /> </svg> </symbol> </svg> <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation"> <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc"> <label class="overlay sidebar-overlay" for="__navigation"> <div class="visually-hidden">Hide navigation sidebar</div> </label> <label class="overlay toc-overlay" for="__toc"> <div class="visually-hidden">Hide table of contents sidebar</div> </label> <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a> <div class="page"> <header class="mobile-header"> <div class="header-left"> <label class="nav-overlay-icon" for="__navigation"> <div class="visually-hidden">Toggle site navigation sidebar</div> <i class="icon"><svg><use href="#svg-menu"></use></svg></i> </label> </div> <div class="header-center"> <a href="../index.html"><div class="brand">Documentação Weblate 5.10.1</div></a> </div> <div class="header-right"> <div class="theme-toggle-container theme-toggle-header"> <button class="theme-toggle"> <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> </button> </div> <label class="toc-overlay-icon toc-header-icon" for="__toc"> <div class="visually-hidden">Toggle table of contents sidebar</div> <i class="icon"><svg><use href="#svg-toc"></use></svg></i> </label> </div> </header> <aside class="sidebar-drawer"> <div class="sidebar-container"> <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html"> <div class="sidebar-logo-container"> <img class="sidebar-logo" src="../_static/logo-text.svg" alt="Logo"/> </div> </a><form class="sidebar-search-container" method="get" action="../search.html" role="search"> <input class="sidebar-search" placeholder="Pesquisar" name="q" aria-label="Pesquisar"> <input type="hidden" name="check_keywords" value="yes"> <input type="hidden" name="area" value="default"> </form> <div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree"> <p class="caption" role="heading"><span class="caption-text">Documentação de utilizador</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../user/basic.html">Básico do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/profile.html">Registo e perfil de utilizador</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/translating.html">Traduzir a usar o Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/files.html">Descarregar e enviar traduções</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/glossary.html">Glossário</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/checks.html">Verificações e correções</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/search.html">Pesquisas</a></li> <li class="toctree-l1"><a class="reference internal" href="../workflows.html">Fluxos de trabalho de tradução</a></li> <li class="toctree-l1"><a class="reference internal" href="../faq.html">Perguntas frequentes</a></li> <li class="toctree-l1"><a class="reference internal" href="../vcs.html">Integração de controlo de versões</a></li> <li class="toctree-l1"><a class="reference internal" href="../api.html">API REST do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../wlc.html">Cliente Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../python.html">API Python do Weblate</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Guia de programador de aplicações</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../devel/starting.html">Comea çar com a internacionalização</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/integration.html">Integrando com Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/gettext.html">Traduzindo software a usar GNU gettext</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/sphinx.html">Traduzindo documentação a usar Sphinx</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/html.html">Traduzir HTML e JavaScript a usar CDN Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/third-party.html">Bibliotecas e pacotes de localização</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/alerts.html">Alertas da componente de tradução</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/community.html">Building a translators community</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/translations.html">A gerir traduções</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/review.html">Rever cadeias</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/share.html">Promovendo a tradução</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/reporting.html">Relatório de progresso da tradução</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">File formats</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../formats.html">Localization file formats</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/android.html">Recurso de cadeias de Android</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/apple.html">Cadeias de Apple iOS</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/appstore.html">Ficheiros de metadados da App Store</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/arb.html">Ficheiro ARB</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/csv.html">Ficheiros CSV</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/dtd.html">Ficheiros DTD</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/excel.html">Excel Open XML</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/flatxml.html">Ficheiro XML simples</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/fluent.html">Formato Fluent</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/formatjs.html">Ficheiro Format.JS JSON</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/gettext.html">GNU gettext PO (Portable Object)</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/go-i18n.html">Ficheiros JSON go-i18n</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/gotext.html">ficheiros de gotext JSON</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/gwt.html">Propriedades GWT</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/html.html">Ficheiro HTML</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/i18next.html">Ficheiros de JSON i18next</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/idml.html">Formato IDML</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/ini.html">Traduções de INI</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/innosetup.html">Traduções Inno Setup INI</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/java.html">Propriedades Java</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/joomla.html">Traduções para Joomla</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/json.html">Ficheiro JSON</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/laravel.html">Cadeias de PHP Laravel</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/markdown.html">Ficheiros de Markdown</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/mi18n.html">draggable/i18n lang files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/moko.html">Recursos de Mobile Kotlin</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/odf.html">Formato OpenDocument</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/php.html">Cadeias de PHP</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/qt.html">.ts de Qt Linguist</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/resourcedict.html">Ficheiros de ResourceDictionary</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/resx.html">Ficheiros de recursos .NET (RESX, RESW)</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/ruby.html">Ficheiros Ruby YAML</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/stringsdict.html">Formato stringsdict</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/subtitles.html">Ficheiros de legenda</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/tbx.html">Formato TermBase eXchange</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/txt.html">Ficheiros de texto</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/webextension.html">JSON WebExtension</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/winrc.html">Ficheiros RC do Windows</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/xliff.html">XLIFF</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/yaml.html">Ficheiros YAML</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Documentação de administrador</span></p> <ul class="current"> <li class="toctree-l1 has-children"><a class="reference internal" href="install.html">Instruções de configuração</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Instruções de configuração</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2"><a class="reference internal" href="install/docker.html">Instalando a usar Docker</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-debian.html">Instalando no Debian e Ubuntu</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-suse.html">Instalando no SUSE e openSUSE</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-redhat.html">Instalando no RedHat, Fedora e CentOS</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-macos.html">Instalando no macOS</a></li> <li class="toctree-l2"><a class="reference internal" href="install/source.html">Instalando a partir do código-fonte</a></li> <li class="toctree-l2"><a class="reference internal" href="install/openshift.html">Instalando no OpenShift</a></li> <li class="toctree-l2"><a class="reference internal" href="install/kubernetes.html">Instalando no Kubernetes</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="deployments.html">Implantações de Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="upgrade.html">Atualizando o Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="backup.html">Fazer backup e mover o Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="auth.html">Autenticação</a></li> <li class="toctree-l1"><a class="reference internal" href="auth.html#two-factor-authentication">Autenticação de dois fatores</a></li> <li class="toctree-l1"><a class="reference internal" href="access.html">Controlo de acesso</a></li> <li class="toctree-l1"><a class="reference internal" href="projects.html">Projetos de tradução</a></li> <li class="toctree-l1"><a class="reference internal" href="languages.html">Definições de idioma</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Tradução contínua</a></li> <li class="toctree-l1"><a class="reference internal" href="licensing.html">Licenciar traduções</a></li> <li class="toctree-l1"><a class="reference internal" href="translating.html">Processo de tradução</a></li> <li class="toctree-l1"><a class="reference internal" href="checks.html">Verificações e correções</a></li> <li class="toctree-l1"><a class="reference internal" href="machine.html">Sugestões automáticas</a></li> <li class="toctree-l1"><a class="reference internal" href="addons.html">Extensões</a></li> <li class="toctree-l1"><a class="reference internal" href="memory.html">Memória de Tradução</a></li> <li class="toctree-l1"><a class="reference internal" href="config.html">Configuração</a></li> <li class="toctree-l1"><a class="reference internal" href="sample.html">Amostra de configuração</a></li> <li class="toctree-l1"><a class="reference internal" href="management.html">Comandos de gerência</a></li> <li class="toctree-l1"><a class="reference internal" href="announcements.html">Anúncios</a></li> <li class="toctree-l1"><a class="reference internal" href="componentlists.html">Lista de componentes</a></li> <li class="toctree-l1"><a class="reference internal" href="optionals.html">Módulos opcionais do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="customize.html">Personalizar o Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="admin.html">Interface de gestão</a></li> <li class="toctree-l1"><a class="reference internal" href="support.html">Obter suporte para o Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../legal.html">Documentos legais</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Documentação de colaborador</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../contributing/index.html">Contribuir ao Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/communication.html">Weblate Contributor Communication Guidelines</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/start.html">Comea çar a contribuir código para o Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/code.html">Código-fonte do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/debugging.html">Depuração do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/internals.html">Componentes internos do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/addons.html">Desenvolver extensões</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/frontend.html">Frontend do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/issues.html">Relatando problemas no Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/tests.html">Conjunto de testes e integração contínua do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/schemas.html">Esquemas de dados</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/release.html">Criando lançamento do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/security.html">Segurança e privacidade</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/modules.html">Contribuindo para módulos do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/about.html">Sobre o Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/license.html">Licença</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/trademark.html">Weblate Trademark Guidelines</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Histórico de alterações</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../changes.html">Weblate 5.10.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-10">Weblate 5.10</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-9-2">Weblate 5.9.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-9-1">Weblate 5.9.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-9">Weblate 5.9</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-8-4">Weblate 5.8.4</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-8-3">Weblate 5.8.3</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-8-2">Weblate 5.8.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-8-1">Weblate 5.8.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-8">Weblate 5.8</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-7-2">Weblate 5.7.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-7-1">Weblate 5.7.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-7">Weblate 5.7</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-6-2">Weblate 5.6.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-6-1">Weblate 5.6.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-6">Weblate 5.6</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-5-5">Weblate 5.5.5</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-5-4">Weblate 5.5.4</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-5-3">Weblate 5.5.3</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-5-2">Weblate 5.5.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-5-1">Weblate 5.5.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-5">Weblate 5.5</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-4-3">Weblate 5.4.3</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-4-2">Weblate 5.4.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-4-1">Weblate 5.4.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-4">Weblate 5.4</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-3-1">Weblate 5.3.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-3">Weblate 5.3</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-2-1">Weblate 5.2.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-2">Weblate 5.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-1-1">Weblate 5.1.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-1">Weblate 5.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-0-2">Weblate 5.0.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-0-1">Weblate 5.0.1</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-0">Weblate 5.0</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v4.html">Weblate 4.x series</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v3.html">Série 3.x do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v2.html">Série 2.x do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v1.html">Série 1.x do Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v0.html">Série 0.x do Weblate</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Índices e tabelas</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../genindex.html">Índice</a></li> <li class="toctree-l1"><a class="reference internal" href="../py-modindex.html">Índice de Módulos</a></li> </ul> </div> <div id="furo-sidebar-ad-placement" class="flat" data-ea-publisher="readthedocs" data-ea-type="readthedocs-sidebar" data-ea-manual="true" ></div> </div> </div> </div> </aside> <div class="main"> <div class="content"> <div class="article-container"> <a href="#" class="back-to-top muted-link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path> </svg> <span>Back to top</span> </a> <div class="content-icon-container"> <div class="view-this-page"> <a class="muted-link" href="https://github.com/WeblateOrg/weblate/blob/main/docs/admin/continuous.rst?plain=true" title="View this page"> <svg><use href="#svg-eye"></use></svg> <span class="visually-hidden">View this page</span> </a> </div><div class="edit-this-page"> <a class="muted-link" href="https://github.com/WeblateOrg/weblate/edit/main/docs/admin/continuous.rst" title="Edit this page"> <svg><use href="#svg-pencil"></use></svg> <span class="visually-hidden">Edit this page</span> </a> </div><div class="theme-toggle-container theme-toggle-content"> <button class="theme-toggle"> <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> </button> </div> <label class="toc-overlay-icon toc-content-icon" for="__toc"> <div class="visually-hidden">Toggle table of contents sidebar</div> <i class="icon"><svg><use href="#svg-toc"></use></svg></i> </label> </div> <article role="main" id="furo-main-content"> <section id="continuous-localization"> <span id="continuous-translation"></span><h1>Tradução contínua<a class="headerlink" href="#continuous-localization" title="Link to this heading">¶</a></h1> <p>Há infraestrutura em vigor para que a sua tradução acompanhe o desenvolvimento de perto . Desta forma, os tradutores podem trabalhar em traduções o tempo todo, em vez de trabalhar com uma enorme quantidade de texto novo pouco antes do lançamento.</p> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference internal" href="../devel/integration.html"><span class="doc">Integrando com Weblate</span></a> descreve maneiras básicas de integrar o seu desenvolvimento com o Weblate.</p> </div> <p>O processo é o seguinte:</p> <ol class="arabic simple"> <li><p>Os programadores fazem alterações e fazem <em>push</em> delas so repositório VCS.</p></li> <li><p>Opcionalmente, os ficheiros de tradução são atualizados, consulte <a class="reference internal" href="../devel/integration.html#translations-update"><span class="std std-ref">Introducing new strings</span></a>.</p></li> <li><p>O Weblate extrai as alterações do repositório VCS, analisa os ficheiros de tradução e atualiza o banco de dados, consulte <a class="reference internal" href="#update-vcs"><span class="std std-ref">Atualizar repositórios</span></a>.</p></li> <li><p>Os tradutores enviam traduções a usar a interface web do Weblate ou enviam alterações feitas offline.</p></li> <li><p>Quando os tradutores terminam, o Weblate faz o commit das alterações no repositório local (consulte <a class="reference internal" href="#lazy-commit"><span class="std std-ref">Commits adiados</span></a>).</p></li> <li><p>As alterações são enviadas de volta ao repositório upstream (consulte <a class="reference internal" href="#push-changes"><span class="std std-ref">Fazendo push das alterações do Weblate</span></a>).</p></li> </ol> <div class="graphviz"><object data="../_images/graphviz-a09d5c5363537498f0a022ea9179c5569a46155b.svg" type="image/svg+xml" class="graphviz"> <p class="warning">digraph translations { graph [fontname = "sans-serif", fontsize=10, ranksep=0.6, newrank=true]; node [fontname = "sans-serif", fontsize=10, margin=0.15]; edge [fontname = "sans-serif", fontsize=10]; subgraph cluster_codehosting { rank=same; graph [color=lightgrey, label="Upstream code hosting", style=filled ]; "VCS repository" [shape=cylinder]; } subgraph cluster_weblate { rank=same; graph [color=lightgrey, label="Weblate", style=filled ]; repo [label="Weblate repository", shape=cylinder]; database [label=Database, shape=cylinder]; } "Developers" [shape=box, fillcolor="#144d3f", fontcolor=white, style=filled]; "Translators" [shape=box, fillcolor="#144d3f", fontcolor=white, style=filled]; "Developers" -> "VCS repository" [label=" 1. Push "]; "VCS repository" -> "VCS repository" [label=" 2. Updating translations ", style=dotted]; "VCS repository" -> repo [label=" 3. Pull "]; repo -> database [label=" 3. Parse translations "]; "database" -> repo [label=" 5. Commit changes "]; "Translators" -> "database" [label=" 4. Translate "]; "repo" -> "VCS repository" [label=" 6. Push repository "]; }</p></object></div> <div class="admonition hint"> <p class="admonition-title">Dica</p> <p>A hospedagem de código upstream não é necessária, pode usar o Weblate com <a class="reference internal" href="../vcs.html#vcs-local"><span class="std std-ref">Ficheiros locais</span></a> onde há apenas o repositório dentro do Weblate.</p> </div> <section id="updating-repositories"> <span id="update-vcs"></span><h2>Atualizar repositórios<a class="headerlink" href="#updating-repositories" title="Link to this heading">¶</a></h2> <p>Deve configurar alguma maneira de atualizar repositórios de backend a partir da fonte dele.</p> <ul> <li><p>Use <a class="reference internal" href="../api.html#hooks"><span class="std std-ref">Hooks de notificação</span></a> para integrar com a maioria dos serviços comuns de hospedagem de código:</p> <ul class="simple"> <li><p><a class="reference internal" href="#github-setup"><span class="std std-ref">Receber alterações do GitHub automaticamente</span></a></p></li> <li><p><a class="reference internal" href="#gitlab-setup"><span class="std std-ref">Receber alterações do GitLab automaticamente</span></a></p></li> <li><p><a class="reference internal" href="#bitbucket-setup"><span class="std std-ref">Receber alterações do Bitbucket automaticamente</span></a></p></li> <li><p><a class="reference internal" href="#pagure-setup"><span class="std std-ref">Receber alterações do Pagure automaticamente</span></a></p></li> <li><p><a class="reference internal" href="#azure-setup"><span class="std std-ref">Receber alterações dos Azure Repos automaticamente</span></a></p></li> <li><p><a class="reference internal" href="#gitea-setup"><span class="std std-ref">Receber alterações dos Gitea Repos automaticamente</span></a></p></li> </ul> <p>You must also <a class="reference internal" href="projects.html#project-enable-hooks"><span class="std std-ref">Ativar hooks</span></a> for this to work.</p> </li> <li><p>Acione manualmente a atualização na gestão do repositório ou a usar <a class="reference internal" href="../api.html#api"><span class="std std-ref">API REST do Weblate</span></a> ou <a class="reference internal" href="../wlc.html#wlc"><span class="std std-ref">Cliente Weblate</span></a></p></li> <li><p>Ative <a class="reference internal" href="config.html#std-setting-AUTO_UPDATE"><code class="xref std std-setting docutils literal notranslate"><span class="pre">AUTO_UPDATE</span></code></a> para atualizar todos os componentes na sua instância Weblate automaticamente</p></li> <li><p>Execute <a class="reference internal" href="management.html#weblate-admin-updategit"><code class="xref std std-wladmin docutils literal notranslate"><span class="pre">updategit</span></code></a> (com a seleção de um projeto ou <code class="docutils literal notranslate"><span class="pre">--all</span></code> para atualizar tudo)</p></li> </ul> <p>Sempre que o Weblate atualiza o repositório, as extensões de pós-atualização serão acionadas, consulte <a class="reference internal" href="addons.html#addons"><span class="std std-ref">Extensões</span></a>.</p> <section id="avoiding-merge-conflicts"> <span id="avoid-merge-conflicts"></span><h3>Evitar conflitos de mesclagem<a class="headerlink" href="#avoiding-merge-conflicts" title="Link to this heading">¶</a></h3> <p>The merge conflicts from Weblate arise when same file was changed both in Weblate and outside it. Depending on the situation, there are several approaches that might help here:</p> <ul class="simple"> <li><p><a class="reference internal" href="#merge-weblate-only"><span class="std std-ref">Avoiding merge conflicts by changing translation files in Weblate only</span></a></p></li> <li><p><a class="reference internal" href="#merge-weblate-locking"><span class="std std-ref">Avoiding merge conflicts by locking Weblate while doing outside changes</span></a></p></li> <li><p><a class="reference internal" href="#merge-weblate-git"><span class="std std-ref">Avoiding merge conflicts by focusing on Git operations</span></a></p></li> </ul> <section id="avoiding-merge-conflicts-by-changing-translation-files-in-weblate-only"> <span id="merge-weblate-only"></span><h4>Avoiding merge conflicts by changing translation files in Weblate only<a class="headerlink" href="#avoiding-merge-conflicts-by-changing-translation-files-in-weblate-only" title="Link to this heading">¶</a></h4> <p>Avoiding edits outside Weblate is easy with monolingual files — you can add new strings within Weblate and leave whole editing of the files there. For bilingual files, there is usually some kind of message extraction process to generate translatable files from the source code. In some cases, this can be split into two parts:</p> <ol class="arabic simple"> <li><p>The extraction generates template (for example gettext POT is generated using <strong class="program">xgettext</strong>).</p></li> <li><p>Further process merges it into actual translations (the gettext PO files are updated using <strong class="program">msgmerge</strong>).</p></li> </ol> <p>You can perform the second step within Weblate and it will ensure that all pending changes are included before this operation.</p> </section> <section id="avoiding-merge-conflicts-by-locking-weblate-while-doing-outside-changes"> <span id="merge-weblate-locking"></span><h4>Avoiding merge conflicts by locking Weblate while doing outside changes<a class="headerlink" href="#avoiding-merge-conflicts-by-locking-weblate-while-doing-outside-changes" title="Link to this heading">¶</a></h4> <p>Integrating Weblate into your updating process so that it flushes changes before updating the files outside Weblate can be achieved by using <a class="reference internal" href="../api.html#api"><span class="std std-ref">API REST do Weblate</span></a> to force Weblate to push all pending changes and lock the translation while you are doing changes on your side.</p> <p>O script para fazer atualizações pode ser assim:</p> <div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Lock Weblate translation</span> wlc<span class="w"> </span>lock <span class="c1"># Push changes from Weblate to upstream repository</span> wlc<span class="w"> </span>push <span class="c1"># Pull changes from upstream repository to your local copy</span> git<span class="w"> </span>pull <span class="c1"># Update translation files, this example is for Django</span> ./manage.py<span class="w"> </span>makemessages<span class="w"> </span>--keep-pot<span class="w"> </span>-a git<span class="w"> </span>commit<span class="w"> </span>-m<span class="w"> </span><span class="s1">'Locale updates'</span><span class="w"> </span>--<span class="w"> </span>locale <span class="c1"># Push changes to upstream repository</span> git<span class="w"> </span>push <span class="c1"># Tell Weblate to pull changes (not needed if Weblate follows your repo</span> <span class="c1"># automatically)</span> wlc<span class="w"> </span>pull <span class="c1"># Unlock translations</span> wlc<span class="w"> </span>unlock </pre></div> </div> <p>If you have multiple components sharing the same repository, you need to lock them all separately:</p> <div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>wlc<span class="w"> </span>lock<span class="w"> </span>foo/bar wlc<span class="w"> </span>lock<span class="w"> </span>foo/baz wlc<span class="w"> </span>lock<span class="w"> </span>foo/baj </pre></div> </div> <div class="admonition note"> <p class="admonition-title">Nota</p> <p>The example uses <a class="reference internal" href="../wlc.html#wlc"><span class="std std-ref">Cliente Weblate</span></a>, which needs configuration (API keys) to be able to control Weblate remotely. You can also achieve this using any HTTP client instead of <a class="reference internal" href="../wlc.html#wlc"><span class="std std-ref">Cliente Weblate</span></a>, for example curl, see <a class="reference internal" href="../api.html#api"><span class="std std-ref">API REST do Weblate</span></a>.</p> </div> </section> <section id="avoiding-merge-conflicts-by-focusing-on-git-operations"> <span id="merge-weblate-git"></span><h4>Avoiding merge conflicts by focusing on Git operations<a class="headerlink" href="#avoiding-merge-conflicts-by-focusing-on-git-operations" title="Link to this heading">¶</a></h4> <p>Even when Weblate is the single source of the changes in the translation files, conflicts can appear when using <a class="reference internal" href="addons.html#addon-weblate-git-squash"><span class="std std-ref">Squash de commits git</span></a> add-on, <a class="reference internal" href="projects.html#component-merge-style"><span class="std std-ref">Estilo de união</span></a> is configured to <span class="guilabel">Rebase</span>, or you are squashing commits outside of Weblate (for example, when merging a pull request).</p> <p>O motivo dos conflitos de mesclagem é diferente neste correspondo - existem alterações no Weblate que ocorreram após mesclar commits do Weblate. Isto geralmente acontece se a mesclagem não for automatizada e aguardar dias ou semanas para que um humano as revise. O Git às vezes não consegue mais identificar as alterações upstream como correspondentes às do Weblate e se recusa a realizar um rebase.</p> <p>To approach this, you either need to minimize the amount of pending changes in Weblate when you merge a pull request, or avoid the conflicts completely by not squashing changes.</p> <p>Aqui estão algumas opções de como evitar isso:</p> <ul class="simple"> <li><p>Não use <a class="reference internal" href="addons.html#addon-weblate-git-squash"><span class="std std-ref">Squash de commits git</span></a> nem squash no momento da mesclagem. Esta é a causa raiz do fato de o git não reconhecer as alterações após a mesclagem.</p></li> <li><p>Let Weblate commit pending changes before merging. This will update the pull request with all its changes, and both repositories will be in sync.</p></li> <li><p>Use the review features in Weblate (see <a class="reference internal" href="../workflows.html"><span class="doc">Fluxos de trabalho de tradução</span></a>) so that you can automatically merge GitHub pull requests after CI passes.</p></li> <li><p>Use o bloqueio no Weblate para evitar alterações enquanto o pull request do GitHub estiver a ser revisado.</p></li> </ul> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference internal" href="../wlc.html#wlc"><span class="std std-ref">Cliente Weblate</span></a></p> </div> </section> </section> <section id="automatically-receiving-changes-from-github"> <span id="github-setup"></span><h3>Receber alterações do GitHub automaticamente<a class="headerlink" href="#automatically-receiving-changes-from-github" title="Link to this heading">¶</a></h3> <p>O Weblate vem com suporte nativo ao GitHub.</p> <p>Se estiver a usar o Hosted Weblate, a abordagem recomendada é instalar o <a class="reference external" href="https://github.com/apps/weblate">app Weblate</a>, dessa forma terá a configuração correta sem ter que configurar muito. Também pode ser usado para fazer push de mudanças de volta.</p> <p>Para receber notificações em cada push a um repositório do GitHub, adicione o webhook do Weblate nas configurações do repositório (<span class="guilabel">Webhooks</span>) como mostrado na imagem abaixo:</p> <img alt="../_images/github-settings.png" src="../_images/github-settings.png" /> <p>The <span class="guilabel">Payload URL</span> consists of your Weblate URL appended by <code class="docutils literal notranslate"><span class="pre">/hooks/github/</span></code>, for example for the Hosted Weblate service, this is <code class="docutils literal notranslate"><span class="pre">https://hosted.weblate.org/hooks/github/</span></code>.</p> <p>Pode deixar outros valores nas configurações predefinidas (o Weblate pode lidar com ambos os tipos de conteúdo e consome apenas o evento <cite>push</cite>).</p> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference internal" href="../api.html#post--hooks-github-" title="POST /hooks/github/"><code class="xref http http-post docutils literal notranslate"><span class="pre">POST</span> <span class="pre">/hooks/github/</span></code></a>, <a class="reference internal" href="../vcs.html#hosted-push"><span class="std std-ref">Acessando repositórios do Hosted Weblate</span></a></p> </div> </section> <section id="automatically-receiving-changes-from-bitbucket"> <span id="bitbucket-setup"></span><h3>Receber alterações do Bitbucket automaticamente<a class="headerlink" href="#automatically-receiving-changes-from-bitbucket" title="Link to this heading">¶</a></h3> <p>O Weblate tem suporte para webhooks do Bitbucket, adicione um webhook que aciona no push do repositório, com destino a URL <code class="docutils literal notranslate"><span class="pre">/hooks/bitbucket/</span></code> na instalação do Weblate (por exemplo, <code class="docutils literal notranslate"><span class="pre">https://hosted.weblate.org/hooks/bitbucket/</span></code>).</p> <img alt="../_images/bitbucket-settings.png" src="../_images/bitbucket-settings.png" /> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference internal" href="../api.html#post--hooks-bitbucket-" title="POST /hooks/bitbucket/"><code class="xref http http-post docutils literal notranslate"><span class="pre">POST</span> <span class="pre">/hooks/bitbucket/</span></code></a>, <a class="reference internal" href="../vcs.html#hosted-push"><span class="std std-ref">Acessando repositórios do Hosted Weblate</span></a></p> </div> </section> <section id="automatically-receiving-changes-from-gitlab"> <span id="gitlab-setup"></span><h3>Receber alterações do GitLab automaticamente<a class="headerlink" href="#automatically-receiving-changes-from-gitlab" title="Link to this heading">¶</a></h3> <p>O Weblate tem suporte para ganchos do GitLab, adiciona um webhook de projeto com destino a URL <code class="docutils literal notranslate"><span class="pre">/hooks/gitlab/</span></code> na instalação do Weblate (por exemplo, <code class="docutils literal notranslate"><span class="pre">https://hosted.weblate.org/hooks/gitlab/</span></code>).</p> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference internal" href="../api.html#post--hooks-gitlab-" title="POST /hooks/gitlab/"><code class="xref http http-post docutils literal notranslate"><span class="pre">POST</span> <span class="pre">/hooks/gitlab/</span></code></a>, <a class="reference internal" href="../vcs.html#hosted-push"><span class="std std-ref">Acessando repositórios do Hosted Weblate</span></a></p> </div> </section> <section id="automatically-receiving-changes-from-pagure"> <span id="pagure-setup"></span><h3>Receber alterações do Pagure automaticamente<a class="headerlink" href="#automatically-receiving-changes-from-pagure" title="Link to this heading">¶</a></h3> <p>O Weblate tem suporte para ganchos Pagure. Adicione um webhook com destino a URL <code class="docutils literal notranslate"><span class="pre">/hooks/pagure/</span></code> na instalação do Weblate (por exemplo, <code class="docutils literal notranslate"><span class="pre">https://hosted.weblate.org/hooks/pagure/</span></code>). Isso pode ser feito em <span class="guilabel">Web-hooks</span> em <span class="guilabel">Project options</span>:</p> <img alt="../_images/pagure-webhook.png" src="../_images/pagure-webhook.png" /> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference internal" href="../api.html#post--hooks-pagure-" title="POST /hooks/pagure/"><code class="xref http http-post docutils literal notranslate"><span class="pre">POST</span> <span class="pre">/hooks/pagure/</span></code></a>, <a class="reference internal" href="../vcs.html#hosted-push"><span class="std std-ref">Acessando repositórios do Hosted Weblate</span></a></p> </div> </section> <section id="automatically-receiving-changes-from-azure-repos"> <span id="azure-setup"></span><h3>Receber alterações dos Azure Repos automaticamente<a class="headerlink" href="#automatically-receiving-changes-from-azure-repos" title="Link to this heading">¶</a></h3> <p>O Weblate tem suporte para webhooks do Azure Repos, adicione um webhook para evento <span class="guilabel">Code pushed</span> com destino para URL <code class="docutils literal notranslate"><span class="pre">/hooks/azure/</span></code> na instalação do Weblate (por exemplo, <code class="docutils literal notranslate"><span class="pre">https://hosted.weblate.org/hooks/azure/</span></code>). Isto pode ser feito no <span class="guilabel">Service hooks ` em :guilabel:`Project settings</span>.</p> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference external" href="https://learn.microsoft.com/pt-br/azure/devops/service-hooks/services/webhooks?view=azure-devops">Webhooks no manual do Azure DevOps</a>, <a class="reference internal" href="../api.html#post--hooks-azure-" title="POST /hooks/azure/"><code class="xref http http-post docutils literal notranslate"><span class="pre">POST</span> <span class="pre">/hooks/azure/</span></code></a>, <a class="reference internal" href="../vcs.html#hosted-push"><span class="std std-ref">Acessando repositórios do Hosted Weblate</span></a></p> </div> </section> <section id="automatically-receiving-changes-from-gitea-repos"> <span id="gitea-setup"></span><h3>Receber alterações dos Gitea Repos automaticamente<a class="headerlink" href="#automatically-receiving-changes-from-gitea-repos" title="Link to this heading">¶</a></h3> <p>Weblate tem suporte para webhooks do Gitea, adicione um <span class="guilabel">Gitea Webhook</span> para o evento <span class="guilabel">Push events</span> com destino ao URL <code class="docutils literal notranslate"><span class="pre">/hooks/gitea/</span></code> na instalação do Weblate (por exemplo, <code class="docutils literal notranslate"><span class="pre">https://hosted.weblate.org/hooks/gitea/</span></code>). Isso pode ser feito no <span class="guilabel">Webhooks</span> em <span class="guilabel">Settings</span> do repositório.</p> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference external" href="https://docs.gitea.io/en-us/webhooks/">Webhooks no manual do Gitea</a>, <a class="reference internal" href="../api.html#post--hooks-gitea-" title="POST /hooks/gitea/"><code class="xref http http-post docutils literal notranslate"><span class="pre">POST</span> <span class="pre">/hooks/gitea/</span></code></a>, <a class="reference internal" href="../vcs.html#hosted-push"><span class="std std-ref">Acessando repositórios do Hosted Weblate</span></a></p> </div> </section> <section id="automatically-receiving-changes-from-gitee-repos"> <span id="gitee-setup"></span><h3>Receber alterações de Gitee Repos automaticamente<a class="headerlink" href="#automatically-receiving-changes-from-gitee-repos" title="Link to this heading">¶</a></h3> <p>O Weblate tem suporte para webhooks Gitee, adicione um <span class="guilabel">WebHook</span> para o evento <span class="guilabel">Push</span> com destino para URL <code class="docutils literal notranslate"><span class="pre">/hooks/gitee/</span></code> na instalação do Weblate (por exemplo, <code class="docutils literal notranslate"><span class="pre">https://hosted.weblate.org/hooks/gitee/</span></code>). Isso pode ser feito em <span class="guilabel">WebHooks</span> sob <span class="guilabel">Management</span> do repositório.</p> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference external" href="https://gitee.com/help/categories/40">Webhooks no manual do Gitee</a>, <a class="reference internal" href="../api.html#post--hooks-gitee-" title="POST /hooks/gitee/"><code class="xref http http-post docutils literal notranslate"><span class="pre">POST</span> <span class="pre">/hooks/gitee/</span></code></a>, <a class="reference internal" href="../vcs.html#hosted-push"><span class="std std-ref">Acessando repositórios do Hosted Weblate</span></a></p> </div> </section> <section id="automatically-updating-repositories-nightly"> <h3>Atualizar repositórios <em>nightly</em> automaticamente<a class="headerlink" href="#automatically-updating-repositories-nightly" title="Link to this heading">¶</a></h3> <p>O Weblate busca automaticamente repositórios remotos <em>nightly</em> para melhorar o desempenho ao mesclar alterações mais tarde. Pode opcionalmente transformar isso em fazer mesclagens noturnas também, ativando <a class="reference internal" href="config.html#std-setting-AUTO_UPDATE"><code class="xref std std-setting docutils literal notranslate"><span class="pre">AUTO_UPDATE</span></code></a>.</p> </section> </section> <section id="pushing-changes-from-weblate"> <span id="push-changes"></span><h2>Fazendo push das alterações do Weblate<a class="headerlink" href="#pushing-changes-from-weblate" title="Link to this heading">¶</a></h2> <p>Cada componente de tradução pode ter uma URL de push configurada (veja <a class="reference internal" href="projects.html#component-push"><span class="std std-ref">URL de submissão do repositório</span></a>) e, nesse caso, o Weblate será capaz de fazer push da alteração ao repositório remoto. O Weblate também pode ser configurado para fazer push automaticamente das alterações em cada commit (isso é a predefinição, veja <a class="reference internal" href="projects.html#component-push-on-commit"><span class="std std-ref">Enviar ao submeter</span></a>). Se não quiser que seja feito push automático das alterações, pode fazer-lo manualmente em <span class="guilabel">Manutenção do repositório</span> ou a usar API via <a class="reference internal" href="../wlc.html#cmdoption-wlc-arg-push"><code class="xref std std-option docutils literal notranslate"><span class="pre">wlc</span> <span class="pre">push</span></code></a>.</p> <p>As opções de push diferem com base no <a class="reference internal" href="../vcs.html#vcs"><span class="std std-ref">Integração de controlo de versões</span></a> usado, mais detalhes são encontrados nesse capítulo.</p> <p>Caso não queira pushes diretos pelo Weblate, há suporte para <a class="reference internal" href="../vcs.html#vcs-github"><span class="std std-ref">Pull requests do GitHub</span></a>, <a class="reference internal" href="../vcs.html#vcs-gitlab"><span class="std std-ref">Merge requests do GitLab</span></a>, <a class="reference internal" href="../vcs.html#vcs-gitea"><span class="std std-ref">Pull requests do Gitea</span></a>, <a class="reference internal" href="../vcs.html#vcs-pagure"><span class="std std-ref">Merge requests do Pagure</span></a>, solicitações pull <a class="reference internal" href="../vcs.html#vcs-azure-devops"><span class="std std-ref">Azure DevOps pull requests</span></a> ou revisões <a class="reference internal" href="../vcs.html#vcs-gerrit"><span class="std std-ref">Gerrit</span></a>, pode ativá-las escolhendo <span class="guilabel">GitHub</span>, <span class="guilabel">GitLab</span>, <span class="guilabel">Gitea</span>, <span class="guilabel">Gerrit</span>, <span class="guilabel">Azure DevOps</span> ou <span class="guilabel">Pagure</span> como <a class="reference internal" href="projects.html#component-vcs"><span class="std std-ref">Sistema de controlo de versões</span></a> em <a class="reference internal" href="projects.html#component"><span class="std std-ref">Configuração de componente</span></a>.</p> <p>Overall, following options are available with Git, Mercurial, GitHub, GitLab, Gitea, Pagure, Azure DevOps, Bitbucket Data Center and Bitbucket Cloud:</p> <div class="table-wrapper docutils container"> <table class="docutils align-default"> <thead> <tr class="row-odd"><th class="head"><p>Configuração desejada</p></th> <th class="head"><p><a class="reference internal" href="projects.html#component-vcs"><span class="std std-ref">Sistema de controlo de versões</span></a></p></th> <th class="head"><p><a class="reference internal" href="projects.html#component-push"><span class="std std-ref">URL de submissão do repositório</span></a></p></th> <th class="head"><p><a class="reference internal" href="projects.html#component-push-branch"><span class="std std-ref">Ramo do push</span></a></p></th> </tr> </thead> <tbody> <tr class="row-even"><td><p>Sem push</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-git"><span class="std std-ref">Git</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Push diretamente</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-git"><span class="std std-ref">Git</span></a></p></td> <td><p>URL de SSH</p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-even"><td><p>Empurrar para um ramo separado</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-git"><span class="std std-ref">Git</span></a></p></td> <td><p>URL de SSH</p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-odd"><td><p>Sem push</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-mercurial"><span class="std std-ref">Mercurial</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-even"><td><p>Push diretamente</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-mercurial"><span class="std std-ref">Mercurial</span></a></p></td> <td><p>URL de SSH</p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Empurrar para um ramo separado</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-mercurial"><span class="std std-ref">Mercurial</span></a></p></td> <td><p>URL de SSH</p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-even"><td><p>Pull request de GitHub do fork</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-github"><span class="std std-ref">Pull requests do GitHub</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Pull request de GitHub do ramo</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-github"><span class="std std-ref">Pull requests do GitHub</span></a></p></td> <td><p>URL de SSH <a class="footnote-reference brackets" href="#empty" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-even"><td><p>Merge request de GitLab do fork</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-gitlab"><span class="std std-ref">Merge requests do GitLab</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Merge request de GitLab do ramo</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-gitlab"><span class="std std-ref">Merge requests do GitLab</span></a></p></td> <td><p>URL de SSH <a class="footnote-reference brackets" href="#empty" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-even"><td><p>Merge request de Gitea do fork</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-gitea"><span class="std std-ref">Pull requests do Gitea</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Merge request de Gitea do ramo</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-gitea"><span class="std std-ref">Pull requests do Gitea</span></a></p></td> <td><p>URL de SSH <a class="footnote-reference brackets" href="#empty" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-even"><td><p>Merge request de Pagure do fork</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-pagure"><span class="std std-ref">Merge requests do Pagure</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Merge request de Pagure do ramo</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-pagure"><span class="std std-ref">Merge requests do Pagure</span></a></p></td> <td><p>URL de SSH <a class="footnote-reference brackets" href="#empty" id="id4" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-even"><td><p>Solicitação pull do Azure DevOps a partir do fork</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-azure-devops"><span class="std std-ref">Azure DevOps pull requests</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Solicitação pull do Azure DevOps a partir do branch</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-azure-devops"><span class="std std-ref">Azure DevOps pull requests</span></a></p></td> <td><p>URL de SSH <a class="footnote-reference brackets" href="#empty" id="id5" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-even"><td><p>Bitbucket Data Center pull request from fork</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-bitbucket-data-center"><span class="std std-ref">Bitbucket Data Center pull requests</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Bitbucket Data Center pull request from branch</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-bitbucket-data-center"><span class="std std-ref">Bitbucket Data Center pull requests</span></a></p></td> <td><p>URL de SSH <a class="footnote-reference brackets" href="#empty" id="id6" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td> <td><p>Nome do ramo</p></td> </tr> <tr class="row-even"><td><p>Bitbucket Cloud pull request from fork</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-bitbucket-cloud"><span class="std std-ref">Bitbucket Cloud pull requests</span></a></p></td> <td><p><cite>vazio</cite></p></td> <td><p><cite>vazio</cite></p></td> </tr> <tr class="row-odd"><td><p>Bitbucket Cloud pull request from branch</p></td> <td><p><a class="reference internal" href="../vcs.html#vcs-bitbucket-cloud"><span class="std std-ref">Bitbucket Cloud pull requests</span></a></p></td> <td><p>URL de SSH <a class="footnote-reference brackets" href="#empty" id="id7" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td> <td><p>Nome do ramo</p></td> </tr> </tbody> </table> </div> <aside class="footnote-list brackets"> <aside class="footnote brackets" id="empty" role="doc-footnote"> <span class="label"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></span> <span class="backrefs">(<a role="doc-backlink" href="#id1">1</a>,<a role="doc-backlink" href="#id2">2</a>,<a role="doc-backlink" href="#id3">3</a>,<a role="doc-backlink" href="#id4">4</a>,<a role="doc-backlink" href="#id5">5</a>,<a role="doc-backlink" href="#id6">6</a>,<a role="doc-backlink" href="#id7">7</a>)</span> <p>Pode estar vazia caso o <a class="reference internal" href="projects.html#component-repo"><span class="std std-ref">Repositório do código-fonte</span></a> tenha suporte a push.</p> </aside> </aside> <div class="admonition note"> <p class="admonition-title">Nota</p> <p>Também pode ativar o push automático de alterações após o Weblate fazer commit, isso pode ser feito em <a class="reference internal" href="projects.html#component-push-on-commit"><span class="std std-ref">Enviar ao submeter</span></a>.</p> </div> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p>Consulte <a class="reference internal" href="../vcs.html#vcs-repos"><span class="std std-ref">Acessando repositórios</span></a> para configurar chaves de SSH e <a class="reference internal" href="#lazy-commit"><span class="std std-ref">Commits adiados</span></a> para obter informações sobre quando o Weblate decide fazer commit de alterações.</p> </div> <section id="protected-branches"> <h3>Ramos protegidos<a class="headerlink" href="#protected-branches" title="Link to this heading">¶</a></h3> <p>Se estiver a usar o Weblate em ramo protegido, pode configurá-lo para usar pull requests e executar revisão real sobre as traduções (o que pode ser problemático para idiomas que não conhece). Uma abordagem alternativa é abrir mão desta limitação em favor do utilizador de push no Weblate.</p> <p>Por exemplo, no GitHub, isso pode ser feito na configuração do repositório:</p> <img alt="../_images/github-protected.png" src="../_images/github-protected.png" /> </section> </section> <section id="interacting-with-others"> <h2>Interagir com os outros<a class="headerlink" href="#interacting-with-others" title="Link to this heading">¶</a></h2> <p>O Weblate facilita a interação com outras pessoas a usar a API dele.</p> <div class="admonition seealso"> <p class="admonition-title">Veja também</p> <p><a class="reference internal" href="../api.html#api"><span class="std std-ref">API REST do Weblate</span></a></p> </div> </section> <section id="lazy-commits"> <span id="lazy-commit"></span><h2>Commits adiados<a class="headerlink" href="#lazy-commits" title="Link to this heading">¶</a></h2> <p>O comportamento do Weblate é de agrupar commits do mesmo autor num só commit, se for possível. Isso reduz a quantidade de commits consideravelmente, no entanto, pode precisar de dizer explicitamente para fazer os commits no caso de querer deixar o repositório VCS em sincronia, por exemplo, para mesclarem (isso é por predefinição permitido para o grupo <span class="guilabel">Managers</span>, consulte <a class="reference internal" href="access.html#privileges"><span class="std std-ref">Lista de privilégios</span></a>).</p> <p>As alterações neste modo têm o commit delas feitas assim que qualquer uma das seguintes condições são cumpridas:</p> <ul class="simple"> <li><p>Outra pessoa altera uma cadeia já alterada.</p></li> <li><p>Um merge do upstream é feito.</p></li> <li><p>Um commit explícito é solicitado.</p></li> <li><p>É solicitado a descarrega de um ficheiro.</p></li> <li><p>A alteração é mais antiga do que o período definido como <a class="reference internal" href="projects.html#component-commit-pending-age"><span class="std std-ref">Idade das alterações a fazer commit</span></a> em <a class="reference internal" href="projects.html#component"><span class="std std-ref">Configuração de componente</span></a>.</p></li> </ul> <div class="admonition hint"> <p class="admonition-title">Dica</p> <p>Os commits são criados para cada componente. Então, caso tenha muitos componentes, ainda verá muitos compromissos. Pode utilizar a extensão <a class="reference internal" href="addons.html#addon-weblate-git-squash"><span class="std std-ref">Squash de commits git</span></a> neste caso.</p> </div> <p>Se quiser confirmar as alterações com mais frequência e sem verificações de idade, pode agendar uma tarefa regular para realizar um commit. Isto pode ser feito usando <span class="guilabel">Tarefas Periódicas</span> em <a class="reference internal" href="admin.html#admin-interface"><span class="std std-ref">A interface administrativa do Django</span></a>. Primeiro, crie o <span class="guilabel">Intervalo</span> desejado (por exemplo, 120 segundos). Em seguida, adicione uma nova tarefa periódica e escolha <code class="docutils literal notranslate"><span class="pre">weblate.trans.tasks.commit_pending</span></code> como <span class="guilabel">Tarefa</span> com <code class="docutils literal notranslate"><span class="pre">{"hours":</span> <span class="pre">0}</span></code> como <span class="guilabel">Argumentos de Palavra-chave</span> e o intervalo desejado.</p> </section> <section id="processing-repository-with-scripts"> <span id="processing"></span><h2>Processar repositório com scripts<a class="headerlink" href="#processing-repository-with-scripts" title="Link to this heading">¶</a></h2> <p>A maneira de personalizar como o Weblate interage com o repositório é com <a class="reference internal" href="addons.html#addons"><span class="std std-ref">Extensões</span></a>. Consulte <a class="reference internal" href="addons.html#addon-script"><span class="std std-ref">Escrevendo scripts para extensões</span></a> para obter informações sobre como executar scripts externos através de extensões.</p> </section> <section id="keeping-translations-same-across-components"> <span id="translation-consistency"></span><h2>Manter traduções iguais entre componentes<a class="headerlink" href="#keeping-translations-same-across-components" title="Link to this heading">¶</a></h2> <p>Uma vez que tenha vários componentes de tradução, pode garantir que as mesmas cadeias tenham a mesma tradução. Isso pode ser alcançado em vários níveis.</p> <section id="translation-propagation"> <span id="id8"></span><h3>Propagação de tradução<a class="headerlink" href="#translation-propagation" title="Link to this heading">¶</a></h3> <p>Com <a class="reference internal" href="projects.html#component-allow-translation-propagation"><span class="std std-ref">Permitir propagação da tradução</span></a> ativada (que é o padrão, consulte <a class="reference internal" href="projects.html#component"><span class="std std-ref">Configuração de componente</span></a>), todas as novas traduções são feitas automaticamente em todos os componentes com cadeias correspondentes. Estas traduções são devidamente creditadas ao utilizador que traduz atualmente em todos os componentes.</p> <div class="admonition note"> <p class="admonition-title">Nota</p> <p>A propagação de tradução requer a chave para ser compatível com formatos de tradução monolíngue, por isso tenha isso em mente ao criar chaves de tradução.</p> </div> </section> <section id="consistency-check"> <h3>Verificação de consistência<a class="headerlink" href="#consistency-check" title="Link to this heading">¶</a></h3> <p>A verificação <a class="reference internal" href="../user/checks.html#check-inconsistent"><span class="std std-ref">Inconsistente</span></a> é acionada sempre que as cadeias são diferentes. Pode usar isso para rever tais diferenças manualmente e escolher a tradução certa.</p> </section> <section id="automatic-translation"> <span id="id9"></span><h3>Tradução automática<a class="headerlink" href="#automatic-translation" title="Link to this heading">¶</a></h3> <p>A tradução automática com base em diferentes componentes pode ser uma maneira de sincronizar as traduções entre os componentes. Pode acioná-la manualmente (veja <a class="reference internal" href="../user/translating.html#auto-translation"><span class="std std-ref">Tradução automática</span></a>) ou fazê-la ser executada automaticamente na atualização do repositório usando uma extensão (veja <a class="reference internal" href="addons.html#addon-weblate-autotranslate-autotranslate"><span class="std std-ref">Tradução automática</span></a>).</p> </section> </section> </section> </article> </div> <footer> <div class="related-pages"> <a class="next-page" href="licensing.html"> <div class="page-info"> <div class="context"> <span>Next</span> </div> <div class="title">Licenciar traduções</div> </div> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> </a> <a class="prev-page" href="languages.html"> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> <div class="page-info"> <div class="context"> <span>Previous</span> </div> <div class="title">Definições de idioma</div> </div> </a> </div> <div class="bottom-of-page"> <div class="left-details"> <div class="copyright"> Copyright © Michal Čihař </div> Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s <a href="https://github.com/pradyunsg/furo">Furo</a> </div> <div class="right-details"> <div class="icons"> </div> </div> </div> </footer> </div> <aside class="toc-drawer"> <div class="toc-sticky toc-scroll"> <div class="toc-title-container"> <span class="toc-title"> On this page </span> </div> <div class="toc-tree-container"> <div class="toc-tree"> <ul> <li><a class="reference internal" href="#">Tradução contínua</a><ul> <li><a class="reference internal" href="#updating-repositories">Atualizar repositórios</a><ul> <li><a class="reference internal" href="#avoiding-merge-conflicts">Evitar conflitos de mesclagem</a><ul> <li><a class="reference internal" href="#avoiding-merge-conflicts-by-changing-translation-files-in-weblate-only">Avoiding merge conflicts by changing translation files in Weblate only</a></li> <li><a class="reference internal" href="#avoiding-merge-conflicts-by-locking-weblate-while-doing-outside-changes">Avoiding merge conflicts by locking Weblate while doing outside changes</a></li> <li><a class="reference internal" href="#avoiding-merge-conflicts-by-focusing-on-git-operations">Avoiding merge conflicts by focusing on Git operations</a></li> </ul> </li> <li><a class="reference internal" href="#automatically-receiving-changes-from-github">Receber alterações do GitHub automaticamente</a></li> <li><a class="reference internal" href="#automatically-receiving-changes-from-bitbucket">Receber alterações do Bitbucket automaticamente</a></li> <li><a class="reference internal" href="#automatically-receiving-changes-from-gitlab">Receber alterações do GitLab automaticamente</a></li> <li><a class="reference internal" href="#automatically-receiving-changes-from-pagure">Receber alterações do Pagure automaticamente</a></li> <li><a class="reference internal" href="#automatically-receiving-changes-from-azure-repos">Receber alterações dos Azure Repos automaticamente</a></li> <li><a class="reference internal" href="#automatically-receiving-changes-from-gitea-repos">Receber alterações dos Gitea Repos automaticamente</a></li> <li><a class="reference internal" href="#automatically-receiving-changes-from-gitee-repos">Receber alterações de Gitee Repos automaticamente</a></li> <li><a class="reference internal" href="#automatically-updating-repositories-nightly">Atualizar repositórios <em>nightly</em> automaticamente</a></li> </ul> </li> <li><a class="reference internal" href="#pushing-changes-from-weblate">Fazendo push das alterações do Weblate</a><ul> <li><a class="reference internal" href="#protected-branches">Ramos protegidos</a></li> </ul> </li> <li><a class="reference internal" href="#interacting-with-others">Interagir com os outros</a></li> <li><a class="reference internal" href="#lazy-commits">Commits adiados</a></li> <li><a class="reference internal" href="#processing-repository-with-scripts">Processar repositório com scripts</a></li> <li><a class="reference internal" href="#keeping-translations-same-across-components">Manter traduções iguais entre componentes</a><ul> <li><a class="reference internal" href="#translation-propagation">Propagação de tradução</a></li> <li><a class="reference internal" href="#consistency-check">Verificação de consistência</a></li> <li><a class="reference internal" href="#automatic-translation">Tradução automática</a></li> </ul> </li> </ul> </li> </ul> </div> </div> </div> </aside> </div> </div><script src="../_static/documentation_options.js?v=e0d36f24"></script> <script src="../_static/doctools.js?v=9bcbadda"></script> <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> <script src="../_static/scripts/furo.js?v=5fa4622c"></script> <script src="../_static/clipboard.min.js?v=a7894cd8"></script> <script src="../_static/copybutton.js?v=f281be69"></script> <script src="../_static/translations.js?v=beaedd51"></script> </body> </html>