Translate Any Joomla Extension With Neno Translate
Whenever you are using a Joomla component for creating new content you are storing data in the database. This could be a new house in a real estate web site, a new event in an event calendar or a new field in a form builder for example.
This content cannot be translated using the core Joomla multilingual functions. To translate this dynamic content from 3rd party Joomla components, you will need to use a translation extension.
Neno Translate is a translation solution built especially for Joomla and offers the complete solution for translating your Joomla website. It is free to use, open source and is the most feature rich translation solution ever developed for Joomla.
One of the most useful features built into Neno Translate is the ability to translate any third party component. Because Neno allows you to translate all database content and language files straight out of the box, any 3rd party component can be translated, even if it is one you created yourself.
Many of the most popular components found in the Joomla Extension Directory have already been preconfigured to work with Neno Translate and need no extra setting up at all. You can find a list of preconfigured components on the Neno Translate website.
If you are going to translate your own component or one of the components found in the Joomla Extension Directory that Neno Translate does not yet supply configuration files for, you will need to configure what should be translated manually.
This article will guide you through the set-up.
Step 1: Download & Install Neno Translate
You can download Neno Translate from neno-translate.com.
During installation you will be asked to make a backup of your website. Make sure you do so.
You will also be given the option of selecting which database tables to translate, so make sure you select the tables from the component you would like to translate. You can later change any of the settings you make here or add your component after installation is finished
Step 2: Assign a translation method & choose what to translate
After installation of Neno you should head over to the "Groups & Elements" view is where you can choose what content gets translated and assign a translation method.
Neno operates with 3 different translation methods.
- Manual (You translate the content yourself)
- Machine (The content is automatically machine translated as soon as it is created)
- Professional (The content is sent to professional translators and automatically applied when complete)
You can also chose "Don’t translate" for certain database tables and fields.
With the above options you can configure your site, so for example, your whole forum is not translated, your blog is professionally translated, your blog comments are machine translated and the rest of your content is manually translated by yourself.
Begin by assigning a translation method to your component by clicking on "Translation Methods" in the far right column.
Next, you can choose what database tables to translate from within your component.
(If you don’t want to choose what tables get translated or do not know, you can skip this and go straight to step 4)
To choose what tables to translate, simply find your component in the groups column and click the blue triangle to expand the group and view individual tables. You can use the "Translate/Don’t Translate" buttons to make your choice. You can further expand the database table and see the individual fields in the table and specify which fields should or should not be translated.
This allows you to for example not translate anything in an internal configuration database table or you could set it up to not translate the band names in your record collection component by setting the "name" field to "Don’t translate".
Step 3. Filter individual tables
As well as choosing which tables to translate, Neno also lets you choose what content to translate within each table by clicking on the "Filter rows" button. This provides great flexibility, helps to keep translation costs down and saves time because you only translate relevant or important content.
In most cases you probably don’t need to set up this filtering, but it can be useful. You can use it to only translate some data in a database table depending on the values of the data. You could for instance set it up so you only want to translate forum posts written by certain users or you could set it to only translate properties in your real estate component that costs more than $100,000.
If you don’t want to filter individual tables you can skip this and go straight to step 4.
In the example below Neno has been setup to only translate the EasyBlog posts with more than 10 hits. In this case this is done by filtering the ‘hits’ field in the database table #__easyblog_post
The next example has Neno set to translate only articles from the "Our Products" and "About us" categories. You can add as many filters as you want simply by clicking on the blue + button:
Step 4: Translate your component
To translate your component navigate to the "Translate" view to open Neno’s translation interface. Open the Groups & Elements dropdown and select your component.
All the strings from the component will be automatically loaded ready for translation. You are now ready to translate your component.
If you chose to translate the component yourself, you can get help from machine translation API’s (this way you have a starting point for each piece of content). This can really help to speed up your manual translation work. Neno provides the option of using the three most popular machine translation tools: Bing, Google Translate and Yandex but you have to supply your own API key.
This is different from ordering machine translation which is where Neno allows you to automatically translate your whole site and new content the moment it is created using machine translation.
Once all the strings have been translated your component is translated. It’s that easy! Translated content will appear automatically on the front end of your website.
Get your Joomla Component certified
If you are translating your own component and it is released to the public we recommend that you send your configuration to the Neno team. Once they have your configuration files they will mark your component as certified and add you to the list of certified components.
The configuration parameters are saved in files called "Content element files" and you can download them by clicking the "Download content element file" for each table in your component. Then simply send the files to the Neno team and they will take care of the rest.
Neno Translate: Performance
One of Neno Translate’s main features is unrivaled performance with no listing and browsing performance loss.
The core Joomla! multilingual method uses a field called "lang" in the content table which means all versions of content is stored in the same table. This method creates inefficient queries and makes database optimization more difficult.
Other translation components have tried to solve this issue by putting all of the translations in one big separate table but that just moves the problem to another table. Neno solves the problem by creating one "shadow" table per language for each table that contains translatable content. These shadow tables can maintain the exact key and index optimizations as the original tables and thus there is no performance degradation.
It is worth noting that this does require additional space in your database.
Neno Translate: Professional translation
Machine translators such as Google Translate or Bing can be useful for translating less important content like users comments or forum posts for example. However If you’ve ever used a machine translator to try to translate your content you will have quickly determined their limitations. Machine translators can be a cost effective solution when used together with other translation methods, however any content that is really important to your business is best translated by a real person who speaks the language well.
Neno Translate offers users the ability to order professional translation from within the component. With Neno you have the option of sending your content to be translated by professional translators for €0.10 a word. Your content will automatically be sent to Neno’s translation partner network and returned to your site when the translation is complete.
Translation is usually completed within a couple of hours, but can take up to a week to complete for really large content sets.
All the translators used by Neno Translate are native speakers of the target language. Neno works with some of the largest and well known translation agencies in order to provide the professional translation requests.
One really useful feature of this system is that you can configure it so that any new content is automatically sent to be professionally translated as it is created. This allows you to focus on creating content in your main language, and then automatically have that content translated and published in a few hours, hassle free.
It’s still a advisable to keep in mind that even professional translators may be unfamiliar with specific products or industry terms. To solve this problem, Neno has included a feature that lets you add notes to external translators.
Neno Translate: Support and Other Languages
You can find a FAQ page and detailed documentation by clicking on the "Help" tab on the Neno Translate site. The documentation covers everything from installation and setup of Neno, information on pricing and payments for external translations, the code, and language pairs available for both professional and machine translations.
There is also a community forum that is free to use for all users and a contact page for contacting the Neno Translate customer support team. Full customer support with a ticket system is available to premium users which costs €99/year.
The number of languages supported depends on what method you plan to use for translating your website. For manual translations all Joomla! languages are supported.
For machine and professional translations it will depend on what source language you wish to translate from. For example if your source language is English then you will be able to translate into most other languages.