Weblate 2026.9.1

尚未发布。

新功能

  • Added per-user notification diagnostics for users and administrators, with compact explanations of matching subscriptions for object paths.

改进

  • Added explicit search result refresh in the translation editors and improved recovery when saved search results expire.

  • Docker development tests now automatically prepare an isolated test environment without requiring application startup or the Dev Container CLI.

  • Added a development container for tests and lint, with an optional application QA profile, isolated storage per Git worktree, dynamically allocated localhost application and mailbox ports, and Chromium diagnostics and mandatory browser test commands.

  • Added posting and displaying scoped announcements on category-language pages.

  • Added a dismissible diagnostic for glossaries with disabled string management when they use a local repository or contain terminology.

  • Clarified incident reporting, reporting deadlines, and security notifications for hosted and self-hosted users.

  • The Manage reports permission now consistently grants access to complete translation reports for the selected scope, including private projects and restricted components below it.

  • Docker deployments now use a combined Celery worker by default, reducing memory usage while increasing task throughput. Use CELERY_WORKER_MODE to select the combined, split, or single worker setup.

  • Improved Billing detail page loading performance by batching related project, invoice, and audit log queries.

  • Further reduced Celery worker memory usage by sharing preloaded URL configuration between worker processes and loading bitmap widget rendering dependencies only when needed.

  • Docker startup configuration warnings are now available as deployment checks, including in horizontally scaled deployments.

  • Reduced peak memory use and task duration for notification digests by processing recipients in bounded batches and limiting each summary to 100 entries.

安全修复

  • Prevented repeated authenticator app registration from creating duplicate devices and allowing reuse of one-time codes. Existing equivalent duplicate devices are merged while preserving consumed codes.

  • Borg backup passphrases are now recursively scrubbed from Sentry error reports, including when a custom event scrubber is configured.

  • Font overrides are now restricted to fonts uploaded to the same project.

  • Engage pages and status widgets no longer disclose Private or Custom projects unless Public sharing is enabled.

  • Prevented excessive CPU consumption while checking malformed Markdown and MDX syntax.

缺陷修复

  • Fixed the uWSGI configuration example to use the virtual environment's Python when launching helpers for SSH repository operations.

  • Fixed language context and links in change history for scoped announcements and other language-specific events.

  • Restored DeepL API v1 translation support while retaining modern API language discovery and glossary improvements.

  • REST API unit updates now enforce the same translation text length limit as the web editor.

  • HTML void elements in MDX 文件 translations are now kept self-closing after sanitization, preventing invalid MDX output.

  • The autotranslate API endpoint now correctly describes its accepted request body fields (q, mode, auto_source, component, engines, threshold) in the OpenAPI schema instead of incorrectly reflecting the Translation resource.

  • Links outside tab navigation now correctly activate their target tabs, fixing upload links for missing translations and new components.

  • Error reporting integrations now distinguish informational messages from exceptions and reliably report the explicitly handled exception.

  • The default Celery per-child memory limit now accommodates the application's baseline memory usage, avoiding unnecessary worker recycling.

  • Backup services now start only after settings and database backup files are fully updated, while backups to different Borg repositories can run in parallel.

兼容性

  • Anonymous access to engage pages and status widgets is now disabled by default for Private and Custom projects. Enable Public sharing to preserve existing shared links after upgrading. Public and Protected projects are unchanged.

升级

请按照 一般的升级指示 来执行升级。

  • Authenticator app registrations started before this upgrade must be restarted. Sessions referencing a removed duplicate device may require two-factor verification again.

  • Docker deployments now default to the combined Celery worker mode. If your deployment relies on separate workers for each queue or configures them using CELERY_MAIN_OPTIONS, CELERY_NOTIFY_OPTIONS, CELERY_MEMORY_OPTIONS, CELERY_TRANSLATE_OPTIONS, or CELERY_BACKUP_OPTIONS, set CELERY_WORKER_MODE=split to preserve the previous behavior.

  • The Docker CELERY_SINGLE_PROCESS environment variable is deprecated. Use CELERY_WORKER_MODE=single instead; the compatibility alias logs a startup warning.

贡献者

所有变化详情

Weblate 2026.9

发布于 2026 年 9 月 3 日。

新功能

  • Repository maintenance actions now run as background tasks, avoiding request and proxy timeouts. Project-wide maintenance remains available for authorized repositories and lists components skipped because of linked-component permissions. The repository API supports the same behavior using background: true.

  • 翻译文件还不存在时,部件发现 可以可选地从单语言基文件或新的基文件创建部件。

  • Added 版本控制参数 to configure repository behavior per component, including force pushing, opting out of pull requests, and GitHub pull request automerge.

  • Added 迁移现有部件 for migrating existing Git and GitHub components to the Weblate GitHub App integration.

  • Added a Visible columns in lists preference to choose which statistics columns are shown in project, component, and language lists. See 首选项.

