{"id":1806,"date":"2026-01-07T13:51:04","date_gmt":"2026-01-07T13:51:04","guid":{"rendered":"https:\/\/blog.mozilla.org\/l10n\/?p=1806"},"modified":"2026-01-07T13:51:04","modified_gmt":"2026-01-07T13:51:04","slug":"mozilla-localization-in-2025","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/l10n\/2026\/01\/07\/mozilla-localization-in-2025\/","title":{"rendered":"Mozilla Localization in 2025"},"content":{"rendered":"<h2>A Year in Data<\/h2>\n<p>As is tradition, we&#8217;re wrapping up 2025 for Mozilla&#8217;s localization efforts and offering a sneak peek at what&#8217;s in store for 2026 (you can find <a href=\"https:\/\/blog.mozilla.org\/l10n\/2025\/01\/02\/mozilla-localization-in-2024\/\">last year\u2019s blog post here<\/a>).<\/p>\n<p>Pontoon\u2019s metrics in 2025 show a stable picture for both new sign-ups and monthly active users. While we always hope to see signs of strong growth, this flat trend is a positive achievement when viewed against the challenges surrounding community involvement in Open Source, even beyond Mozilla. Thank you to everyone actively participating on Pontoon, <a href=\"https:\/\/chat.mozilla.org\/#\/room\/#l10n-community:mozilla.org\">Matrix<\/a>, and elsewhere for making Mozilla localization such an open and welcoming community.<\/p>\n<ul>\n<li aria-level=\"1\">30 projects and 469 locales (+100 compared to 2024) set up in <a href=\"https:\/\/pontoon.mozilla.org\/\">Pontoon<\/a>.<\/li>\n<li aria-level=\"1\">5,019 new user registrations<\/li>\n<li aria-level=\"1\">1,190 active users, submitting at least one translation, on average 233 users per month (+5% Year-over-Year)<\/li>\n<li aria-level=\"1\">551,378 submitted translations (+18% YoY)<\/li>\n<li aria-level=\"1\">472,195 approved translations (+22% YoY)<\/li>\n<li aria-level=\"1\">13,002 new strings to translate (-38% YoY).<\/li>\n<\/ul>\n<p>The number of strings added has decreased significantly overall, but not for Firefox, where the number of new strings was 60% higher than in 2024 (check out the <a href=\"https:\/\/www.arewefluentyet.com\/\">increase of Fluent strings<\/a> alone). That is not surprising, given the amount of new features (selectable profiles, unified trust panel, backup) and the upcoming settings redesign.<\/p>\n<p>As in 2024, the relentless growth in the number of locales is driven by <a href=\"https:\/\/commonvoice.mozilla.org\">Common Voice<\/a>, which now has 422 locales enabled in Pontoon (+33%).<\/p>\n<p>Before we move forward, thank you to all the volunteers who contributed their time, passion, and expertise to Mozilla\u2019s localization over the last 12 months \u2014 or plan to do so in 2026. There is always space for new contributors!<\/p>\n<h2>Pontoon Development<\/h2>\n<p>A significant part of the work on Pontoon in 2025 isn\u2019t immediately visible to users, but it lays the groundwork for improvements that will start showing up in 2026.<\/p>\n<p>One of the biggest efforts was switching to a new data model to represent all strings across all supported formats. Pontoon currently needs to handle around ten different formats, as transparently as possible for localizers, and this change is a step to reduce complexity and technical debt. As a concrete outcome, we can now support proper pluralization in Android projects, and we landed the first string using this model in Firefox 146. This removes long-standing UX limitations (no more <code>Bookmarks saved: %1$s<\/code> instead of <code>%1$s bookmarks saved<\/code>) and allows languages to provide more natural-sounding translations.<\/p>\n<p>In parallel, we continued investing in a unified localization library, <a href=\"https:\/\/github.com\/mozilla\/moz-l10n\/\">moz-l10n<\/a>, with the goal of having a centralized, well-maintained place to handle parsing and serialization across formats in both JavaScript and Python. This work is essential to keep Pontoon maintainable as we add support for new technologies and workflows.<\/p>\n<p>Pontoon as a project remains very active. In 2025 alone, Pontoon saw more than 200 commits from over 20 contributors, not including work happening in external libraries such as moz-l10n.<\/p>\n<p>Finally, we\u2019ve been improving API support, another area that is largely invisible to end users. We moved away from GraphQL and migrated to Django REST, and we\u2019re actively working toward feature parity with <a href=\"https:\/\/transvision.mozfr.org\/\">Transvision<\/a> to better support automation and integrations.<\/p>\n<h2>Community<\/h2>\n<p>Our main achievement in 2025 was organizing a <a href=\"https:\/\/blog.mozilla.org\/l10n\/2025\/06\/26\/reconnecting-in-berlin-a-celebration-of-mozillas-localization-community\/\">pilot in-person event in Berlin<\/a>, reconnecting localizers from around Europe after a long hiatus. Fourteen volunteers from 11 locales spent a weekend together at the Mozilla Berlin office, sharing ideas, discussing challenges, and deepening relationships that had previously existed only online. For many attendees, this was the first time they met fellow contributors they had collaborated with for years, and the energy and motivation that came out of those days clearly showed the value of human connection in sustaining our global community.<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1772 size-extra-large\" src=\"https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2-1000x753.jpg\" alt=\"Group dinner for the localization event in Berlin\" width=\"1000\" height=\"753\" srcset=\"https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2-1000x753.jpg 1000w, https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2-300x226.jpg 300w, https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2-600x452.jpg 600w, https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2-768x578.jpg 768w, https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2-1536x1157.jpg 1536w, https:\/\/blog.mozilla.org\/l10n\/files\/2025\/06\/image2.jpg 1600w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/a>This doesn\u2019t mean we stopped exploring other ways to connect. For example, throughout the year we continued publishing <a href=\"https:\/\/blog.mozilla.org\/l10n\/category\/contributor-spotlight\/\">Contributor Spotlights<\/a>, showcasing the amazing work of individual volunteers from different parts of the world. These stories highlight not just what our contributors do, but who they are and why they make Mozilla\u2019s localization work possible.<\/p>\n<p>Internally, these spotlights have played an important role for advocating on behalf of the community. By bringing real voices and contributions to the forefront, we\u2019ve helped reinforce the message that investing in people \u2014 not just tools \u2014 is essential to the long-term health of Mozilla\u2019s localization ecosystem.<\/p>\n<h2>What\u2019s coming in 2026<\/h2>\n<blockquote><p>As we move into the new year, our focus will shift to exploring alternative deployment solutions. Our goal is to make Pontoon faster, more reliable, and better equipped to meet the needs of our users.<\/p><\/blockquote>\n<p>This excerpt comes from last year\u2019s blog post, and while it took longer than expected, the good news is that we\u2019re finally there. On January 6, we moved Pontoon to a new hosting platform. We expect this change to bring better reliability and performance, especially in response to peaks in bot traffic that have previously made Pontoon slow or unresponsive.<\/p>\n<p>In parallel, we \u201csilently\u201d launched the <a href=\"https:\/\/language.mozilla.org\/\">Mozilla Language Portal<\/a>, a unified hub that reflects Mozilla\u2019s unique approach to localization while serving as a central resource for the global translator community. While we still plan to expand its content, the main infrastructure is now in place and publicly available, bringing together searchable translation memories, documentation, blog posts, and other resources to support knowledge-sharing and collaboration.<\/p>\n<p>On the technology side, we plan to extend plural support to iOS projects and continue improving Pontoon\u2019s translation memory support. These improvements aim to make it easier to reuse translations across projects and formats, for example by matching strings independently of placeholder syntax differences, and to translate Fluent strings with multiple values.<\/p>\n<p>We also aim to explore improvements in our machine translation options, evaluating how large language models could help with quality assessment or serve as alternative providers for MT suggestions.<\/p>\n<p>Last but not least, we plan to keep investing in our community. While we don\u2019t know yet what that will look like in practice, keep an eye on this blog for updates.<\/p>\n<p>If you have any thoughts or ideas about this plan, let us know on <a href=\"https:\/\/fosstodon.org\/@mozilla_l10n\/\">Mastodon<\/a> or <a href=\"https:\/\/chat.mozilla.org\/#\/room\/#l10n-community:mozilla.org\">Matrix<\/a>!<\/p>\n<h2>Thank you!<\/h2>\n<p>As we look toward 2026, we\u2019re grateful for the people who make Mozilla\u2019s localization possible. Through shared effort and collaboration, we\u2019ll continue breaking down barriers and building a web that works for everyone. Thank you for being part of this journey.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Year in Data As is tradition, we&#8217;re wrapping up 2025 for Mozilla&#8217;s localization efforts and offering a sneak peek at what&#8217;s in store for 2026 (you can find last &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/l10n\/2026\/01\/07\/mozilla-localization-in-2025\/\">Read more<\/a><\/p>\n","protected":false},"author":663,"featured_media":1807,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12691,137],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/posts\/1806"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/users\/663"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/comments?post=1806"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/posts\/1806\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/media\/1807"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/media?parent=1806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/categories?post=1806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/tags?post=1806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}