PHPackages                             sitesoft-be/wp-api-translator - 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. sitesoft-be/wp-api-translator

ActiveLibrary

sitesoft-be/wp-api-translator
=============================

Translate WordPress posts using Deepl or Google Translate API

028PHP

Since Dec 23Pushed 1y ago1 watchersCompare

[ Source](https://github.com/kmoconnect/wp-api-translator)[ Packagist](https://packagist.org/packages/sitesoft-be/wp-api-translator)[ RSS](/packages/sitesoft-be-wp-api-translator/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

WP API Translator
=================

[](#wp-api-translator)

This package provides an easy way to automatically translate WordPress posts and ACF fields into multiple languages using translation APIs such as Deepl and Google Translate. It integrates with WPML for managing translations.

Table of Contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
- [Example Usage](#example-usage)
    - [1. Translate a Post on Save](#1-translate-a-post-on-save)
    - [2. Translate ACF Fields](#2-translate-acf-fields)
- [Translator Configuration](#translator-configuration)
    - [1. Deepl Translator](#1-deepl-translator)
    - [2. Google Translate Translator](#2-google-translate-translator)
- [WPML Integration](#wpml-integration)
- [Supported Languages](#supported-languages)
- [Notes](#notes)
- [License](#license)

Installation
------------

[](#installation)

You can install this package via Composer by running the following command in the root of your WordPress project:

```
composer require sitesoft-be/wp-api-translator
```

Example Usage
-------------

[](#example-usage)

1. Translate a Post on Save
---------------------------

[](#1-translate-a-post-on-save)

```
use Sitesoft\WpApiTranslator\DeeplTranslator;
use Sitesoft\WpApiTranslator\WPMLPostTranslator;

require_once 'vendor/autoload.php';

function translatePost( $post_id ) {
	if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
		return;
	}

	if ( wp_is_post_revision( $post_id ) ) {
		return;
	}

	if ( get_post_type( $post_id ) !== "your_custom_post_type" ) {
		return;
	}

	remove_action( "save_post", "translatePost" );

	$deepTranslator = new DeeplTranslator( 'YOUR_DEEPL_API_KEY' );

	$wpmlTranslator = new WPMLPostTranslator( $deepTranslator );

	$wpmlTranslator->translatePost( $post_id, [ "fr", "en" ] );

	add_action( "save_post", "translatePost" );
}

add_action( 'save_post', 'translatePost' );
```

2. Translate ACF Fields
-----------------------

[](#2-translate-acf-fields)

```
use Sitesoft\WpApiTranslator\DeeplTranslator;
use Sitesoft\WpApiTranslator\WPMLPostTranslator;

require_once 'vendor/autoload.php';

function translatePost( $post_id ) {
	if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
		return;
	}

	if ( wp_is_post_revision( $post_id ) ) {
		return;
	}

	if ( get_post_type( $post_id ) !== "your_custom_post_type" ) {
		return;
	}

	remove_action( "save_post", "translatePost" );

	$deepTranslator = new DeeplTranslator( 'YOUR_DEEPL_API_KEY' );

	$wpmlTranslator = new WPMLPostTranslator( $deepTranslator );

	$wpmlTranslator->translatePostACF( $post_id, [ "fr", "en" ] );

	add_action( "save_post", "translatePost" );
}

add_action( 'save_post', 'translatePost' );
```

Translator Configuration
------------------------

[](#translator-configuration)

1. Deepl Translator
-------------------

[](#1-deepl-translator)

You can use the Deepl API for high-quality translations. To configure it, replace the FakeTranslator with DeeplTranslator:

```
use Sitesoft\WpApiTranslator\DeeplTranslator;

$deeplTranslator = new DeeplTranslator( 'your-api-key-here' );
$wpmlTranslator = new WPMLPostTranslator( $deeplTranslator );
```

2. Google Translate Translator
------------------------------

[](#2-google-translate-translator)

```
use Sitesoft\WpApiTranslator\GoogleTranslateTranslator;

$googleTranslator = new GoogleTranslateTranslator( 'your-api-key-here' );
$wpmlTranslator = new WPMLPostTranslator( $googleTranslator );
```

WPML Integration
----------------

[](#wpml-integration)

This package integrates with WPML to manage the multilingual content. It uses the wpml\_set\_element\_language\_details hook to set the language details for newly translated posts.

Supported Languages
-------------------

[](#supported-languages)

This package supports any language that is available in the translation API you choose to use. By default, you can use any language code supported by Deepl or Google Translate.

Notes
-----

[](#notes)

The package relies on WPML for managing translations. Ensure WPML is installed and configured on your WordPress site. Make sure to replace API keys with your actual API credentials for Deepl or Google Translate. You may need to configure your ACF fields to ensure they are correctly translated.

License
-------

[](#license)

This package is licensed under the MIT License. See the LICENSE file for more details.

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity16

Early-stage or recently created project

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://www.gravatar.com/avatar/2d1b621e352637bb9b9b937e0e2002229c218fe1bea094c84e49627ce661ded5?d=identicon)[kmoconnect](/maintainers/kmoconnect)

### Embed Badge

![Health badge](/badges/sitesoft-be-wp-api-translator/health.svg)

```
[![Health](https://phpackages.com/badges/sitesoft-be-wp-api-translator/health.svg)](https://phpackages.com/packages/sitesoft-be-wp-api-translator)
```

PHPackages © 2026

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