PHPackages                             peregrinus/potter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. peregrinus/potter

ActiveLibrary[Localization &amp; i18n](/categories/localization)

peregrinus/potter
=================

Auto-create .pot translation templates for WordPress plugins

017PHP

Since Jun 2Pushed 8y ago1 watchersCompare

[ Source](https://github.com/potofcoffee/potter)[ Packagist](https://packagist.org/packages/peregrinus/potter)[ RSS](/packages/peregrinus-potter/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

potter
======

[](#potter)

Auto-create .pot translation templates for WordPress plugins

Setup
-----

[](#setup)

This is assumes that you already have a WordPress plugin using Composer. In this case, you'll just have to type the following command in your plugin's root directory.

```
composer require peregrinus/potter

```

Composer will install the potter script into the vendor/peregrinus/potter folder. Unfortunately, at this moment, composer still fails to assign the correct permissions on Linux, so you'll have to do a second command:

```
chmod +x vendor/peregrinus/potter/potter

```

Usage
-----

[](#usage)

On Linux, execute the following command in the root directory of your plugin:

```
vendor/peregrinus/potter/potter

```

On windows, you would use the following command:

```
php vendor\peregrinus\potter\potter

```

Potter will figure out the correct name and path for your .pot file from the plugin's metadata, most notably "Domain Path" and "Text Domain". It will then scan all php files in your plugin's folder and all subfolders and extract all relevant texts.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1712532?v=4)[Christoph Fischer](/maintainers/potofcoffee)[@potofcoffee](https://github.com/potofcoffee)

---

Top Contributors

[![potofcoffee](https://avatars.githubusercontent.com/u/1712532?v=4)](https://github.com/potofcoffee "potofcoffee (16 commits)")

### Embed Badge

![Health badge](/badges/peregrinus-potter/health.svg)

```
[![Health](https://phpackages.com/badges/peregrinus-potter/health.svg)](https://phpackages.com/packages/peregrinus-potter)
```

###  Alternatives

[php-translation/translator

Translator services

25224.8k5](/packages/php-translation-translator)[smmoosavi/php-gettext

Wrapper for php-gettext by danilo segan. This library provides PHP functions to read MO files even when gettext is not compiled in or when appropriate locale is not present on the system.

1926.6k1](/packages/smmoosavi-php-gettext)[laradevs/spanish

labels translated to spanish

166.7k](/packages/laradevs-spanish)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