改进

  • AWS SES can now be used as the outbound e-mail transport in Docker deployments by setting WEBLATE_EMAIL_BACKEND to django_ses.SESBackend. Region, endpoint, and SES v2 API opt-in are configurable via WEBLATE_AWS_SES_REGION_NAME, WEBLATE_AWS_SES_REGION_ENDPOINT, and WEBLATE_USE_SES_V2.

  • Removing the final Weblate workspace connection for a GitHub account, or removing the workspace holding it, now also uninstalls the Weblate GitHub App from GitHub.

  • 更新 POT 文件(xgettext) now accepts multiple custom keywords (newline-separated) passed to xgettext via --keyword, enabling extraction from different function names.

  • Screenshot images are now cached in browsers to reduce repeated downloads.

  • Administrators can now find removed accounts by their former e-mail address in the audit log until AUDITLOG_EXPIRY. See 隐私监管合规.

  • Deployment diagnostics now detect slow filesystem metadata access in data and cache directories, and validate VCS command versions during configuration health checks instead of every process startup. See 性能报告 and VCS_BACKENDS.

  • Clarified the instance-wide impact of roles containing site-wide permissions, including site-wide user management.

  • 改进了仅元数据字符串更改的翻译文件加载性能。

  • Reduced Celery worker startup memory usage by avoiding duplicate Django system checks and loading font rendering only when needed.

  • Billing audit logs now identify users who change plans, initiate payments, or merge billings.

  • Assigning languages to a team now uses an All languages toggle which disables the language choice when turned on, and a manually chosen set of languages is kept when toggling it. See 管理每个项目的访问控制.

  • Management notices now distinguish support package activation, status refresh, unlinking, and Discover Weblate registration.

  • Clarified generic notification hook matching and privacy behavior.

  • Clarified that Weblate does not populate Git submodules. See Git 子模块.

  • The initial 搜索并替换 action is now labeled Review changes to distinguish it from confirmation.

  • The translation flags editor now supports reopening flags for editing, arrow-key navigation, and copying with Ctrl+C. It also keeps commas inside quoted values intact, allowing flags such as regex:"^.{1,32}$" to be typed and pasted.

  • Repository failure alerts now provide guidance matching repository URL validation errors. See 故障排除仓库 URL.

安全修复

  • Component discovery now limits repository paths and file-mask comparisons to prevent excessive resource consumption from specially crafted repositories.

  • Rejected two-factor authentication attempts now apply AUTH_LOCK_ATTEMPTS, invalidate pending password sign-ins on lock or password change, and accept six-digit TOTP codes with leading zeroes.

  • Project backup restores now preserve all project, category, and component settings. They also allowlist repository metadata for Git, git-svn, and Mercurial to prevent archives from supplying executable configuration or repository indirection.

  • 项目管理员不能再删除属于其他项目的 API 令牌

  • User listings and site-wide searches no longer expose project-scoped API tokens to users without global user viewing or editing permission.

  • Project and workspace translation memory now respects restricted component access, and restricted components no longer contribute to shared translation memory.

  • Webhook target matching no longer falls back to host/path suffix matching. Component repository URLs must match a repository URL from the webhook payload. See 匹配的网络钩子目标.

缺陷修复

  • LLM-based machine translation services now report invalid provider responses more clearly, custom OpenAI and Mistral models no longer require a model-listing endpoint, and OpenAI automatic selection supports API keys restricted to older GPT models.

  • Daily metric collection now uses independent tasks and more efficient database queries to reduce peak memory usage and avoid losing all scopes when one collection fails.

  • 数据库转储失败现在显示在 备份管理界面 中。

  • GitLab merge request forks now disable Git LFS to avoid missing-object push failures. See Git LFS.

  • Notification e-mails now wrap long strings instead of overflowing, keeping the View button reachable without horizontal scrolling.

  • Creating additional components for a repository imported through the GitHub App no longer fails without showing any error, and component creation errors which previously could go unreported are now always displayed.

兼容性

  • The json_sort_keys 文件格式参数 is now a choice between none, case_sensitive, and case_insensitive instead of a boolean, including when reading or writing it through the component REST API; existing components are migrated automatically. See GET /api/components/(string:project)/(string:component)/.

  • The Git with force push version control system has been replaced by the git_force_push version control parameter; existing components are migrated automatically.

  • Component and category removal now preserves automatically generated translation memory by default. See 翻译记忆库 for the optional cleanup behavior.

  • 现在可以用 VCS_PRIVATE_ALLOWLIST 来信任 Mercurial 和 Subversion 仓库,通过 VCS_ALLOW_HOSTS 解除限定 Git 到相同主机的限制。

  • The project deletion REST API endpoint now returns 202 Accepted instead of 204 No Content and contains a task URL in the response to track asynchronous deletion progress.

升级

请按照 一般的升级指示 来执行升级。

  • Docker deployments need to configure trusted proxy addresses. Set WEBLATE_TRUSTED_PROXY_ADDRESSES to preserve client IP addresses in nginx logs and Weblate when WEBLATE_IP_PROXY_HEADER=HTTP_X_FORWARDED_FOR is used; otherwise, the immediate TCP peer is used.

贡献者

代码贡献

Michal Čihař, Karen Konou, Gersona, Spyder, mmustafasenoglu, Kartik Ohri, Shweta Singh, Fabian Berg

翻译贡献

Yuri Chornoivan, Matthaiks, Steve, hoanghuy309, VfBFan, António Oliveira, Andrei Stepanov, Adam Havránek, Dick Groskamp, Aindriú Mac Giolla Eoin, Andi Chandler, Lee Vincent, Michal Čihař, Milo Ivir, Ldm Public, Peter Vančo, Alos (bop2039), Tarás Lavrentiev, Lito Parra, goeran, Любомир Василев, Vik, Bone NI, Pierfrancesco Passerini, CYAXXX, Yaron Shahrabani, Pavel Borecki, حسين نور الإسلام, amano, reducedradius, Fjuro, Frostre_, Sup! 0_0, Ulrik, xiezhihai, Yoshi, Alexander Gabilondo, Eduard Ereza Martínez, Watchman89, Kyotaro Iijima, AlexYang, justcontributor, Background update, Arif Budiman, Harsha Kanaparthi, notlin4, KuroisKitsune, Zahid Rizky Fakhri, Michal Várady, Massimo Pissarello, HThuren, SeyhaLite, David Wagener, Yauhen, Anucha Hlownonkor, michael0820, Artyom Rybakov, Nhật Nhật, 子悦解说, Mahdi B. Jahani, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝)

