Qtranslate Wordpress

The plugin supplies a solution to maintain dynamic multilingual content on a WordPress site. While static localization has already been excellently implemented and provided by WordPress framework through po/mo file framework, it really is still impossible to keep up dynamic multilingual content lacking any additional specialized plugin, some sort of which qTranslate-X belongs to. For instance, what if you will need to make title, content material and excerpt of a full page to be multilingual? Theoretically, it could be taken care of by po/mo files, however in an insanely inconvenient method.

To cope with dynamic articles, qTranslate-X provides dialect switching buttons in applicable admin editing web pages, which, once pressed, help make all the textual content of multilingual areas to be filled up with the words chosen. The moment language change takes place locally in your browser without mailing an additional demand to the server, that makes it easiest for bi-lingual or few-lingual sites, for instance, owners of which execute the translation of content material by themselves. qTranslate-X does not give a solution to translate static strings, let’s assume that this part has already been implemented and dealt with by the WordPress localization framework.

The plugin provides ways to designate which areas on a full page or post should be multilingual. When an industry is declared multilingual, it’ll be distinguishably highlighted (in a customizable approach) on admin aspect. At frontend, the worthiness of active vocabulary, as defined by way of a site viewer, is extracted from multilingual discipline to be displayed within HTML context. Thus, an idea of multilingual field is used here, as contrary to an idea of whole separate web page or separate internet site for every language, as that is done in several other multilingual content supervision plugins, see, for instance, free Polylang or paid WPML. Each plugin has its advantages and disadvantages, please, choose carefully one which matches your needs the very best.

Plugin qTranslate-X offers a convenient solution to describe which areas must be multilingual by way of a JSON-encoded configuration record as described in Integration Guideline. It creates an easy task to integrate your style or some other plugins with qTranslate-X. A JSON-encoded file, known as i18n-config.json, such as for example the one utilized by qTranslate-X itself, could be provided by designs and plugins of their distribution. Plugin qTranslate-X accumulates and loads those construction data files on activation of a plugin or on the swap of a theme. This type of configuration file could be utilized by any multilingual plugin. The programmers should contact us to go over a standard for the I actually18n-config.json configuration file.

I know qTranslate has the option to hide untranslated content, but that doesn't seem to work. I.e: I have a website with three languages: Dutch, French and English. There is one particular page tha. 2 years, 3 months ago. Many thanks for qtranslate developing. We ve choosed qtranslate than other pay plugin, because it is free and works very well, but. Hi, i ve just updated to wordpress last version 5.0.1, blocks and some change in editing modes, etc.

The plugin will not currently offer any sort of translation services. The staff has conducted a paid survey to learn how folks translate their written content. You are invited to make your entry too. It seems up to now, that translation service isn’t an instantaneous need. Administrators, as a rule, have their methods to translate the information, however, they need an easy solution to enter translated content material into an appropriate spot, which this plugin is built to help for. Translation providers might be provided later on releases as a compensated feature.

Wordpress qtranslate alternative

Plugin qTranslate-X causes creation of multilingual articles as easy as dealing with a single terminology. Below are a few features:

  • One-click local switching between your languages – Transforming the language as quick as switching between Visible and HTML.
  • It comes with several languages already built-in – English, German, Simplified Chinese, for instance, and more.
  • Words customizations without changing the .po/mo files – It shops all of the translations in exactly the same post areas, while exhibits it to customer for editing one at a time depending on the dialect to edit picked.
  • In-line syntax ‘[:en]English Text[:de]Deutsch[:]‘ or ‘<!--:en-->English Text<!--:--><!--:de-->Deutsch<!--:-->‘ for theme-custom areas gets them translated – See FAQ to learn more.
  • Vocabulary tag encoding allows strings such as this ‘[:en]English Text[:]<html-language-neutral-code>[:de]Deutsch[:]<another-html-language-neutral-code>‘, with language-neutral text embedded.
  • Multilingual dates from the box – translates dates and moments for you.
  • Theme custom fields could be configured to get translatable too.
  • Choose one of several modes to create your URLs look lovely and SEO-friendly, for instance, the easy and beautiful /en/foo/, or great and neat en.yoursite.com, or everywhere compatible ?lang=en.
  • One word for every URL – Consumers, and SEO will many thanks for not necessarily mixing multilingual information.
  • qTranslate-X supports an unlimited amount of languages, which is often easily added/altered/deleted via a cozy Configuration Page at Settings->Languages.
  • Tailor made CSS for “qTranslate Terminology Chooser” widget configurable via its attributes.
  • Menu item “Language Switcher” makes it possible for language to choose from the menu.
  • To generate language-specific sitemaps for far better SEO support, use Google XML Sitemaps or ‘XML Sitemaps’ under Yoast SEO. Please, report the effective use of additional sitemap plugins.

