Community-maintained web tool to fetch, edit, and export translations for plugins from the official WordPress.org directory.
Live demo: wordpress-plugin-translator.vercel.app
Translating WordPress plugins often means juggling .po / .mo files, hunting down strings, and figuring out where to place files on the server. This project aims to make that workflow simpler:
- Pull existing translations from WordPress.org
- Upload your own
.pofile and edit in the browser - Export ready-to-use
.poand.mofiles - Follow a built-in installation guide
This is a community project. Contributions, ideas, bug reports, and improvements are welcome.
- Paste a plugin URL or slug from the official directory
- Upload an existing
.pofile for direct editing - Fetch translations via the WordPress.org API
- Fallback to plugin
.potfiles when no published translation exists - Visual string editor with search, filters, and progress tracking
- Export
.poand.mofiles - Built-in WordPress installation tutorial
- Node.js 18+
- npm
git clone https://github.com/fabiano-mallmann/wordpress-plugin-translator.git
cd wordpress-plugin-translator
npm install
npm run devOpen http://localhost:3000.
npm run build
npm start- On the home page, paste a plugin URL or upload a
.pofile - Select the target language (default:
pt_BR) - Edit translations in the editor
- Export
.po(keep editing) or.mo(install in WordPress) - Follow the tutorial to upload files to your server
Example plugin URL:
https://wordpress.org/plugins/contact-form-7/
app/ # Pages and API Route Handlers
components/ # UI components and editor
lib/ # WordPress.org client, PO/MO parser, ZIP utilities
types/ # Shared TypeScript types
| Endpoint | Description |
|---|---|
GET /api/plugin?slug= |
Plugin metadata and available locales |
GET /api/translations?slug=&locale= |
Translation strings for editing |
POST /api/upload-po |
Parse an uploaded .po file |
POST /api/export |
Generate a .po or .mo download |
- Next.js 16 (App Router)
- TypeScript
- Tailwind CSS + shadcn/ui
- gettext-parser + jszip
We welcome contributions from the community.
- Read CONTRIBUTING.md for setup, workflow, and guidelines
- Pick an open issue or open a new one
- Follow the Code of Conduct
- Security hardening for file uploads
- Support for
.potuploads - Theme translations (WordPress.org themes API)
- UI/UX improvements and accessibility
- i18n for the app interface itself
- Tests for PO/MO parsing and API routes
These are not commitments — they reflect likely directions based on current scope:
- Rate limiting and upload validation hardening
- Manual
.pot/.pobatch upload improvements - WordPress theme support
- Optional AI-assisted translation suggestions
- User accounts / cloud draft storage
Have another idea? Open a feature request.
This app runs on Vercel with zero config for Next.js:
npx vercel deploy --prodNo environment variables are required for the core WordPress.org integration.
MIT — see LICENSE.
Developed by @dev_fabs.
Maintained as an open community project. Use it, fork it, improve it, and share it.