文档贡献

Michal Čihař, Gersona, Karen Konou, Spyder, mmustafasenoglu, Kartik Ohri, Shweta Singh

所有变化详情

Weblate 2026.8.1

发布于 2026 年 8 月 7 日。

新功能

  • Project and component APIs now expose all user-configurable settings, including access control and translation-memory settings. See Weblate 的 REST API.

  • Added the metrics command for retrieving server metrics locally in JSON, CSV, or OpenMetrics format.

缺陷修复

  • Task progress now requires authentication and works for aggregate automatic translation operations.

  • Docker Celery worker logging no longer emits duplicate records through both Celery and Weblate log handlers.

  • Component creation through the REST API now returns the background task URL in the response when creation work is queued.

  • Large language model machine translation services no longer fail when the optional persona and style settings are absent from the stored configuration, as happens when the service is installed through the REST API.

  • import_json now preserves the component source language for newly imported components from JSON exports.

  • Repository actions now require permission on every component sharing the affected repository, including linked components in other projects.

  • Legal document confirmation now explicitly covers the linked privacy policy. See 法律组件.

  • Add-on change history now retains only explicitly public configuration values and marks changed credential fields as redacted.

  • Translator work reports with metrics can now be displayed and downloaded as HTML.

  • Repository credentials are now consistently hidden from web and API output.

升级

请按照 一般的升级指示 来执行升级。

贡献者

代码贡献

Michal Čihař, i4i, Alafi, Kartik Ohri

翻译贡献

Yuri Chornoivan, hoanghuy309, goeran, peterxy, Ldm Public, António Oliveira, CYAXXX, Aindriú Mac Giolla Eoin, Valeria Sofia Azañero, DocNoc, Libre, MrLeaves, Matt P, Yaron Shahrabani, VfBFan, Lee Vincent, Michal Čihař, Andrei Stepanov, cat, Любомир Василев, Artyom Rybakov, Matthaiks, reducedradius, Peter Vančo, Steve, Anmoll Gupta, justcontributor, Besnik Bleta

文档贡献

Michal Čihař, i4i, Kartik Ohri

所有变化详情

Weblate 2026.8

发布于 2026 年 8 月 3 日。

新功能

  • Added a Show all columns in lists using horizontal scrolling preference to keep all listing columns visible on narrow screens instead of hiding them.

  • Workspaces now provide aggregate translation statistics and historical metrics, a permission-filtered My workspaces list, archive downloads, search and replace, upload guidance, workspace translation memory management, and removal of empty workspaces not associated with billing.

  • Added project-level translation metrics in JSON, CSV, and OpenMetrics formats.

  • Added opt-in 用 ASGI 启动 Granian 的示例配置 deployment support, including WEBLATE_ASGI for Docker containers and asynchronous machine translation editor, GitHub App connection, and repository refresh requests.

  • Added grouped project and workspace Diagnostics views with state, severity, category, and actionable-by-user filters. Component diagnostics now track dismissal ownership, reopen after relevant changes, and notify only project maintainers who can act on warnings and errors.

  • Added API endpoints for listing, adding, accepting, rejecting, and voting on translation suggestions.

  • Translation reports are now generated in the background, stored for later download, available at workspace scope, and include translator work analysis.

  • Added Use keywords exclusively option to 更新 POT 文件(xgettext), allowing projects to disable xgettext default keywords and rely only on a custom keyword.

  • Added API support for reading and updating 用户个人资料 preferences. See 用户 endpoint.

  • 新增 最大行数AsciiDoc 标记 质量检查,限制翻译行数并验证 AsciiDoc 字符串。

  • Added 限制翻译语言, including per-language control for restricting direct translation editing to privileged users.

  • 新增支持旧版 Qt Linguist TS 版本 1 文件。见 Qt Linguist .ts

  • Weblate 现在可用老挝语显示。

改进

  • Authenticated web-action rate-limit lockouts are now recorded in the 审计日志 with the affected scope and request path.

  • OpenMetrics API responses now include metric metadata and a versioned content type.

  • Add-on management now uses separate configuration, logs, and components tabs, while activity logs distinguish pending, successful, failed, and skipped executions and explain skipped executions.

  • Expanded 已选中更改事件 documentation with detailed event semantics and improved OpenAPI schema accuracy.

  • Improved loading performance for multi-language matrix views, dashboard component lists, category histories, and shared component listings.

  • Translation memory management now loads origin summaries more efficiently, shows active and pending entry counts, and reports the number of entries processed during import.

  • Static assets now use content-hashed filenames, and CAPTCHA JavaScript is loaded only when needed.

  • Amazon 翻译 machine translation now supports configuring formality, brevity, and profanity masking.

  • Improved 屏幕截图和可视化上下文 OCR reliability and error reporting when downloading recognition data.

  • Repository failure alerts now link directly to component version control settings for users who can edit them, keep technical errors in English, and localize actionable diagnoses for each viewer, including GitHub pull request restrictions.

  • Celery workers now prefetch fewer tasks by default to reduce memory usage and improve task distribution.

  • Improved the recommended 启动 Granian 的配置示例 configuration and Docker container worker resilience for Weblate's WSGI workload.

  • Deployment checks now detect corrupted PostgreSQL relation statistics.

  • Community diagnostics now show source-string screenshot coverage, recommend key translation-instruction topics, and distinguish inbound from outbound repository automation.

  • User-provided links, such as those in comments, announcements, and profiles, are now underlined and use a higher contrast color.