The website qTranslate-X explained provides and keeps updated several useful listings:

  • The list of plugins, which provide integration of qTranslate-X together with other well-liked plugins.
  • The list of some plugins reported to be compatible with qTranslate-X lacking any additional integrating plugin.
  • The list of some plugins reported never to be currently compatible with qTranslate-X.
  • The list of Know Issues.

If you come across a conflicting plugin, please let us know, and meanwhile make an effort to use various other plugins of related functionality, when possible.

This plugin provides started as a descendant of qTranslate, which includes apparently recently been abandoned by the initial author, Qian Qin. At this stage, qTranslate-X has many brand-new features and barely resembles its ancestor. Neither this is a straightforward compatible with more mature plugin. One should carefully read Migration Guide so as to switch a niche site from older qTranslate to qTranslate-X.

You may still find some useful information through reading qTranslate‘s original documentation, that is not duplicated within full. Additionally, there are other plugins, that offer multilingual support, nonetheless, it looks that Qian Qin includes an excellent original back-end style, and many folks have been pleasantly applying his plugin since. It retailers all translations in exactly the same single write-up, which makes it uncomplicated to maintain also to use it with different plugins. However, an individual interface of past qTranslate received out of sync with the latest versions of WordPress, especially after WP visited TinyMCE 4. You will find a number of forks of qTranslate, notice, for instance, mqTranslate, qTranslate Plus and zTranslate. Each of them makes an effort to fix qTranslate’s interface preserving its first back-end, that is what this plugin will too. This plugin is really a hybrid of all of these and fixes several bugs in all of them. In addition, it has many new characteristics too, like theme tailor made translatable fields, for instance. We hope that plugin will be the most satisfactory working version which mixes the best top features of qTranslate, mqTranslate, qTranslate Plus and zTranslate.

We organized an anonymous entity qTranslate Team to keep a joint authority of most qTranslate-ish plugins. Anyone will be welcome to become listed on with a contribution. Participating plugin authors should show support initiatives for every other.

GitHub repository can be acquired: https://github.com/qTranslate-Team/qtranslate-x.git.

We thank our sponsors for persistent support and help:

This plugin isn’t free with regards to money, the users, who begin using it on permanent basis, should signup for DONATION PLAN.

Known Issues

It is important to examine the set of Known Issues prior to starting utilizing the plugin.


Please, overview the credentials page at qTranslate-X explained internet site.

Desirable Unimplemented Features

A set of desirable features is maintained at qTranslate-X explained web page.

Post Tagged with : admin, bilingual, language, multilingual, tinyMCE

Request a paid job to integrate your theme.

This guide assumes that the reader is already familiar with the way of how qTranslate-X works and with general purpose of this plugin, otherwise it is recommended to first read pages like Startup Guide, FAQ, general plugin description, and to have at least one site already successfully running under qTranslate-X.

Plugin qTranslate-X is designed to be configurable to support arbitrary themes and plugins. We are currently working to design and to improve the 3rd-party integration framework and any suggestion is very welcome. The integration framework took its alpha-shape in the version 3.4, and we plan to maintain the integration interface to be backward compatible from now on.

What is described below is implemented starting from version 3.4 or the latest version of qTranslate-X, available from GitHub.

