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!
This section describes how to install the plugin and get it working.
e.g.
- Upload the plugin files to the
/wp-content/plugins/plugin-name
directory, or install the plugin through the WordPress plugins screen directly.
- Activate the plugin through the 'Plugins' screen in WordPress
- Use the Settings->Plugin Name screen to configure the plugin
- (Make your instructions match the desired user flow for activating and installing your plugin. Include any steps that might be needed for explanatory purposes)