缺陷修复

  • Disabling password authentication from site-wide user management now regenerates the user's personal API key by default.

  • Category, project, and comment statistics now stay consistent after component topology and comment changes, and category metrics are collected correctly.

  • Mercurial repository filenames beginning with a dash are now handled safely.

  • URLs containing backslashes are now rejected as invalid.

  • Protected outbound HTTP and Git connections now bind to validated public addresses; protected Git operations fail closed when clients cannot enforce that binding (GHSA-45m9-pf98-8jmq).

  • Permanent same-host Git HTTP redirects are now validated and stored as canonical component repository URLs.

  • Self-service REST API e-mail changes are now restricted to verified addresses (GHSA-x84p-6892-473c).

  • REST API authorization now consistently protects internal accounts, restricted components, add-on configuration, component sharing, repository links, and review states.

  • Project backup imports now validate restored data before creating project state, skip repository-linked components the importer cannot access, and no longer load archive-supplied Mercurial configuration or shared-repository indirection (GHSA-f66g-8pcg-jm8r, GHSA-327h-qqgm-qv55).

  • 重建项目翻译记忆库不再删除从文件导入的条目。

  • Suggestion submission and rejection now reject excessively long suggestion text and rejection reasons.

  • Restricted components are now available on Hosted Weblate when the billing plan permits private projects.

  • Machine translation and translation memory AJAX lookups no longer disclose whether inaccessible unit IDs exist.

  • RSS feeds no longer disclose change history from inaccessible projects or restricted components (GHSA-vvc6-wvqm-w5gc).

  • Authenticated legacy GitHub App webhooks can again trigger repository updates through the generic GitHub webhook endpoint.

兼容性

  • django-compressor is no longer used, and the COMPRESS_* settings have been removed.

  • Legal document styling is now provided through an overridable template instead of Weblate's global stylesheet. See 自定义法律文档和样式.

  • When VCS_RESTRICT_PRIVATE is enabled, Mercurial and Subversion repository hosts must be explicitly included in VCS_ALLOW_HOSTS; Git over HTTPS and SSH enforces connection address pinning without an allowlist entry.

  • Outbound HTTP proxy configuration is limited to the per-protocol environment variables documented in HTTP 代理.

  • Git SSH validates configured HostName and Port destinations before connecting; administrator SSH configuration remains trusted, and SSH_EXTRA_ARGS can override connection routing and address pinning.

  • Git LFS object transfers are unsupported and disabled for Weblate-managed repositories; LFS-tracked files remain pointer files.

  • The project and component credits REST API endpoints and their credits_url response fields have been replaced by scoped reports endpoints and reports_url. Credits report generation is now asynchronous; clients need to submit a credits report, follow the returned task URL, and fetch the completed report. See POST /api/reports/.

  • The top-level languages field on user REST API responses has been removed; use profile.languages instead. See 用户个人资料.

升级

请按照 一般的升级指示 来执行升级。

  • settings_example.py 中有几项更改,最明显的是新的 STORAGES 配置和删除了 COMPRESS_* 设置,请相应调整你的设置。

  • Running weblate compress is no longer necessary; weblate collectstatic --noinput now prepares versioned static assets without clearing the static storage.

贡献者

代码贡献

Michal Čihař, Karen Konou, Nikunj Tyagi, Weblate CI, Shweta Singh, Gersona, Giacomo La Serra, Kartik Ohri, mmustafasenoglu, Mustafa Senoğlu, "Emmanuelle Bonnemay", Nicolas Lepage, "Guillaume Lagorce", "Jérémie Jadé", "Matthias le Coach", Любомир Василев, Spyder

翻译贡献

António Oliveira, hoanghuy309, reducedradius, Michal Čihař, Andrei Stepanov, 為什麼不加空格, BoneNI, Любомир Василев, Adam Havránek, Libre, Horus68, Peter Vančo, Aindriú Mac Giolla Eoin, Matthaiks, VfBFan, Ldm Public, Mickaël Binos, Lee Vincent, Dick Groskamp, Rafael Fontenelle, Justin Parrot, Valeria Sofia Azañero, Priit Jõerüüt, Frank Paul Silye, goeran, Abduqadir Abliz, Arif Budiman, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), Aniwene Madolomani, Pierfrancesco Passerini, Andi Chandler, Thunderstrike116, Giacomo La Serra, Ulrik, Cyborus, PPNplus, justcontributor, AlexYang, Kyotaro Iijima, Rajkumar Ramadoss, Yuri Chornoivan, DocNoc, Anucha Hlownonkor, Milo Ivir, Alexander Gabilondo, mbutsk, Oğuz Ersen, nautilusx, Yago Raña Gayoso, Blueberry, Yoshihoko, suyeon kim, Azharul Haque, win7guru, Matt P, Miguel A. Bouzada

文档贡献

Michal Čihař, Nikunj Tyagi, Shweta Singh, Gersona, Giacomo La Serra, Weblate CI, Kartik Ohri, Karen Konou, mmustafasenoglu, Mustafa Senoğlu, Robert Wolff

所有变化详情

Weblate 2026.7.1

发布于 2026 年 7 月 10 日。

新功能