If you wish to add some translatable fields for custom plugins or themes, follow the steps below to create a JSON-encoded configuration file. Once you got it working, do not forget to send your file to the plugin authors, to include it into their distribution. You may also ask the plugin authors to review these notes and to create an applicable configuration file. In many simple cases, all a developer would need to do is to set class “i18n-multilingual” on the fields that need to be multilingual.

What does the integration mean?

  1. Any localization plugin needs to know which text fields are designed to be multilingual. In case of qTranslate-X, it means to store multilingual text values for such fields and to provide an admin interface to edit multilingual values in a user-friendly way. Hence, the first task of integration is to provide the information about which fields are desired to be multilingual.
  2. The second task is to “translate” multilingual fields at frontend, which means that a text in currently active viewer language is extracted from each multilingual value to be displayed at frontend.

To integrate a plugin or theme with qTranslate-X means to provide relevant information for these two tasks.

Below is the description of how integration can be done. There are a few integrating plugins which already implement some of the methods described. It may be useful to look at their code, and to use them as a starting point for your own plugin if necessary.

Configuration is loaded from a collection of JSON-encoded files.

Qtranslate Wordpress 5

Configuration page '/wp-admin/options-general.php?page=qtranslate-x#integration' provides options “Configuration Files” and “Custom Configuration”, which load configuration for qTranslate-X from file i18n-config.json distributed with the plugin, and/or from 3rd-party files in JSON-encoded format. Other plugins and themes may include file i18n-config.json in the root folder of their distribution for qTranslate-X to pick it up and to load on a plugin activation or on a theme switch.

Qtranslate Wordpress Plugin

The following places are searched for i18n-config.json files on a plugin activation or on a switch of the theme (in the order of priority):

  • /wp-content/themes/[active theme]/i18n-config.json
  • /wp-content/mu-plugins/[any active plugin]/i18n-config.json
  • /wp-content/plugins/[any active plugin]/i18n-config.json
  • /wp-content/plugins/qtranslate-x/i18n-config/themes/[active theme slug]/i18n-config.json
  • /wp-content/plugins/qtranslate-x/i18n-config/plugins/[slug of any active plugin]/i18n-config.json

These paths are listed for a standard WordPress installation. The actual paths may vary depending on your setup.

Option “Configuration Files” gets auto-adjusted if some relevant i18n-config.json files are found. A configuration files of deactivated plugins or theme get auto-removed from option “Configuration Files”. In most cases, this is what you would want to do, otherwise you may adjust option “Configuration Files” manually.

The configuration may be customized further through additional configuration files listed in option “Configuration Files”. Additional files are better to store outside of plugin/theme folder in order for them to survive the updates.

The order of files listed in option “Configuration Files” matters, since each next configuration file may override the values of some configuration tokens already provided within one of the previous files. Configuration provided in option “Custom Configuration” gets processed in the same way as the one loaded from files. It is a convenient shorthand for small enough pieces of configuration to try before they get finalized in some configuration file. “Custom Configuration” gets processed last, giving you an opportunity to override any other already loaded configuration token.

Important: After one of the configuration files is modified, the configuration needs to be re-saved by pressing button “Save Changes” on page /wp-admin/options-general.php?page=qtranslate-x#integration, in order for the file modifications to take effect.

In the majority of cases, a configuration file is the only thing that one needs in order to integrate a 3rd-party plugin or theme. A user may prepare such a file by oneself. Looking through the examples of existent configuration files may help a lot.

If a more advanced PHP coding is needed to implement sophisticated additional filters and features, then creating a separate integrating plugin is the only way. Buy minecraft. For example, in order to integrate plugin WooCommerce one needs to save the language in which an order was made in order to use the same language in communication e-mails with a customer later. This cannot be done in a general way through a simple configuration file, and therefore an integrating plugin has been created: WooCommerce & qTranslate-X.

Qtranslate X Wordpress

How to designate the fields to be multilingual?

There is a number of ways to declare multilingual fields:

