Title: WP Base Translate
Author: GeroNikolov
Published: <strong>February 24, 2017</strong>
Last modified: May 22, 2020

---

Search plugins

![](https://ps.w.org/wp-base-translate/assets/banner-772x250.png?rev=1605426)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/wp-base-translate/assets/icon-256x256.png?rev=1605426)

# WP Base Translate

 By [GeroNikolov](https://profiles.wordpress.org/geronikolov/)

[Download](https://downloads.wordpress.org/plugin/wp-base-translate.3.1.zip)

 * [Details](https://pcd.wordpress.org/plugins/wp-base-translate/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/wp-base-translate/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/wp-base-translate/#installation)
 * [Development](https://pcd.wordpress.org/plugins/wp-base-translate/#developers)

 [Support](https://wordpress.org/support/plugin/wp-base-translate/)

## Description

Most of the translation plugins are built in very complicated and messy way…
 That’s
why with WP_BASE_TRANSLATE you can **create**, **edit** or **remove** new languages
in just a few clicks!

When the plugin is installed it performs the following things:

 * Registers the **Language Custom Post Type (CPT)**
 * Creates the **_WP_PREFIX_page_language_relations** table in your installation
   Database
 * Adds page language metabox to Post / Page (it works with all CPTs as well)
 * Adds avalilable languages metabox on which your page can be translated

How to add a new language?

The languages are registered in your database as Posts from **Language CPT**.
 So
to create a new language just go to _**Languages** > **Add new** > **Enter name (
as title of the post)** > **Choose the icon of the language (optional as featured
image)**_.

That’s it!

How to translate?

As we mentioned above you can translate **every** post from a CPT in your WordPress
installation.

To achieve that the plugin is registering a meta box called _**Available Languages**_,
which represents the list of all available languages (as active buttons) on which
you can translate the specific page.
 Before you can start translating, you have
to choose the current language of the page from the _**Page Language**_ dropdown
box. That will tell the plugin which is the parent language and connect the translated
versions with it. Once you do that, you just have to select the language on which
you want to see your page and start translate the content in it.

That’s all!

How it works on the front?

WP_BASE_TRANSLATE is meant to be easy, so if you currently have a language menu 
option connected on your website it’ll work with it.
 The only requirement for the
plugin to work properly is to add _**lang**_ parameter in your page URL.

**Example:** http://geronikolov.com/blog —> http://geronikolov.com/blog?lang=bg (
that will call the Blog page translated in Bulgarian)

What happens if I don’t have that language implementation in my site?

WP_BASE_TRANSLATE gives you a simple language dropdown menu, which can be placed
everywhere you want it!
 Do add to your Posts, Pages or Code, just use this shortcode–**[
language_menu]**

How to build the Language listing menu?

Since the plugin doesn’t provide a hardcoded menu, it provides a very flexible back-
end method for implementing it with your website.
 The core of the plugin gives 
you a function called **get_registered_languages()** which returns an **Array** 
of **Objects** which represent the registered **Language objects**.

Every language object has:

 * Language ID: That’s the ID of the Post in the database
 * Language Name: That’s the Title of the Post
 * Language Code: That’s the small version of your language title, for example if
   you have **EN** as title, the code will be **en**. In the navigation menu you
   should use it as value of the **lang** parameter.
 * Language Full Name: That’s the full name of the language. Example: EN = English;
   ES = Espanol;
 * Language Slug: That’s the post slug you’ve choosed from the WordPress Dashboard.
   By default it’s smaller version of the title equal to the **Language Code**
 * Language Link: That’s the permalink of the **Language Post Object**.
 * Language Author: That’s the ID of the Administrator who created the language 
   in your WordPress installation.
 * Language Icon: That’s the link to the language icon, which was selected from 
   the WP Dashboard. Usually it’s the flag of the **Parent Country of the language**.

The **wpbt_get_registered_languages()** function can be found in the **functions.
php** file positioned in the root folder of the plugin.

Functions list: functions.php
 wpbt_get_registered_languages() wpbt_get_translation_id()

How to contribute?

You just have to clone the repository and build!

If you want to extend the **WP_BASE_TRANSLATE Core** make sure to add small comment
block above each of your functions.

**The code block should look like:**

    ```
    /*
    *   Function name: example_function
    *   Function arguments: $post_id [ INT ]
    *   Function purpose: This function is just for an example.
    */
    function example_function( $post_id ) { return "John Snow is alive!"; }
    ```

[Join the contributions!](https://github.com/Gero0Nikolov/wp-base-translate)

## Screenshots

 * [[
 * Language registering
 * [[
 * Page setup
 * [[
 * Translated Page setup

## Installation

This section describes how to install the plugin and get it working.

e.g.

 1. Upload the plugin files to the `/wp-content/plugins/plugin-name` directory, or 
    install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress
 3. Use the Settings->Plugin Name screen to configure the plugin
 4. (Make your instructions match the desired user flow for activating and installing
    your plugin. Include any steps that might be needed for explanatory purposes)

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WP Base Translate” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ GeroNikolov ](https://profiles.wordpress.org/geronikolov/)

[Translate “WP Base Translate” into your language.](https://translate.wordpress.org/projects/wp-plugins/wp-base-translate)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wp-base-translate/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wp-base-translate/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wp-base-translate/)
by [RSS](https://plugins.trac.wordpress.org/log/wp-base-translate/?limit=100&mode=stop_on_copy&format=rss).

## Meta

 *  Version **3.1**
 *  Last updated **6 years ago**
 *  Active installations **10+**
 *  WordPress version ** 3.1 or higher **
 *  Tested up to **5.4.19**
 *  Language
 * [English (US)](https://wordpress.org/plugins/wp-base-translate/)
 * Tags
 * [modern](https://pcd.wordpress.org/plugins/tags/modern/)[simple](https://pcd.wordpress.org/plugins/tags/simple/)
   [translate](https://pcd.wordpress.org/plugins/tags/translate/)[translating](https://pcd.wordpress.org/plugins/tags/translating/)
   [translation](https://pcd.wordpress.org/plugins/tags/translation/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/wp-base-translate/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/wp-base-translate/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wp-base-translate/reviews/)

## Contributors

 *   [ GeroNikolov ](https://profiles.wordpress.org/geronikolov/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wp-base-translate/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](http://geronikolov.com)