改进

  • 受限部件现在在部件列表中显示状态图标。

  • Permission checks now reuse materialized team membership data from lightweight relation lookups.

  • Documented that intermediate language files are hidden from language listings and can make target strings read-only.

  • Component diagnostics now warn when regular GNU gettext PO (Portable Object) PO files are configured as monolingual PO files.

  • 大型翻译记忆库中进行翻译记忆模糊查找的速度更快了。

  • Permission denied messages when saving translations, editing glossaries, or voting on suggestions now show more specific reasons.

  • Comment notifications for strings you translated now also include strings you previously commented on or suggested translations for.

  • 启用 自动关注作出贡献的项目 时用户写评论和提翻译建议会让用户自动关注该项目。

  • Clarified Hosted Weblate repository access guidance in 代码托管集成.

  • 搜索字符串 now includes filters for comments by the current user and separate source string comment lookups.

  • Code-hosting account pages now consistently use Code-hosting connections and provider-neutral connected account wording.

  • 发现 Weblate registration can now be started from the management interface without manually copying the activation token.

  • 发现 Weblate can now be managed from a dedicated management panel, registration starts with discovery enabled, and protected projects are included in the listing.

  • Updated the OpenAI, Mistral, and Anthropic model lists for currently supported models.

缺陷修复

  • Filtered translation and zen navigation now reuse a stable session result list, keeping positions and counts stable after translated strings leave the filter.

  • 不再在翻译列表中显示部件优先级图标。

  • 标点间距 no longer flags Markdown image markers as French punctuation and now shows which punctuation marks triggered the check.

  • Fedora Messaging 收到了几个稳定性修复。

  • The Things to check panel no longer uses error highlighting for suggestions and other non-error translation states.

  • Translation workflow customization now makes it clearer when per-language workflow settings are disabled until customization is enabled.

  • Anonymous user permission caches are now isolated between requests.

  • GitHub App setup now explains that a workspace is required instead of showing a permission error when no workspace exists.

  • LLM automatic suggestion settings no longer show null for empty language-specific instructions.

  • File format feature tables now better match actual format support, including descriptions, context, plural metadata, obsolete string removal, specialized file extensions, and merged variants.

  • Accepting a project invitation now automatically adds the project to the user's watched projects.

  • Dismissing a failing check no longer shows a JSON parsing error in the translation editor.

  • Screenshot searches without an explicit field now match screenshot names only, and the search box links to the full screenshot search documentation.

  • Anonymous and internal bot accounts can no longer be edited through generic user management.

  • LLM machine translation suggestions now recover from more malformed structured JSON replies.

  • Azure AI Translator settings now reject malformed region names before validating service connectivity.

升级

请按照 一般的升级指示 来执行升级。

  • Weblate now requires the PostgreSQL btree_gist extension for translation memory lookups. The migration installs it automatically when the database user has sufficient privileges. Installations using a non-superuser database user should pre-create it before upgrading; see 创建 PostgreSQL 数据库.

贡献者

代码贡献

Michal Čihař, Karen Konou, Weblate CI, Benjamin Alan Jamie, Kartik Ohri

翻译贡献

Michal Čihař, António Oliveira, 大学没毕业, 為什麼不加空格, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), hoanghuy309, Libre, VfBFan, Peter Vančo, Jim Kats, ButterflyOfFire, Kiên Trần Trung, skittles poopy, Ulrik, Horus68, Mickaël Binos, Adam Havránek

文档贡献

Michal Čihař, mayank-dev-15, Benjamin Alan Jamie

所有变化详情

Weblate 2026.7

发布于 2026 年 7 月 1 日。

新功能

改进

  • RTL editing and translation display now handle bidirectional text better, including Unicode isolate controls in the 虚拟键盘.

  • Management interface access control is now more fine-grained with dedicated site-wide permissions.

  • Default commit and merge request message templates now use Conventional Commits, settings forms can restore installation defaults, and pull request messages use a compact language progress matrix.

  • Documented 法律组件 customizations and added options to hide legal pages or disable document numbering.

  • Expanded security documentation for data residency, EU cloud sovereignty, release artifacts, supported versions, release verification, SBOMs, dependency handling, vulnerability reporting, hosted-service incident response, and self-hosted operator responsibilities.

  • 更新 LINGUAS 文件 更好地检测 LINGUAS 文件存在与否。

  • 更新 POT 文件(xgettext) can now leave the xgettext language blank to let xgettext guess it from source file extensions.

  • 更新 POT 文件(xgettext)更新 POT 文件(Meson)更新 gettext 模板(Django)更新 POT 文件(Sphinx) 现在可以在生成的 POT 文件中保留原文位置,即便翻译的 PO 文件省略位置。

  • Add-ons installed at higher scopes are now shown on lower-scope add-on pages, and broad-scope add-ons can list affected components with compatibility details.

  • Docker 容器中现在有了 WEBLATE_ALLOWED_ASSET_SIZE

  • LLM automatic suggestions now use translated examples, language-specific instructions, richer glossary context, and structured placeholder context for more reliable output.

  • 元描述现在更好地匹配单项目安装和自托管安装。

  • Zen mode, filtered searches, nearby strings, translation form submissions, and add-on management pages now load more efficiently on large sites.

  • Added 为发行版打包 Weblate guidance for distribution maintainers.

  • Large component imports now avoid duplicate translation-memory processing.

  • 现在可以配置 GNU gettext PO (Portable Object) 在保存时删除陈旧的字符串,包括在仓库维护期间。

  • Bulk accepting suggestions now confirms the number of affected suggestions, can approve them for reviewers, and processes the acceptance in the background.

  • Committing large numbers of pending translations now queues browser requests in the background and avoids duplicate repository commit tasks.

  • Change-event notification add-ons can now use presets for translation content events, all events, or selected individual events.

  • Fedora Messaging 现在验证安全代理连接并暴露传输时间及主题前缀设置。

  • Component diagnostics now sort entries by severity, color-code severity badges, and show the error count on the Diagnostics tab.

  • 性能报告 now shows PostgreSQL database disk usage next to server disk usage and warns when the database usage cannot be collected.

  • 性能报告 now shows PostgreSQL database disk usage next to server disk usage and warns when the database usage cannot be collected or there is not enough free space in the backup destination to store a database dump.

  • The 搜索并替换 preview now keeps the search parameters editable so the query can be refined before applying replacements.

