WP Manifestindependent plugin directory
manifest / i18n / gp-language-pack-server

Language Pack Server for GlotPress WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA

Generates and serves language pack downloads from GlotPress instance.

★ 0stars
5release downloads
1.0.3latest · 9d ago

Install

Download gp-language-pack-server-1.0.3.zip From the 1.0.3 release on GitHub, Oct 13, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/helgatheviking/gp-language-pack-server/releases/download/1.0.3/gp-language-pack-server-1.0.3.zip
Updates itself. It ships its own updater (Update URI header), so new versions appear under Dashboard → Updates.

A WordPress plugin that transforms a site running GlotPress into a language pack delivery server for custom/premium plugins and themes. It generates, stores, and serves localized translation packages in the exact style of WordPress.org.

Key Features

  1. Core updates REST endpoint: Client sites can query /wp-json/gp-language-pack-server/v1/api/{project} to check for translation updates.
  2. POT Import REST endpoint: Import new translation templates from external build tools (like GitHub Actions) to GlotPress automatically via /wp-json/gp-language-pack-server/v1/projects/{project}/import.
  3. Automatic Pack Generation: Packages translations as standard .po and .mo files into a ZIP archive, triggered either dynamically (when translations are saved), or at scheduled daily intervals via WP-Cron.
  4. Automatic JED JSON Compilation: If translations reference JavaScript files (e.g. Gutenberg block editors), it compiles JED 1.x-compliant .json files and packages them into the ZIP.
  5. Change-Detection Optimization: Skips ZIP regeneration if no changes have occurred since the last build to save CPU and disk.
  6. Interactive Control Center: View active GlotPress projects, progress metrics, status badges (Generated, Needs Update, Not Generated), and manually build or delete ZIP files.

1. Servable Endpoints

  • Translations Check API: GET https://your-server.com/wp-json/gp-language-pack-server/v1/api/{project-slug}
  • Originals Import API: POST https://your-server.com/wp-json/gp-language-pack-server/v1/projects/{project-slug}/import

2. Automatic POT Upload (GitHub Actions)

Add this workflow step to your premium plugin repository to automatically sync translation keys when a new template file is built:

- name: Upload POT to GlotPress
  run: |
    curl -X POST -u "wp_admin_username:application_password" \
      -F "file=@languages/my-plugin.pot" \
      "https://your-server.com/wp-json/gp-language-pack-server/v1/projects/your-project-slug/import"

[!NOTE] Generate WordPress Application Passwords inside the user profile page of a WordPress account with write privileges to the target GlotPress project.


3. Drop-in Client Integration

To enable a premium plugin or theme to query this server and receive updates natively via the WordPress dashboard, bundle the client package in your software.

Option A: Install via Composer (Recommended)

  1. In your premium plugin or theme directory, run:

    composer require helgatheviking/gp-language-pack-client
  2. Initialize the client using its namespace (typically in your main plugin file, as long as Composer's autoloader is included):

use HelgaTheViking\GPLanguagePack\Client as GPLanguagePackClient;

// Bootstrap translation updates from custom GlotPress server
new GPLanguagePackClient(
    'https://your-server.com',  // URL of your GlotPress site
    'your-project-slug',       // Slug or path of the GlotPress project
    'your-textdomain',         // The plugin/theme text domain (e.g. 'my-premium-plugin')
    'plugin'                   // Software type: 'plugin' or 'theme' (default 'plugin')
);

Option B: Manual Require

  1. Download or copy the Client.php file into your project.
  2. Manually require and load the namespaced class:
// Bootstrap translation updates from custom GlotPress server
if ( file_exists( __DIR__ . '/Client.php' ) ) {
    require_once __DIR__ . '/Client.php';

    new \HelgaTheViking\GPLanguagePack\Client\Client(
        'https://your-server.com',
        'your-project-slug',
        'your-textdomain',
        'plugin'
    );
}

How the Client Works:

  1. Transient Cache: Queries your GlotPress server and caches the response locally for 12 hours to keep client sites fast and lightweight.
  2. Locale Check: Filters translation packages to match only the site's active languages (get_locale() and get_available_languages()).
  3. Modified Checking: Inspects the file modification time (filemtime) of the local .mo file under wp-content/languages/plugins/ (or themes/).
  4. Native Updates: If the local file is missing or older than the server release, it injects the update directly into WordPress's core update transient. WordPress then natively presents the update under Dashboard > Updates > Translations and handles the download and extraction automatically.

4. WP-CLI Command

The plugin registers a custom WP-CLI command to manually trigger, test, or schedule language pack generation from the command line.

wp gp-language-packs generate [options]

Options

  • --project=<slug>: Limit generation to a single project slug. Omit to process all active projects.
  • --locale=<wp_locale>: Limit generation to a single WordPress locale (e.g. es_ES). Requires --project to be set.
  • --threshold=<percent>: Minimum percent translated required to generate a pack. Defaults to the threshold configured in the admin dashboard (default: 90).

Examples

# Generate packs for all active projects that meet the default threshold.
wp gp-language-packs generate

# Generate packs only for a specific project.
wp gp-language-packs generate --project=my-plugin

# Generate only the Spanish pack for a specific project.
wp gp-language-packs generate --project=my-plugin --locale=es_ES

# Force generation for sets at 70% or more translated.
wp gp-language-packs generate --threshold=70

Releases

4 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
1.0.3 latest
Oct 13, 2026 9d ago
gp-language-pack-server-1.0.3.zip
1
Aug 15, 2026 2mo ago
gp-language-pack-server-1.0.2.zip
2
Aug 15, 2026 2mo ago
gp-language-pack-server-1.0.1.zip
1
Aug 14, 2026 2mo ago
gp-language-pack-server-1.0.0.zip
1
A grade

Security

Language Pack Server for GlotPress 1.0.2 · audited by WP Registry

No security issues found.

Audited release
1.0.2
Findings
none
Worst severity
—
Content hash
74ecb8ed0b38734d8489ffb7…

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.