CINXE.COM
Automatic suggestions - Weblate 5.11 documentation
<!doctype html> <html class="no-js" lang="en" 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="Automatic suggestions" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://docs.weblate.org/en/latest/admin/machine.html" /> <meta property="og:site_name" content="Weblate" /> <meta property="og:description" content="The support for several machine translation and translation memory services is built-in. Each service can be turned on by the administrator for whole site (under Automatic suggestions in Management..." /> <meta property="og:image:width" content="1146" /> <meta property="og:image:height" content="600" /> <meta property="og:image" content="https://docs.weblate.org/en/latest/_images/social_previews/summary_admin_machine_ac982558.png" /> <meta property="og:image:alt" content="The support for several machine translation and translation memory services is built-in. Each service can be turned on by the administrator for whole site (u..." /> <meta name="description" content="The support for several machine translation and translation memory services is built-in. Each service can be turned on by the administrator for whole site (under Automatic suggestions in Management..." /> <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="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Add-ons" href="addons.html" /><link rel="prev" title="Checks and fixups" href="checks.html" /> <link rel="canonical" href="https://docs.weblate.org/en/latest/admin/machine.html" /> <!-- Generated with Sphinx 8.2.3 and Furo 2024.08.06 --> <title>Automatic suggestions - Weblate 5.11 documentation</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" /><meta name="readthedocs-version-slug" content="latest" /><meta name="readthedocs-resolver-filename" content="/admin/machine.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">Weblate 5.11 documentation</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="Search" name="q" aria-label="Search"> <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">User docs</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../user/basic.html">Weblate basics</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/profile.html">Registration and user profile</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/translating.html">Translating using Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/files.html">Downloading and uploading translations</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/glossary.html">Glossary</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/checks.html">Checks and fixups</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/search.html">Searching</a></li> <li class="toctree-l1"><a class="reference internal" href="../workflows.html">Translation workflows</a></li> <li class="toctree-l1"><a class="reference internal" href="../faq.html">Frequently Asked Questions</a></li> <li class="toctree-l1"><a class="reference internal" href="../vcs.html">Version control integration</a></li> <li class="toctree-l1"><a class="reference internal" href="../api.html">Weblate’s REST API</a></li> <li class="toctree-l1"><a class="reference internal" href="../wlc.html">Weblate Client</a></li> <li class="toctree-l1"><a class="reference internal" href="../python.html">Weblate’s Python API</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Application developer guide</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../devel/starting.html">Starting with internationalization</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/integration.html">Integrating with Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/gettext.html">Translating software using GNU gettext</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/sphinx.html">Translating documentation using Sphinx</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/html.html">Translating HTML and JavaScript using Weblate CDN</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/third-party.html">Localization libraries and packages</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/alerts.html">Translation component alerts</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">Managing translations</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/review.html">Reviewing strings</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/share.html">Promoting the translation</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/reporting.html">Translation progress reporting</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Administrator docs</span></p> <ul class="current"> <li class="toctree-l1 has-children"><a class="reference internal" href="install.html">Configuration instructions</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 Configuration instructions</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">Installing using Docker</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-debian.html">Installing on Debian and Ubuntu</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-suse.html">Installing on SUSE and openSUSE</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-redhat.html">Installing on RedHat, Fedora and CentOS</a></li> <li class="toctree-l2"><a class="reference internal" href="install/venv-macos.html">Installing on macOS</a></li> <li class="toctree-l2"><a class="reference internal" href="install/source.html">Installing from sources</a></li> <li class="toctree-l2"><a class="reference internal" href="install/openshift.html">Installing on OpenShift</a></li> <li class="toctree-l2"><a class="reference internal" href="install/kubernetes.html">Installing on Kubernetes</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="deployments.html">Weblate deployments</a></li> <li class="toctree-l1"><a class="reference internal" href="upgrade.html">Upgrading Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="backup.html">Backing up and moving Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="auth.html">Authentication</a></li> <li class="toctree-l1"><a class="reference internal" href="auth.html#two-factor-authentication">Two-factor authentication</a></li> <li class="toctree-l1"><a class="reference internal" href="access.html">Access control</a></li> <li class="toctree-l1"><a class="reference internal" href="projects.html">Translation projects</a></li> <li class="toctree-l1"><a class="reference internal" href="languages.html">Language definitions</a></li> <li class="toctree-l1"><a class="reference internal" href="continuous.html">Continuous localization</a></li> <li class="toctree-l1"><a class="reference internal" href="licensing.html">Licensing translations</a></li> <li class="toctree-l1"><a class="reference internal" href="translating.html">Translation process</a></li> <li class="toctree-l1"><a class="reference internal" href="checks.html">Checks and fixups</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Automatic suggestions</a></li> <li class="toctree-l1"><a class="reference internal" href="addons.html">Add-ons</a></li> <li class="toctree-l1"><a class="reference internal" href="memory.html">Translation Memory</a></li> <li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li> <li class="toctree-l1"><a class="reference internal" href="sample.html">Sample configuration</a></li> <li class="toctree-l1"><a class="reference internal" href="management.html">Management commands</a></li> <li class="toctree-l1"><a class="reference internal" href="announcements.html">Announcements</a></li> <li class="toctree-l1"><a class="reference internal" href="componentlists.html">Component Lists</a></li> <li class="toctree-l1"><a class="reference internal" href="optionals.html">Optional Weblate modules</a></li> <li class="toctree-l1"><a class="reference internal" href="customize.html">Customizing Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="admin.html">Management interface</a></li> <li class="toctree-l1"><a class="reference internal" href="support.html">Getting support for Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../legal.html">Legal documents</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Contributor docs</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../contributing/index.html">Contributing to 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">Starting contributing code to Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/code.html">Weblate source code</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/debugging.html">Debugging Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/internals.html">Weblate internals</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/addons.html">Developing add-ons</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/frontend.html">Weblate frontend</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/issues.html">Reporting issues in Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/tests.html">Weblate testsuite and continuous integration</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/schemas.html">Data schemas</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/release.html">Releasing Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/security.html">Security and privacy</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/modules.html">Contributing to Weblate modules</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/about.html">About Weblate</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/license.html">License</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">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">Android string resources</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/apple.html">Apple iOS strings</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/appstore.html">App store metadata files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/arb.html">ARB File</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/csv.html">CSV files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/dtd.html">DTD files</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">Flat XML files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/fluent.html">Fluent format</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/formatjs.html">Format.JS JSON file</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">go-i18n JSON files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/gotext.html">gotext JSON files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/gwt.html">GWT properties</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/html.html">HTML files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/i18next.html">i18next JSON files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/idml.html">IDML Format</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/ini.html">INI translations</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/innosetup.html">Inno Setup INI translations</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/java.html">Java properties</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/joomla.html">Joomla translations</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/json.html">JSON files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/laravel.html">Laravel PHP strings</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/markdown.html">Markdown files</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">Mobile Kotlin resources</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/odf.html">OpenDocument Format</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/php.html">PHP strings</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/qt.html">Qt Linguist .ts</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/resourcedict.html">ResourceDictionary files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/resx.html">.NET resource files (RESX, RESW)</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/ruby.html">Ruby YAML files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/stringsdict.html">Stringsdict format</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/subtitles.html">Subtitle files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/tbx.html">TermBase eXchange format</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/txt.html">Text files</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/webextension.html">WebExtension JSON</a></li> <li class="toctree-l1"><a class="reference internal" href="../formats/winrc.html">Windows RC files</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">YAML files</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Change history</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../changes.html">Weblate 5.11</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-10-4">Weblate 5.10.4</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-10-3">Weblate 5.10.3</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-10-2">Weblate 5.10.2</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes.html#weblate-5-10-1">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">Weblate 3.x series</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v2.html">Weblate 2.x series</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v1.html">Weblate 1.x series</a></li> <li class="toctree-l1"><a class="reference internal" href="../changes/v0.html">Weblate 0.x series</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Indices and tables</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li> <li class="toctree-l1"><a class="reference internal" href="../py-modindex.html">Module Index</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/machine.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/machine.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="automatic-suggestions"> <span id="machine-translation-setup"></span><h1>Automatic suggestions<a class="headerlink" href="#automatic-suggestions" title="Link to this heading">¶</a></h1> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 4.13: </span>Prior to Weblate 4.13, the services were configured in the <a class="reference internal" href="config.html#config"><span class="std std-ref">Configuration</span></a>.</p> </div> <p>The support for several machine translation and translation memory services is built-in. Each service can be turned on by the administrator for whole site (under <span class="guilabel">Automatic suggestions</span> in <a class="reference internal" href="admin.html#management-interface"><span class="std std-ref">Management interface</span></a>) or at the project settings:</p> <img alt="../_images/project-machinery.webp" src="../_images/project-machinery.webp" /> <div class="admonition note"> <p class="admonition-title">Note</p> <p>They come subject to their terms of use, so ensure you are allowed to use them how you want.</p> </div> <p>The services translate from the source language as configured at <a class="reference internal" href="projects.html#component"><span class="std std-ref">Component configuration</span></a>, see <a class="reference internal" href="projects.html#component-source-language"><span class="std std-ref">Source language</span></a>.</p> <p>Per-project automatic suggestion can also be configured via the <a class="reference internal" href="../api.html#api"><span class="std std-ref">Weblate’s REST API</span></a>.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference internal" href="../user/translating.html#machine-translation"><span class="std std-ref">Automatic suggestions</span></a></p> </div> <section id="alibaba"> <span id="mt-alibaba"></span><h2>Alibaba<a class="headerlink" href="#alibaba" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 5.3.</span></p> </div> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">alibaba</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>80</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>Access key ID</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">secret</span></code></p></td> <td><p>Access key secret</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">region</span></code></p></td> <td><p>Region ID</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Alibaba Translate is a neural machine translation service for translating text and it supports up to 214 language pairs.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://www.alibabacloud.com/help/en/machine-translation">Alibaba Translate Documentation</a></p> </div> </section> <section id="apertium-apy"> <span id="mt-apertium-apy"></span><h2>Apertium APy<a class="headerlink" href="#apertium-apy" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">apertium-apy</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>88</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">url</span></code></p></td> <td><p>API URL</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>A libre software machine translation platform providing translations to a limited set of languages.</p> <p>The recommended way to use Apertium is to run your own Apertium-APy server.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://www.apertium.org/">Apertium website</a>, <a class="reference external" href="https://wiki.apertium.org/wiki/Apertium-apy">Apertium APy documentation</a></p> </div> </section> <section id="amazon-translate"> <span id="mt-aws"></span><h2>Amazon Translate<a class="headerlink" href="#amazon-translate" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">aws</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>88</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>Access key ID</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">secret</span></code></p></td> <td><p>API secret key</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">region</span></code></p></td> <td><p>Region name</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Amazon Translate is a neural machine translation service for translating text to and from English across a breadth of supported languages. The service requires the <cite>TranslateFullAccess</cite> Managed Policy.</p> <p>The service automatically uses <a class="reference internal" href="../user/glossary.html#glossary"><span class="std std-ref">Glossary</span></a>, see <a class="reference internal" href="../user/glossary.html#glossary-mt"><span class="std std-ref">Glossaries in automatic suggestion</span></a>.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://docs.aws.amazon.com/translate/">Amazon Translate Documentation</a>, <a class="reference external" href="https://docs.aws.amazon.com/aws-managed-policy/latest/reference/TranslateFullAccess.html">AWS TranslateFullAccess Policy</a></p> </div> </section> <section id="azure-openai"> <span id="mt-azure-openai"></span><h2>Azure OpenAI<a class="headerlink" href="#azure-openai" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 5.8.</span></p> </div> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">azure-openai</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">persona</span></code></p></td> <td><p>Translator persona</p></td> <td><p>Describe the persona of translator to improve the accuracy of the translation. For example: “You are a squirrel breeder.”</p></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">style</span></code></p></td> <td><p>Translator style</p></td> <td><p>Describe the style of translation. For example: “Use informal language.”</p></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">azure_endpoint</span></code></p></td> <td><p>Azure OpenAI endpoint URL</p></td> <td><p>Endpoint URL of the instance, e.g: <a class="reference external" href="https://my-instance.openai.azure.com">https://my-instance.openai.azure.com</a>.</p></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">deployment</span></code></p></td> <td><p>Azure OpenAI deployment</p></td> <td><p>The model’s unique deployment name.</p></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Performs translation using <a class="reference external" href="https://openai.com/">OpenAI</a> hosted on Azure.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference internal" href="#mt-openai"><span class="std std-ref">OpenAI</span></a></p> </div> </section> <section id="baidu"> <span id="mt-baidu"></span><h2>Baidu<a class="headerlink" href="#baidu" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">baidu</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>Client ID</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">secret</span></code></p></td> <td><p>Client secret</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by Baidu.</p> <p>This service uses an API and you need to obtain an ID and API key from Baidu to use it.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://api.fanyi.baidu.com/api/trans/product/index">Baidu Translate API</a></p> </div> </section> <section id="cyrtranslit"> <span id="mt-cyrtranslit"></span><h2>Cyrtranslit<a class="headerlink" href="#cyrtranslit" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 5.7.</span></p> </div> <dl class="field-list simple"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">cyrtranslit</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>100</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><p><cite>This service has no configuration.</cite></p> </dd> </dl> <p>Machine translation service using the Cyrtranslit library.</p> <p>This service converts text between Cyrillic and Latin scripts for languages that have both scripts.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://github.com/opendatakosovo/cyrillic-transliteration">Cyrtranslit repository</a></p> </div> </section> <section id="deepl"> <span id="mt-deepl"></span><h2>DeepL<a class="headerlink" href="#deepl" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">deepl</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>91</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">url</span></code></p></td> <td><p>API URL</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">formality</span></code></p></td> <td><p>Formality</p></td> <td><p>Uses the specified formality if language is not specified as (in)formal</p></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">context</span></code></p></td> <td><p>Translation context</p></td> <td><p>Describe the context of the translation to improve the accuracy of the translation.</p></td> </tr> </tbody> </table> </div> </dd> </dl> <p>DeepL is paid service providing good machine translation for a few languages. You need to purchase <span class="guilabel">DeepL API</span> subscription or you can use legacy <span class="guilabel">DeepL Pro (classic)</span> plan.</p> <p>API URL to use with the DeepL service. At the time of writing, there is the v1 API as well as a free and a paid version of the v2 API.</p> <dl class="simple"> <dt><code class="docutils literal notranslate"><span class="pre">https://api.deepl.com/v2/</span></code> (default in Weblate)</dt><dd><p>Is meant for API usage on the paid plan, and the subscription is usage-based.</p> </dd> <dt><code class="docutils literal notranslate"><span class="pre">https://api-free.deepl.com/v2/</span></code></dt><dd><p>Is meant for API usage on the free plan, and the subscription is usage-based.</p> </dd> <dt><code class="docutils literal notranslate"><span class="pre">https://api.deepl.com/v1/</span></code></dt><dd><p>Is meant for CAT tools and is usable with a per-user subscription.</p> </dd> </dl> <p>Previously Weblate was classified as a CAT tool by DeepL, so it was supposed to use the v1 API, but now is supposed to use the v2 API. Therefore it defaults to v2, and you can change it to v1 in case you have an existing CAT subscription and want Weblate to use that.</p> <p>The easiest way to find out which one to use is to open an URL like the following in your browser:</p> <p><a class="reference external" href="https://api.deepl.com/v2/translate?text=Hello&target_lang=FR&auth_key=XXX">https://api.deepl.com/v2/translate?text=Hello&target_lang=FR&auth_key=XXX</a></p> <p>Replace the XXX with your auth_key. If you receive a JSON object which contains “Bonjour”, you have the correct URL; if not, try the other three.</p> <p>Weblate supports DeepL formality, it will choose matching one based on the language (for example, there is <code class="docutils literal notranslate"><span class="pre">de@formal</span></code> and <code class="docutils literal notranslate"><span class="pre">de@informal</span></code>).</p> <p>The translation context can optionally be specified to improve translations quality. Read more on that in <a class="reference external" href="https://developers.deepl.com/docs/best-practices/working-with-context">DeepL translation context documentation</a>.</p> <p>The service automatically uses <a class="reference internal" href="../user/glossary.html#glossary"><span class="std std-ref">Glossary</span></a>, see <a class="reference internal" href="../user/glossary.html#glossary-mt"><span class="std std-ref">Glossaries in automatic suggestion</span></a>.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://www.deepl.com/translator">DeepL translator</a>, <a class="reference external" href="https://www.deepl.com/pro">DeepL pricing</a>, <a class="reference external" href="https://developers.deepl.com/docs">DeepL API documentation</a></p> </div> </section> <section id="glosbe"> <span id="mt-glosbe"></span><h2>Glosbe<a class="headerlink" href="#glosbe" title="Link to this heading">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">glosbe</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><p><cite>This service has no configuration.</cite></p> </dd> </dl> <p>Free dictionary and translation memory for almost every living language.</p> <p>The API is gratis to use, but usage of the translations is subject to the license of the used data source. There is a limit of calls that may be done from one IP in a set period of time, to prevent abuse.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://glosbe.com/">Glosbe website</a></p> </div> </section> <section id="google-cloud-translation-basic"> <span id="mt-google-translate"></span><h2>Google Cloud Translation Basic<a class="headerlink" href="#google-cloud-translation-basic" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">google-translate</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by the Google Cloud services.</p> <p>This service uses the Google Translation API v2, and you need to obtain an API key and turn on billing in the Google API console.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://cloud.google.com/translate/docs">Google translate documentation</a></p> </div> </section> <section id="google-cloud-translation-advanced"> <span id="mt-google-translate-api-v3"></span><h2>Google Cloud Translation Advanced<a class="headerlink" href="#google-cloud-translation-advanced" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">google-translate-api-v3</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">credentials</span></code></p></td> <td><p>Google Translate service account info</p></td> <td><p>Enter a JSON key for the service account.</p></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">project</span></code></p></td> <td><p>Google Translate project</p></td> <td><p>Enter the numeric or alphanumeric ID of your Google Cloud project.</p></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">location</span></code></p></td> <td><p>Google Translate location</p></td> <td><p>Choose a Google Cloud Translation region that is used for the Google Cloud project or is closest to you.</p></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">bucket_name</span></code></p></td> <td><p>Google Storage Bucket name</p></td> <td><p>Enter the name of the Google Cloud Storage bucket that is used to store the Glossary files.</p></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by the Google Cloud services.</p> <p>This service uses the Google Translation API v3 and you need credentials in JSON format to access it.</p> <p>In order to use this service, you first need to go through the following steps:</p> <ol class="arabic simple"> <li><p><a class="reference external" href="https://console.cloud.google.com/project">Select or create a Cloud Platform project.</a></p></li> <li><p><a class="reference external" href="https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project">Enable billing for your project.</a></p></li> <li><p><a class="reference external" href="https://cloud.google.com/translate/docs/">Enable the Cloud Translation.</a></p></li> <li><p><a class="reference external" href="https://googleapis.dev/python/google-api-core/latest/auth.html">Setup Authentication.</a></p></li> </ol> <p>Optionally, you can configure the service to use <a class="reference internal" href="../user/glossary.html#glossary"><span class="std std-ref">Glossary</span></a> by setting up a Bucket:</p> <ol class="arabic simple"> <li><p><a class="reference external" href="https://cloud.google.com/storage/docs/creating-buckets">Create a Google Cloud bucket.</a></p></li> <li><p><a class="reference external" href="https://cloud.google.com/translate/docs/migrate-to-v3#resources_projects_and_locations">Set bucket location to “us-central1”.</a></p></li> <li><p><a class="reference external" href="https://cloud.google.com/translate/docs/access-control">Grant ‘Storage Admin’ permission to the Service Account.</a></p></li> </ol> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://cloud.google.com/translate/docs">Google translate documentation</a>, <a class="reference external" href="https://cloud.google.com/docs/authentication/client-libraries">Authenticate to Cloud services using client libraries</a>, <a class="reference external" href="https://cloud.google.com/appengine/docs/standard/nodejs/building-app/creating-project">Creating Google Translate project</a>, <a class="reference external" href="https://cloud.google.com/appengine/docs/standard/locations">Google Cloud App Engine locations</a></p> </div> </section> <section id="ibm-watson-language-translator"> <span id="mt-ibm"></span><h2>IBM Watson Language Translator<a class="headerlink" href="#ibm-watson-language-translator" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 4.16.</span></p> </div> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">ibm</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>88</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">url</span></code></p></td> <td><p>API URL</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <div class="admonition warning"> <p class="admonition-title">Warning</p> <p>This service is deprecated by vendor and will be withdrawn entirely as of 10 December 2024.</p> </div> <p>IBM Watson Language Translator translates text from one language to another. The service offers multiple domain-specific models.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://www.ibm.com/products/natural-language-processing">Watson Language Translator</a>, <a class="reference external" href="https://cloud.ibm.com/apidocs/language-translator">IBM Cloud API Docs</a></p> </div> </section> <section id="libretranslate"> <span id="mt-libretranslate"></span><h2>LibreTranslate<a class="headerlink" href="#libretranslate" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 4.7.1.</span></p> </div> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">libretranslate</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>89</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">url</span></code></p></td> <td><p>API URL</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>LibreTranslate is a free and open-source service for machine translations. The public instance requires an API key, but LibreTranslate can be self-hosted and there are several mirrors available to use the API for free.</p> <dl class="simple"> <dt><code class="docutils literal notranslate"><span class="pre">https://libretranslate.com/</span></code> (official public instance)</dt><dd><p>Requires an API key to use outside of the website.</p> </dd> </dl> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://libretranslate.com/">LibreTranslate website</a>, <a class="reference external" href="https://github.com/LibreTranslate/LibreTranslate">LibreTranslate repository</a></p> </div> </section> <section id="azure-ai-translator"> <span id="mt-microsoft-translator"></span><h2>Azure AI Translator<a class="headerlink" href="#azure-ai-translator" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">microsoft-translator</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">base_url</span></code></p></td> <td><p>Application base URL</p></td> <td><p>Available choices:</p> <p><code class="docutils literal notranslate"><span class="pre">api.cognitive.microsofttranslator.com</span></code> – Global (non-regional)</p> <p><code class="docutils literal notranslate"><span class="pre">api-apc.cognitive.microsofttranslator.com</span></code> – Asia Pacific</p> <p><code class="docutils literal notranslate"><span class="pre">api-eur.cognitive.microsofttranslator.com</span></code> – Europe</p> <p><code class="docutils literal notranslate"><span class="pre">api-nam.cognitive.microsofttranslator.com</span></code> – North America</p> <p><code class="docutils literal notranslate"><span class="pre">api.translator.azure.cn</span></code> – China</p> <p><code class="docutils literal notranslate"><span class="pre">api.cognitive.microsofttranslator.us</span></code> – Azure US Government cloud</p> </td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">endpoint_url</span></code></p></td> <td><p>Authentication service URL</p></td> <td><p>Regional or multi-service can be specified using region field below.</p> <p>Available choices:</p> <p><code class="docutils literal notranslate"><span class="pre">api.cognitive.microsoft.com</span></code> – Global</p> <p><code class="docutils literal notranslate"><span class="pre">api.cognitive.azure.cn</span></code> – China</p> <p><code class="docutils literal notranslate"><span class="pre">api.cognitive.microsoft.us</span></code> – Azure US Government cloud</p> </td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">region</span></code></p></td> <td><p>Authentication service region</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">category</span></code></p></td> <td><p>Category</p></td> <td><p>Specify a customized system category ID to use it instead of general one.</p></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by Microsoft in Azure portal as a one of Cognitive Services.</p> <p>Weblate implements Translator API V3.</p> <p>The service automatically uses <a class="reference internal" href="../user/glossary.html#glossary"><span class="std std-ref">Glossary</span></a> via <a class="reference external" href="https://learn.microsoft.com/en-us/azure/ai-services/translator/dynamic-dictionary">dynamic dictionary</a>, see <a class="reference internal" href="../user/glossary.html#glossary-mt"><span class="std std-ref">Glossaries in automatic suggestion</span></a>.</p> <section id="translator-text-api-v2"> <h3>Translator Text API V2<a class="headerlink" href="#translator-text-api-v2" title="Link to this heading">¶</a></h3> <p>The key you use with Translator API V2 can be used with API 3.</p> </section> <section id="translator-text-api-v3"> <h3>Translator Text API V3<a class="headerlink" href="#translator-text-api-v3" title="Link to this heading">¶</a></h3> <p>You need to register at Azure portal and use the key you obtain there. With new Azure keys, you also need to set <code class="docutils literal notranslate"><span class="pre">region</span></code> to locale of your service.</p> <p>You can also specify a custom category to use <a class="reference external" href="https://learn.microsoft.com/en-gb/azure/ai-services/Translator/custom-translator/concepts/customization">custom translator</a>.</p> <div class="admonition hint"> <p class="admonition-title">Hint</p> <p>For Azure China, please use your endpoint from the Azure Portal.</p> </div> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://azure.microsoft.com/en-us/products/ai-services/ai-translator">Cognitive Services - Text Translation API</a>, <a class="reference external" href="https://portal.azure.com/">Microsoft Azure Portal</a>, <a class="reference external" href="https://learn.microsoft.com/en-us/azure/ai-services/translator/reference/v3-0-reference#base-urls">Base URLs</a>, <a class="reference external" href="https://learn.microsoft.com/en-us/azure/ai-services/translator/reference/v3-0-reference#authenticating-with-a-multi-service-resource">“Authenticating with a Multi-service resource”</a> <a class="reference external" href="https://learn.microsoft.com/en-us/azure/ai-services/translator/reference/v3-0-reference#authenticating-with-an-access-token">“Authenticating with an access token” section</a></p> </div> </section> </section> <section id="modernmt"> <span id="mt-modernmt"></span><h2>ModernMT<a class="headerlink" href="#modernmt" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 4.2.</span></p> </div> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">modernmt</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">url</span></code></p></td> <td><p>API URL</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">context_vector</span></code></p></td> <td><p>Context vector</p></td> <td><p>Comma-separated list of memory IDs:weight. e.g: 1234:0.123,4567:0.456</p></td> </tr> </tbody> </table> </div> </dd> </dl> <p>The service automatically uses <a class="reference internal" href="../user/glossary.html#glossary"><span class="std std-ref">Glossary</span></a>, see <a class="reference internal" href="../user/glossary.html#glossary-mt"><span class="std std-ref">Glossaries in automatic suggestion</span></a>.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://www.modernmt.com/api/#translation">ModernMT API</a></p> </div> </section> <section id="mymemory"> <span id="mt-mymemory"></span><h2>MyMemory<a class="headerlink" href="#mymemory" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">mymemory</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>100</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">email</span></code></p></td> <td><p>Contact e-mail</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">username</span></code></p></td> <td><p>Username</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Huge translation memory with machine translation.</p> <p>Free, anonymous usage is currently limited to 100 requests/day, or to 1000 requests/day when you provide a contact e-mail address in <code class="docutils literal notranslate"><span class="pre">email</span></code>. You can also ask them for more.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://mymemory.translated.net/">MyMemory website</a></p> </div> </section> <section id="netease-sight"> <span id="mt-netease-sight"></span><h2>Netease Sight<a class="headerlink" href="#netease-sight" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">netease-sight</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>Client ID</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">secret</span></code></p></td> <td><p>Client secret</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by NetEase.</p> <p>This service uses an API, and you need to obtain key and secret from NetEase.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://sight.youdao.com/">NetEase Sight Translation Platform</a></p> </div> </section> <section id="openai"> <span id="mt-openai"></span><h2>OpenAI<a class="headerlink" href="#openai" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 5.3.</span></p> </div> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">openai</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">persona</span></code></p></td> <td><p>Translator persona</p></td> <td><p>Describe the persona of translator to improve the accuracy of the translation. For example: “You are a squirrel breeder.”</p></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">style</span></code></p></td> <td><p>Translator style</p></td> <td><p>Describe the style of translation. For example: “Use informal language.”</p></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">base_url</span></code></p></td> <td><p>OpenAI API base URL</p></td> <td><p>Base URL of the OpenAI API, if it differs from the OpenAI default URL</p></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">model</span></code></p></td> <td><p>OpenAI model</p></td> <td><p>Available choices:</p> <p><code class="docutils literal notranslate"><span class="pre">auto</span></code> – Automatic selection</p> <p><code class="docutils literal notranslate"><span class="pre">gpt-4o-mini</span></code> – GPT-4o mini</p> <p><code class="docutils literal notranslate"><span class="pre">gpt-4o</span></code> – GPT-4o</p> <p><code class="docutils literal notranslate"><span class="pre">o3-mini</span></code> – OpenAI o3-mini</p> <p><code class="docutils literal notranslate"><span class="pre">o3</span></code> – OpenAI o3</p> <p><code class="docutils literal notranslate"><span class="pre">o1-mini</span></code> – OpenAI o1-mini</p> <p><code class="docutils literal notranslate"><span class="pre">o1</span></code> – OpenAI o1</p> <p><code class="docutils literal notranslate"><span class="pre">gpt-4.5-preview</span></code> – GPT-4.5</p> <p><code class="docutils literal notranslate"><span class="pre">gpt-4-turbo</span></code> – GPT-4 Turbo</p> <p><code class="docutils literal notranslate"><span class="pre">gpt-4</span></code> – GPT-4</p> <p><code class="docutils literal notranslate"><span class="pre">gpt-3.5-turbo</span></code> – GPT-3.5 Turbo</p> <p><code class="docutils literal notranslate"><span class="pre">custom</span></code> – Custom model</p> </td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">custom_model</span></code></p></td> <td><p>Custom model name</p></td> <td><p>Only needed when model is set to ‘Custom model’</p></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Performs translation using <a class="reference external" href="https://openai.com/">OpenAI</a>.</p> <p>The OpenAI API is powered by a diverse set of models with different capabilities and price points. Automatic selection chooses the best model available, but you might want to choose a specific model that matches your needs.</p> <p>Use persona and style fields to further fine-tune translations. These will be used in a prompt for OpenAI and allow you to change the style of the translations.</p> <p>The service automatically uses <a class="reference internal" href="../user/glossary.html#glossary"><span class="std std-ref">Glossary</span></a>, see <a class="reference internal" href="../user/glossary.html#glossary-mt"><span class="std std-ref">Glossaries in automatic suggestion</span></a>.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 5.7: </span>Support for custom model and base URL was added.</p> </div> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://platform.openai.com/docs/models">OpenAI models</a>, <a class="reference external" href="https://platform.openai.com/api-keys">OpenAI API keys</a></p> </div> </section> <section id="sap-translation-hub"> <span id="mt-sap-translation-hub"></span><h2>SAP Translation Hub<a class="headerlink" href="#sap-translation-hub" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">sap-translation-hub</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>100</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">url</span></code></p></td> <td><p>API URL</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">username</span></code></p></td> <td><p>SAP username</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">password</span></code></p></td> <td><p>SAP password</p></td> <td></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">enable_mt</span></code></p></td> <td><p>Enable machine translation</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">domain</span></code></p></td> <td><p>Translation domain</p></td> <td><p>The ID of a translation domain, for example, BC. If you do not specify a domain, the method searches for translations in all available domains.</p></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by SAP.</p> <p>You need to have a SAP account (and the SAP Translation Hub enabled in the SAP Cloud Platform) to use this service.</p> <p>You can also configure whether to also use machine translation services, in addition to the term database.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>To access the Sandbox API, you need to set <code class="docutils literal notranslate"><span class="pre">url</span></code> and <code class="docutils literal notranslate"><span class="pre">key</span></code>.</p> <p>To access the productive API, you need to set <code class="docutils literal notranslate"><span class="pre">url</span></code>, <code class="docutils literal notranslate"><span class="pre">username</span></code> and <code class="docutils literal notranslate"><span class="pre">password</span></code>.</p> </div> <div class="admonition seealso"> <p class="admonition-title">See also</p> <ul class="simple"> <li><p><a class="reference external" href="https://help.sap.com/docs/translation-hub/sap-translation-hub/what-is-sap-translation-hub">What is SAP Translation Hub</a></p></li> <li><p><a class="reference external" href="https://api.sap.com/api/translationhub/overview">SAP Translation Hub API</a></p></li> </ul> </div> </section> <section id="systran"> <span id="mt-systran"></span><h2>Systran<a class="headerlink" href="#systran" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">systran</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by Systran.</p> <p>This service uses an API, and you need to obtain API key at <<a class="reference external" href="https://translate.systran.net/en/account">https://translate.systran.net/en/account</a>>.</p> </section> <section id="tmserver"> <span id="mt-tmserver"></span><h2>tmserver<a class="headerlink" href="#tmserver" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">tmserver</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>100</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">url</span></code></p></td> <td><p>API URL</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>You can run your own translation memory server by using the one bundled with Translate-toolkit and let Weblate talk to it. You can also use it with an amaGama server, which is an enhanced version of tmserver.</p> <ol class="arabic simple"> <li><p>First you will want to import some data to the translation memory:</p></li> </ol> <div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>build_tmdb<span class="w"> </span>-d<span class="w"> </span>/var/lib/tm/db<span class="w"> </span>-s<span class="w"> </span>en<span class="w"> </span>-t<span class="w"> </span>cs<span class="w"> </span>locale/cs/LC_MESSAGES/django.po build_tmdb<span class="w"> </span>-d<span class="w"> </span>/var/lib/tm/db<span class="w"> </span>-s<span class="w"> </span>en<span class="w"> </span>-t<span class="w"> </span>de<span class="w"> </span>locale/de/LC_MESSAGES/django.po build_tmdb<span class="w"> </span>-d<span class="w"> </span>/var/lib/tm/db<span class="w"> </span>-s<span class="w"> </span>en<span class="w"> </span>-t<span class="w"> </span>fr<span class="w"> </span>locale/fr/LC_MESSAGES/django.po </pre></div> </div> <ol class="arabic simple" start="2"> <li><p>Start tmserver to listen to your requests:</p></li> </ol> <div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>tmserver<span class="w"> </span>-d<span class="w"> </span>/var/lib/tm/db </pre></div> </div> <ol class="arabic simple" start="3"> <li><p>Configure Weblate to talk to it, the default URL is <code class="docutils literal notranslate"><span class="pre">http://localhost:8888/tmserver/</span></code>.</p></li> </ol> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/tmserver.html" title="(in Translate Toolkit v3.15.1)"><span>tmserver</span></a>, <a class="reference external" href="https://docs.translatehouse.org/projects/amagama/en/latest/installation.html#installation" title="(in amaGama v0.0)"><span>Installing amaGama</span></a>, <a class="reference external" href="https://docs.translatehouse.org/projects/virtaal/en/latest/amagama.html" title="(in Virtaal v0.7.1)"><span>Amagama</span></a>, <a class="reference external" href="https://amagama.translatehouse.org/">Amagama Translation Memory</a></p> </div> </section> <section id="weblate"> <span id="mt-weblate"></span><h2>Weblate<a class="headerlink" href="#weblate" title="Link to this heading">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">weblate</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>100</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><p><cite>This service has no configuration.</cite></p> </dd> </dl> <p>Weblate machine translation service can provide translations based on the exact matches of a string in the currently existing strings in a <span class="guilabel">Translated</span>, <span class="guilabel">Approved</span>, or <span class="guilabel">Read-only</span> <a class="reference internal" href="../workflows.html#states"><span class="std std-ref">states</span></a> inside Weblate.</p> </section> <section id="weblate-translation-memory"> <span id="mt-weblate-translation-memory"></span><h2>Weblate Translation Memory<a class="headerlink" href="#weblate-translation-memory" title="Link to this heading">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">weblate-translation-memory</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>100</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><p><cite>This service has no configuration.</cite></p> </dd> </dl> <p>Use <a class="reference internal" href="memory.html#translation-memory"><span class="std std-ref">Translation Memory</span></a> as a machine translation service. Any string that has been translated before (or uploaded to the translation memory) can be translated in this way. This suggestion source works with fuzzy matching.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Recreating <a class="reference internal" href="memory.html#translation-memory"><span class="std std-ref">Translation Memory</span></a> reduces capabilities of this TM source.</p> </div> </section> <section id="yandex"> <span id="mt-yandex"></span><h2>Yandex<a class="headerlink" href="#yandex" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">yandex</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by Yandex.</p> <p>This service uses a Translation API, and you need to obtain an API key from Yandex.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://yandex.com/dev/translate/">Yandex Translate API</a>, <a class="reference external" href="https://translate.yandex.com/">Powered by Yandex.Translate</a></p> </div> </section> <section id="yandex-v2"> <span id="mt-yandex-v2"></span><h2>Yandex v2<a class="headerlink" href="#yandex-v2" title="Link to this heading">¶</a></h2> <div class="versionadded"> <p><span class="versionmodified added">Added in version 5.1.</span></p> </div> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">yandex-v2</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>API key</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by Yandex.</p> <p>This service uses a Translation API, and you need to obtain an API key from Yandex Cloud.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://cloud.yandex.com/en/docs/translate/api-ref/authentication">Yandex Translate API v2</a>, <a class="reference external" href="https://cloud.yandex.com/en/services/translate">Powered by Yandex.Cloud</a></p> </div> </section> <section id="youdao-zhiyun"> <span id="mt-youdao-zhiyun"></span><h2>Youdao Zhiyun<a class="headerlink" href="#youdao-zhiyun" title="Link to this heading">¶</a></h2> <dl class="field-list"> <dt class="field-odd">Service ID<span class="colon">:</span></dt> <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">youdao-zhiyun</span></code></p> </dd> <dt class="field-even">Maximal score<span class="colon">:</span></dt> <dd class="field-even"><p>90</p> </dd> <dt class="field-odd">Configuration<span class="colon">:</span></dt> <dd class="field-odd"><div class="table-wrapper docutils container"> <table class="docutils align-default"> <tbody> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">key</span></code></p></td> <td><p>Client ID</p></td> <td></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">secret</span></code></p></td> <td><p>Client secret</p></td> <td></td> </tr> </tbody> </table> </div> </dd> </dl> <p>Machine translation service provided by Youdao.</p> <p>This service uses an API, and you need to obtain an ID and an API key from Youdao.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference external" href="https://ai.youdao.com/product-fanyi-text.s">Youdao Zhiyun Natural Language Translation Service</a></p> </div> </section> <section id="custom-machine-translation"> <h2>Custom machine translation<a class="headerlink" href="#custom-machine-translation" title="Link to this heading">¶</a></h2> <p>You can also implement your own machine translation services using a few lines of Python code. This example implements machine translation in a fixed list of languages using <code class="docutils literal notranslate"><span class="pre">dictionary</span></code> Python module:</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Copyright © Michal Čihař <michal@weblate.org></span> <span class="c1">#</span> <span class="c1"># SPDX-License-Identifier: GPL-3.0-or-later</span> <span class="sd">"""Machine translation example."""</span> <span class="kn">import</span><span class="w"> </span><span class="nn">dictionary</span> <span class="c1"># type: ignore[import-not-found]</span> <span class="kn">from</span><span class="w"> </span><span class="nn">weblate.machinery.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">DownloadTranslations</span><span class="p">,</span> <span class="n">MachineTranslation</span> <span class="k">class</span><span class="w"> </span><span class="nc">SampleTranslation</span><span class="p">(</span><span class="n">MachineTranslation</span><span class="p">):</span> <span class="w"> </span><span class="sd">"""Sample machine translation interface."""</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">"Sample"</span> <span class="k">def</span><span class="w"> </span><span class="nf">download_languages</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="w"> </span><span class="sd">"""Return list of languages your machine translation supports."""</span> <span class="k">return</span> <span class="p">{</span><span class="s2">"cs"</span><span class="p">}</span> <span class="k">def</span><span class="w"> </span><span class="nf">download_translations</span><span class="p">(</span> <span class="bp">self</span><span class="p">,</span> <span class="n">source_language</span><span class="p">,</span> <span class="n">target_language</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">unit</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">threshold</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">75</span><span class="p">,</span> <span class="p">)</span> <span class="o">-></span> <span class="n">DownloadTranslations</span><span class="p">:</span> <span class="w"> </span><span class="sd">"""Return tuple with translations."""</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">dictionary</span><span class="o">.</span><span class="n">translate</span><span class="p">(</span><span class="n">text</span><span class="p">):</span> <span class="k">yield</span> <span class="p">{</span><span class="s2">"text"</span><span class="p">:</span> <span class="n">t</span><span class="p">,</span> <span class="s2">"quality"</span><span class="p">:</span> <span class="mi">100</span><span class="p">,</span> <span class="s2">"service"</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s2">"source"</span><span class="p">:</span> <span class="n">text</span><span class="p">}</span> </pre></div> </div> <p>You can list your own class in <a class="reference internal" href="config.html#std-setting-WEBLATE_MACHINERY"><code class="xref std std-setting docutils literal notranslate"><span class="pre">WEBLATE_MACHINERY</span></code></a> and Weblate will start using that.</p> </section> </section> </article> </div> <footer> <div class="related-pages"> <a class="next-page" href="addons.html"> <div class="page-info"> <div class="context"> <span>Next</span> </div> <div class="title">Add-ons</div> </div> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> </a> <a class="prev-page" href="checks.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">Checks and fixups</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="#">Automatic suggestions</a><ul> <li><a class="reference internal" href="#alibaba">Alibaba</a></li> <li><a class="reference internal" href="#apertium-apy">Apertium APy</a></li> <li><a class="reference internal" href="#amazon-translate">Amazon Translate</a></li> <li><a class="reference internal" href="#azure-openai">Azure OpenAI</a></li> <li><a class="reference internal" href="#baidu">Baidu</a></li> <li><a class="reference internal" href="#cyrtranslit">Cyrtranslit</a></li> <li><a class="reference internal" href="#deepl">DeepL</a></li> <li><a class="reference internal" href="#glosbe">Glosbe</a></li> <li><a class="reference internal" href="#google-cloud-translation-basic">Google Cloud Translation Basic</a></li> <li><a class="reference internal" href="#google-cloud-translation-advanced">Google Cloud Translation Advanced</a></li> <li><a class="reference internal" href="#ibm-watson-language-translator">IBM Watson Language Translator</a></li> <li><a class="reference internal" href="#libretranslate">LibreTranslate</a></li> <li><a class="reference internal" href="#azure-ai-translator">Azure AI Translator</a><ul> <li><a class="reference internal" href="#translator-text-api-v2">Translator Text API V2</a></li> <li><a class="reference internal" href="#translator-text-api-v3">Translator Text API V3</a></li> </ul> </li> <li><a class="reference internal" href="#modernmt">ModernMT</a></li> <li><a class="reference internal" href="#mymemory">MyMemory</a></li> <li><a class="reference internal" href="#netease-sight">Netease Sight</a></li> <li><a class="reference internal" href="#openai">OpenAI</a></li> <li><a class="reference internal" href="#sap-translation-hub">SAP Translation Hub</a></li> <li><a class="reference internal" href="#systran">Systran</a></li> <li><a class="reference internal" href="#tmserver">tmserver</a></li> <li><a class="reference internal" href="#weblate">Weblate</a></li> <li><a class="reference internal" href="#weblate-translation-memory">Weblate Translation Memory</a></li> <li><a class="reference internal" href="#yandex">Yandex</a></li> <li><a class="reference internal" href="#yandex-v2">Yandex v2</a></li> <li><a class="reference internal" href="#youdao-zhiyun">Youdao Zhiyun</a></li> <li><a class="reference internal" href="#custom-machine-translation">Custom machine translation</a></li> </ul> </li> </ul> </div> </div> </div> </aside> </div> </div><script src="../_static/documentation_options.js?v=51b2db25"></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> </body> </html>