缺陷修复

  • 正则表达式 and 占位符 now enforce regular expression timeouts when evaluating source-string flags (CVE 2026-62326, GHSA-r52j-4vjp-q949).

  • Restricted component changes are no longer exposed through nested project, component, or translation API change endpoints (CVE 2026-62249, GHSA-92m8-wv36-prmx).

  • ZIP downloads, including 应用商店元数据文件 translation bundles, no longer follow child symbolic links outside the downloaded tree (CVE 2026-61792, GHSA-xwj4-fp82-r2rj).

  • Teams enforcing two-factor authentication now also withhold site-wide permissions from human members without 2FA configured (CVE 2026-61790, GHSA-x86c-ff69-cr2m).

  • Globally scoped HTML and AJAX object lookups no longer disclose object existence in private projects (CVE 2026-55227, GHSA-2p9g-x3cv-5hh4).

  • Team API access checks now prevent project managers from reading private-project team data or expanding scoped team assignments outside their allowed projects (CVE 2026-55228, GHSA-2q2q-jr9g-v9rf).

  • Malformed replacements flags no longer abort source length checks.

  • Empty component lists are no longer exposed to users without component list management permission.

  • Glossary handling no longer duplicates TBX terms or shows source-language terms in both translation columns.

  • 重复字符串警报现在提供从翻译文件删除重复字符串的清理选项。

  • Gerrit 审核请求 review pushes can again include Gerrit push options in the target branch.

  • Webhook target fallback matching is now stricter and reported in component diagnostics.

  • 创建与 weblate:// 链接的部件在请求期间不再等待共享的仓库锁。

  • Project and workspace translation license defaults now follow component and project licenses more closely.

  • Component and category API PATCH requests no longer remove the category when the field is omitted.

  • Document and translation-memory uploads now enforce TRANSLATION_UPLOAD_MAX_SIZE, and API document uploads validate file extensions.

  • reStructuredText 语法错误 现在检测不成对反引号包裹的内联角色。

  • 不安全的 HTML now efficiently detects changed placeholder-only HTML attribute values in translations.

  • 译文最大尺寸 no longer wraps text configured to fit on one line, checks source strings, and refreshes rendered previews after source edits.

  • Bitmap widgets and 译文最大尺寸 previews now use Matplotlib and no longer require Pango, Cairo, librsvg, or GObject Introspection.

  • Repository reset and update history now keeps attribution, records remote update failures, and includes follow-up translation-file reconciliation.

  • Updating repository URLs now validates compatible Git history without requiring an immediate successful merge.

  • 自动翻译 使用机器翻译时不再验证隐藏的部件字段。

  • Strings marked for edit links now include all strings needing editing, checking, or rewriting.

  • Anonymous permission checks no longer fail when loading teams scoped to projects or workspaces.

  • API project creation can again use the user's only eligible workspace when no explicit workspace is supplied.

  • Git auto-maintenance is now disabled for Weblate-managed repositories to avoid concurrent detached maintenance jobs.

  • Interrupted Git repository operations are now either recovered and recorded or surfaced as a repository alert.

  • 操作面板上已关注翻译现在包含类别路径部分。

  • Unsupported upload levels now show an upload placeholder pointing to individual translations.

  • Component API responses no longer expose repository export, push branch, or repository browser links to users without repository access.

兼容性

  • DeepL now handles DeepL API versions internally, uses v3 for glossary management and language discovery, and no longer supports DeepL API v1.

  • Fedora Messaging topics now include category path segments, and broker settings are stored as an AMQP URL with existing host and SSL settings migrated automatically.

升级

请按照 一般的升级指示 来执行升级。

  • settings_example.py 中有几项更改,最显著的更改在 SOCIAL_AUTH_PIPELINESOCIAL_AUTH_DISCONNECT_PIPELINE,请相应调整你的设置。

  • Existing translation-memory entries are moved to scoped storage by a periodic Celery background task. Keep Celery running after the upgrade; translation-memory suggestions can be incomplete until the backfill finishes.

贡献者

代码贡献

Michal Čihař, Karen Konou, Weblate CI, michael-smt, Samuel Gomes, Dinis Sales, Gersona, Harsha C, Kartik Ohri, Besnik Bleta, fahadhewad

翻译贡献

Dick Groskamp, Michal Čihař, 為什麼不加空格, VfBFan, Любомир Василев, 이정희, Aindriú Mac Giolla Eoin, Yaron Shahrabani, jiahaisheng, Horus68, Andrei Stepanov, Martin Srebotnjak, Peter Vančo, Hotripak, 大王叫我来巡山, Milo Ivir, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), Mickaël Binos, Besnik Bleta, Frank Paul Silye, Matthaiks, abd sak, Hoseok Seo, Fulup Jakez, Gaël TISSERAND (Gtisseran), Azamat Аituganov, Mahirə Həsənova, Pierfrancesco Passerini, Libre, Mohamed Aymane Farhi, Júlia Rosell Saldaña, پرویز قادر, Jim Kats, Miguel A. Bouzada, Manuela Silva, reducedradius, Hanssium, Uh idk, Arif Budiman, Feike Donia, Zahid Rizky Fakhri, Emin Tufan Çetin, ojppe, தமிழ்நேரம், António Oliveira, Rumuz AGO, justcontributor, Flynn, Ștefan Zaharia, Nozomu Matsui, H-Media, Ecron, Weblate CI, Balázs Meskó, Fjuro, goeran, Adam Havránek, Priit Jõerüüt, Astrid Høie Silden, Alan S. Muhammed (Alan Kurdish), hoanghuy309, Yamin Siahmargooei, MeahNunh, Kartik Ohri, Valeria Sofia Azañero, Tuomas Hietala, Rafael Fontenelle, Yuri Chornoivan, AWwue-work, Kristoffer Grundström, ssantos, Andi Chandler, Ldm Public, Alc4Traz45, Szafranek13, hms5232, Victor K, 大学没毕业