Qtranslate Wordpress Support

  1. JSON-encoded files listed in option “Configuration Files” or JSON code provided in option “Custom Configuration” is the most flexible and general way.
  2. Attribute “class” of a field can be set to one of the following reserved names:
    • i18n-multilingual — for multilingual input fields like <input> or <textarea> encoded with square-bracket [:] style.
    • i18n-multilingual-curly — for multilingual input fields encoded with curly-bracket {:} style. Sometimes square bracket encoding interferes with and gets affected by WordPress shortcodes, which also use square brackets [] for their syntax. Then curly bracket encoding style may serve the need. It is equivalent to attribute 'encode':'{' in JSON-encoded configuration.
    • i18n-multilingual-display — a display element with no input, like <div>, <span>, <option>, etc. If it has a multilingual value, then it will respond to Language Switching Buttons. It is equivalent to attribute 'encode':'display' in JSON-encoded configuration.
    • i18n-multilingual-term — input field is processed as a term name, which is handled differently from normal input field by the underneath framework. It is equivalent to attribute 'encode':'term' in JSON-encoded configuration.
    • i18n-multilingual-slug — input field is processed as a slug name. An additional PHP coding is required to handle this kind of multilingual encoding. It is equivalent to attribute 'encode':'slug' in JSON-encoded configuration.

    Providing these class names makes the same effect as listing the fields in JSON-encoded files.

  3. The values of “id” and “class” attributes provided in options grouped under “Custom Fields” will be searched in HTML elements to make them multilingual on all admin pages accessed through /wp-admin/post.php page. These provide a lot of opportunities, but they do not cover all possible cases. What if we need to assign a field to be translatable on other than /wp-admin/post.php page? What if a field with the same “id” is translatable on one page and is regular field on another page? However, this method, implemented earlier, still works and is sometimes helpful for simple enough sites.
  4. A developer may choose to provide configuration programmatically through filters ‘i18n_admin_config’ and ‘i18n_front_config’, which allow to adjust ‘admin-config’ and ‘front-config’ branches of the configuration respectively. Look up their documentation in the source code.
  5. As a last resort, one may enter raw multilingual value in any text field manually. The frontend may show it translated if an applicable filter happened to be on the way.

How to translate multilingual fields at frontend?

Once multilingual field is declared and a multilingual value is stored in the field using one of the methods described above, the frontend may still show the raw multilingual value as is without translation. There are a few ways to make multilingual field to be displayed translated.

  1. Use WordPress translation function __(). A multilingual text gets translated whenever it is passed through the standard WordPress translation function __().
  2. Use WordPress filters. Many themes and plugins pass a value through a call to “apply_filters('filter_name',$text);“. Once you find out which filter is in effect, you may list its name in configuration option “Custom Filters”, or in token ‘filters’ of ‘front-config’ branch of JSON-encoded configuration.
  3. A developer may use one of the designated interface filters to pass a value through in order to get it translated. This method is applicable to both front- and admin-end.

A number of commonly used filters are always enabled by default. For example, filter ‘the_content’ is applied on the whole content of a page or post. If there is some multilingual text in the content, it will get translated then. There are many more filters enabled by default, which you may look up in the code or in i18n-config.json default configuration. Those filters make the majority of themes and plugins to work without an additional coding or configuration, but there are a lot of special cases as well.

Qtranslate Wordpress Download

Need additional javascript functionality?

It is easy enough to inject your own additional integrating java script with configuration tokens ‘js-conf’ and ‘js-exec’.
Read Guide for Custom Java Scripts for more information.

When JSON-encoded configuration is not enough.

If JSON-encode configuration cannot satisfy all your needs, then an additional integrating plugin or a child theme may be developed to facilitate whatever extra complex functionality is needed. Read PHP Developer Guide for more information.

Help wanted!

The integration framework is still being developed and a few crucial design decisions are still to be made. Please, use contact form or comments below to communicate to us any ideas you may have.

Qtranslate Plugin Wordpress

Request a paid job to integrate your theme.