pb_localizer
PB Localizer: Breaking the Language Barrier for Global Drupal Adoption
The PB Localizer (Project Browser Localizer) brings the heart of the
Project Browser into your
users' native language. The Project Browser is a fantastic tool that pulls module
metadata from Drupal.org in real time — but that data is English-only. For
non-English-speaking site builders, agencies and their clients, this is a real barrier.
PB Localizer 3.x solves this by acting as a client for a central
PB Translation Hub. It
transparently intercepts the JSON:API responses and overlays them with live translations
created by the community and by AI (Gemini/DeepL) — delivering a localized "App Store"
experience that builds trust. New in 3.x: the official hub is preconfigured.
Install the module — translations are there instantly. No setup required.
Core philosophy: "Language is Trust"
The study "Can't Read, Won't Buy: Why Language Matters on Global Websites" by
CSA Research shows that language is a decisive factor in adoption and
purchasing decisions. This is exactly where the Project Browser comes in — as the first
gateway through which new users explore the Drupal ecosystem:
- Preference: 72.4% of users spend more time with content in their
native language. - Necessity: 52.4% only buy on websites presented in their own
language. - Trust & quality: 67% consider localized product information
essential when making decisions. - Value over price: 56.2% rate information in their own language
more highly than a lower price.
What PB Localizer does
- "Shadow API" proxy: Transparently intercepts JSON:API requests to
Drupal.org and merges live metadata with translations — without touching Drupal core. - Preconfigured Translation Hub: Automatically connects to the
official, community-held server
(pb.drupaltutorials.de), where modules are
translated by the community and AI into 100+ languages. A custom hub can be configured
at any time. - Translated module metadata: Titles, summaries and full project
descriptions — including correctly rendered code samples with syntax highlighting. - Localized categories: Category names (e.g. "Access Control",
"Commerce") are fetched from the hub and cached locally. - Dynamic UI localization: A MutationObserver translates hardcoded
interface elements of the Svelte UI (such as "X sites report using this module")
directly within the Project Browser. - Visual indicators: Language flags (🇩🇪 🇫🇷 …) on translated module
cards show at a glance what has been localized. - Quality gate: Only approved translations
(is_reviewed) are shown — for vetted quality instead of raw output. - Cache integrity: Strict cache isolation prevents languages from
bleeding into each other in multilingual environments.
Who is it for?
- Module maintainers: Your module reaches 100+ language markets —
without you translating a single line. The community and AI handle it; you stay focused
on the code. - Agencies & site builders: Present your clients with a module
catalog in their own language — professional, trustworthy, "App Store" quality. - Site owners & end users: Understand the purpose of every
module in your own language — and make decisions with confidence.
Installation & configuration
- Install via Composer:
composer require drupal/pb_localizer - Enable it:
drush en pb_localizer - Done — the official hub is preset as the default. Fine-tune under
Configuration > Services > Project Browser Localizer
(/admin/config/services/pb-localizer): badge on/off, custom hub,
category sync.
Requirements
- Drupal core: 10.4 or 11.x
- Dependency: Project Browser (2.0.x for D10, 2.1.x for D11)
- PHP: 8.1 or higher
- Patch: A bundled patch fixes a multilingual cache collision in the
Project Browser (#3589327) and is
applied automatically via Composer.
Why "drupaltutorials.de"? — A matter of principle
We deliberately keep the drupaltutorials.de domain in community
hands. This prevents it from being registered by vendors who sell Drupal courses without
giving anything back to the community. Rather than letting it sit idle, we use it to run
the translation client that belongs to this module — the
PB Translation Hub at
pb.drupaltutorials.de. What started as a piece
of brand protection becomes non-profit infrastructure that benefits the entire Drupal
ecosystem.
The gap PB Localizer fills
Drupal core localizes the interface via .po files — but the
project metadata on Drupal.org remains English-only. PB Localizer is the missing
translation layer for this dynamic data. Especially for Drupal CMS
(Starshot), which aims for maximum accessibility, this localization is the key to
global success: it meets users where trust is built — in their own language.