文档贡献

Michal Čihař, michael-smt, Karen Konou, Gersona, Weblate CI, Kartik Ohri, Besnik Bleta, fahadhewad, Harsha C

所有变化详情

Weblate 2026.6.1

发布于 2026 年 6 月 1 日。

缺陷修复

  • 面向所有语言的 公告 不再破坏语言概览页。

升级

请按照 一般的升级指示 来执行升级。

贡献者

代码贡献

Michal Čihař

文档贡献

Michal Čihař

所有变化详情

Weblate 2026.6

发布于 2026 年 6 月 1 日。

新功能

  • 现在也可通过特定项目语言的 Weblate 的 REST API 管理 公告

  • 现在可以将团队成员身份限制为所选语言用于每用户翻译权限。

  • 翻译报告新增 花费预估

  • Added optional OpenTelemetry tracing for backend requests and tasks, and Google Cloud Error Reporting for handled server errors.

  • Added 工作区 to group related projects, with workspace project listings, workspace-scoped teams and project creation permissions, inherited workspace, project, and category defaults for selected component settings, and billing details when available.

改进

  • Docker 容器现在可以配置 WEBLATE_SAML_SECURITY_CONFIG 来自定义 SAML 安全设置,并用 WEBLATE_ADD_FORMATSWEBLATE_REMOVE_FORMATS 调整 WEBLATE_FORMATS

  • 改进了大型项目 不一致的 检查的性能。

  • Translation flag fields now use a tag-based editor with autocompletion and grouped suggestions for all known flags.

  • Contributor stats now de-duplicate repeated work on the same string by default, with an option to count all changes.

  • 代码托管集成 now documents HTTPS access-token URLs and dedicated-user SSH URLs for accessing repositories, and 持续本地化 now explains why squash merging Weblate conflict-resolution pull requests can require a repository reset.

  • 翻译部件诊断 now include dismissible component diagnostics for community localization.

  • 屏幕截图和可视化上下文 now support bulk assignment from search or image text recognition results, make finding strings in uploaded images easier to discover, show source string coverage counts, and include advanced listing search.

  • 软件物料清单 release artifacts now include CISA 2025 document-level metadata.

缺陷修复

  • Outbound URL validation now rejects additional non-public targets (CVE 2026-50127, GHSA-vmfc-9982-2m45).

  • 项目语言 公告 不再在整个项目中出现。

  • Hardened POST /api/screenshots/ access checks against private project enumeration.

  • Registration-attempt account activity e-mails now link to password reset to help users finish account setup.

  • 邀请新用户 links now work for signed-in users whose account owns the invited e-mail address.

  • Searching for strings with content changes without a recorded author now supports changed_by:"", and combined change filters now apply to the same change event.

  • Gitea and Forgejo pull requests no longer reconfigure existing fork remotes to point to the source repository.

  • Project and category language translation sessions now keep strings grouped by component priority and show component switch warnings reliably.

  • Engage page task links now stay centered and show the target translation language.

  • Gettext POT update add-ons now rescan translations after committing updated POT and PO files.

  • Git repositories now update branches correctly when the remote also has a tag with the same name.

  • 冲突的仓库设置警报现在允许同分支直接推送。

  • Obsolete cleanup schedules are now removed from Celery beat during upgrade.

  • Translation pages for workspace projects no longer crash when workspace fields are deferred.

升级

请按照 一般的升级指示 来执行升级。

  • INSTALLED_APPS 有一处更改;应添加 weblate.workspaces

  • 数据库迁移在较大的实例上可能要花更长时间。

贡献者

代码贡献

Michal Čihař, Karen Konou, Weblate CI, Basheer Radman, michael-smt, Kristián Kunc, felixfon

翻译贡献

Michal Čihař, VfBFan, 大王叫我来巡山, Emin Tufan Çetin, Basheer Radman, 為什麼不加空格, Peter Vančo, Christian Wia, Любомир Василев, Matthaiks, Andrei Stepanov, Libre, Besnik Bleta, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), Balázs Meskó, Aindriú Mac Giolla Eoin, Adam Havránek, Dick Groskamp, Arif Budiman, Mickaël Binos, Ryo Nakano, hoanghuy309, Pierfrancesco Passerini, Alefsander Ribeiro Nascimento, Massimo Pissarello, justcontributor, 이정희, Cabdi Waaxid Siciid, Yaron Shahrabani, User2068, Kyotaro Iijima, pan93412, jernejp21, libermax, Phileas Fogg, Fjuro, Jim Kats, Fulup Jakez, Priit Jõerüüt, Ldm Public, Andi Chandler, Burak SDN, ojppe

文档贡献

Michal Čihař, VfBFan, Basheer Radman, Weblate CI, michael-smt, felixfon

所有变化详情

Weblate 2026.5

发布于 2026 年 5 月 15 日。

新功能

  • Added MDX 文件 support for translating Markdown text while preserving JSX syntax, with 文件格式参数 shared with Markdown 文件 for line wrapping, code blocks, front matter, and placeholder handling.

  • Added extended LLM translation context for automatic suggestions, covering string context, explanations, secondary-language translations, plurals, failing checks, and placeholders.

  • Added a digest-only translation activity summary notification, see 通知.

  • CSV and XLSX downloads in 下载译文 now export plural strings as separate plural-form rows that can be imported back.

  • Added Gettext PO and POT 文件格式参数 to control whether Weblate updates the Language-Team, Last-Translator, X-Generator, and Report-Msgid-Bugs-To headers.

  • Added a backup to run configured backup services synchronously.

  • The translation memory lookup API can now skip fuzzy matching with the exact query parameter.

  • 新增 翻译文件 CDN 发布翻译文件到配置的 CDN。

改进

  • 现在可用 dos_eol 文件格式参数 来配置使用 DOS 行结尾符号。

  • OpenAI and Alibaba no longer require their vendor Python SDKs.

  • 现在在历史记录中记录经审计的项目和部件设置。

  • Gerrit review pushes now use 推送分支 as the target branch.

  • Weblate now checks whether CACHE_DIR allows executing generated helper files.

  • The 软件物料清单 is now generated during release and published as a versioned release asset instead of being stored in the source repository.

  • The translating page now separates screenshots from string information, collapses rarely used string details, and groups glossary and screenshot actions more consistently.

  • Project access management now paginates users and better explains site-wide automatic team assignments.

  • Added provider-oriented code-hosting documentation and Gettext-style 复数公式 guidance.

  • The Python wheel no longer ships source translation catalogs, test files, or deployment example files, reducing the installed package size.

  • The engage page now highlights actionable translation task buckets for newcomers.

  • RSS feeds can now use the same filters as the changes browsing page.

  • 更新 gettext 模板(Django) now supports gettext PO files used as templates when they are excluded by the language filter.

  • Reworked Weblate 威胁模型 into a contract-style document.

缺陷修复

  • Hardened search previews and 自动建议 suggestion origins against XSS, and stopped exposing database error details in upload failures (CVE 2026-45106 / GHSA-6wxc-8mgq-w26m).

  • Screenshot URL uploads, remote HTML extraction in JavaScript 本地化 CDN, and URL health-check redirects now reject internal or non-public targets by default.

  • Gerrit review pushes now reject target branches containing push options, track the target branch before invoking git-review, and suggest short branch names when full refs are supplied.

  • 公告 类别不再出现在整个项目中,翻译声明删除现在遵守语言级的权限。

  • Merge request pushes now refresh stale fork remotes after changing repository hosting.

  • Plural counts parsed from translation file headers are now bounded, and plural formulas are rejected when they can evaluate outside the configured plural form range.

  • 项目访问令牌 expiring today now remain valid until the end of the day.

  • Malformed ALTCHA CAPTCHA submissions and repository URLs in webhook payloads no longer cause server errors.

  • 占位符 now merges overlapping non-nested spans from multiple flags.

  • 备份和迁移 Weblate logs no longer include OpenSSH post-quantum key exchange warnings from remote Borg connections.

  • Category repository paths are now handled more safely during cleanup and moves.

  • Locked component pages now show an unsubscribe action after subscribing to unlock notifications.

  • 项目级别备份 imports now restore in the background to avoid web worker memory limits.

兼容性

  • The dos-eol flag is no longer supported. Use the dos_eol 文件格式参数 instead.

  • The registration CAPTCHA now uses the ALTCHA widget v3 protocol with Argon2id proof-of-work.

  • The set_language_team project attribute has been replaced with the po_set_language_team file format parameter at the component level; see 文件格式参数.

  • Weblate now uses calendar versioning for releases, see 发行周期.

  • Weblate now uses stricter dependency version constraints to better control runtime environment.

升级

请按照 一般的升级指示 来执行升级。

  • The ALTCHA_MAX_NUMBER setting has been replaced by ALTCHA_COST, ALTCHA_MEMORY_COST, and ALTCHA_PARALLELISM; please adjust your settings accordingly.

  • The upgrading policy was changed, and upgrades are only supported from the current or previous calendar year.

  • The COMMENT_CLEANUP_DAYS and SUGGESTION_CLEANUP_DAYS settings are migrated once to site-wide 过时评论删除 and 过时建议删除 add-ons; configure those add-ons instead.

贡献者

代码贡献

Michal Čihař, Karen Konou, AliceVisek, Gersona, Weblate CI

翻译贡献

이정희, Andrei Stepanov, Milo Ivir, ssantos, 大王叫我来巡山, Kaya Zeren, reducedradius, Peter Vančo, amano, Michal Čihař, Anucha Hlownonkor, Yaron Shahrabani, UDP, Максим Горпиніч, Agnieszka C, VfBFan, Blueberry, ojppe, Francisco Serrador, Aindriú Mac Giolla Eoin, Fjuro, Любомир Василев, Frank Paul Silye, Temuri Doghonadze, Yuri Chornoivan, Sergio Granadoz, Sketch6580, Hyeonjeong Lee, 為什麼不加空格, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), justcontributor, Kristijan "Fremen" Velkovski, Pierfrancesco Passerini, Besnik Bleta, Arif Budiman, Andi Chandler, jernejp21, Manuela Silva, Sjur N Moshagen, Abduqadir Abliz, Laitei, Кирилл Ванин, Matthaiks, Nozomu Matsui, Dick Groskamp, MrZwave, hoanghuy309, Jim Spentzos, Adam Havránek, Ricky Tigg, Christian Wia, ButterflyOfFire

文档贡献

Michal Čihař, Gersona, Karen Konou, AliceVisek

所有变化详情