View Full Version : FAQ

Marcin Kalak
22-09-14, 11:44
Here is list of frequently asked questions. You will find answers below.

What is required for this mod to work? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15123)
After translation I get blank page - what is wrong? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15124)
After translation all text disappear - what is wrong? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15125)
I have SEO translation links on, I use vBSEO and main page is not translating - what is wrong? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15126)
What to do, to have translations links good for SEO consensus? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15127)
How do you get back to default language after you click a flag? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15128)
I have warnings in safe mode - what to do? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15129)
How does multi language support is working? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15130)
How to translate pages outside forum directory? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15131)
How to check am I blocked by my translation provider? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15132)
I get the e-mail message about MySQL server gone away issue. What is wrong? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15133)
The URL includes the accented. Is it indexed by google? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15134)
How to configure support for other translation APIs? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15135)
How reach your translation limits slower and limit your expenses with paid translations (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15136)
Untranslated text (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15137)
Partial translation (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15138)
What to do to have URL's translated under the flags? (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15139)
How to configure .htaccess (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15140)
Errors after update vBulletin (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15310)
Flags are not displayed on mobile style (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-3.html#post15477)

Marcin Kalak
22-09-14, 11:44
- You must install it ;) and configure it appropriately (please read parameters descriptions carefully) :)
- You must have installed CURL in your php. Most servers already have it. Just install this mod and if it is not working then ask your server stuff to install CURL. In meantime you can disable mod or remove flags so users will not be affected. If you get blank page for translation pages (it will not affect your normal pages) it means that you don't have CURL installed - just install it :)
- You must have installed ICONV in your php. Most servers already have it. If not an error will occur or blank page for translations.

Marcin Kalak
22-09-14, 11:44
Just read answer for previous question :)

Also you can check this vBulletin documentation about blank pages: vBulletin Manual (http://www.vbulletin.com/docs/html/blank_pages)
Still - first just make sure that you have everything what is needed for vBET.

Marcin Kalak
22-09-14, 11:45
In such case you have 3 possibilities:

You didn't fallow installation instructions. You MUST configure Forum language option. Just configure mod :)
You set wrong Google Translation API key - set it to appropriate value or remove it (not advised - just set it appropriately)
For some reason you was blocked by Google

The last one needs some clarification - how you can tell that you was blocked. Here is simple manual how to do that:

Marcin Kalak
22-09-14, 11:45
First, make sure that your .htaccess rules are OK - especially for forums with subdirectory in URL.

Marcin Kalak
22-09-14, 11:46
You have to set appropriate option in Admin CP and change/create .htaccess file

- If you don't have .htaccess file then use the one from do-not-upload directory in mod package - just upload it to your forum directory
- If you have .htaccess file, then add one of these two rules (if you are using vB 'Mod Rewrite Friendly URLs' then put those rules JUST BEFORE vB rules):

Faster and more efficient but can be used only if you are NOT using links with 2-signs part i.e: yourforum.com/XY/

RewriteCond %{REQUEST_URI} !(js|hv)
RewriteRule ^/?(..|zh-CN|zh-TW)/archive/index.php/(.*)?$ archive/index.php?/$2&language=$1 [L,QSA]
RewriteCond %{REQUEST_URI} !(js|hv)
RewriteRule ^/?(..|zh-CN|zh-TW)/$ index.php?language=$1 [L,QSA]
RewriteCond %{REQUEST_URI} !(js|hv)
RewriteRule ^/?(..|zh-CN|zh-TW)/(.*)?$ $2?language=$1 [L,QSA]

Can by used always

RewriteRule ^/?(af|sq|ar|be|bg|ca|zh-CN|hr|cs|da|nl|en|et|tl|fi|fr|gl|de|el|iw|hi|hu|is|id|ga|it|ja|ko|lv|lt|mk|ms|mt|no|fa|pl|pt|ro|ru|sr|sk|sl|es|sw|sv|zh-TW|th|tr|uk|vi|cy|yi)/archive/index.php/(.*)?$ archive/index.php?/$2&language=$1 [L,QSA]
RewriteRule ^/?(af|sq|ar|be|bg|ca|zh-CN|hr|cs|da|nl|en|et|tl|fi|fr|gl|de|el|iw|hi|hu|is|id|ga|it|ja|ko|lv|lt|mk|ms|mt|no|fa|pl|pt|ro|ru|sr|sk|sl|es|sw|sv|zh-TW|th|tr|uk|vi|cy|yi)/$ index.php?language=$1 [L,QSA]
RewriteRule ^/?(af|sq|ar|be|bg|ca|zh-CN|hr|cs|da|nl|en|et|tl|fi|fr|gl|de|el|iw|hi|hu|is|id|ga|it|ja|ko|lv|lt|mk|ms|mt|no|fa|pl|pt|ro|ru|sr|sk|sl|es|sw|sv|zh-TW|th|tr|uk|vi|cy|yi)/(.*)?$ $2?language=$1 [L,QSA]

Marcin Kalak
22-09-14, 11:46
If you have set tracking option on, then to go back to your default language you must just click flag for your default language :)

Marcin Kalak
22-09-14, 11:46
Just turn off save mode - it is DEPRECATED in php and not supported in future versions. See here for details:
PHP: Security and Safe Mode - Manual (http://us2.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode)

Marcin Kalak
22-09-14, 11:47
First of all mod supports user default language. It is set in registration form and can be changed in User CP. So if user has set his default language, then he does nothing... Just writes posts in his language, and vBET takes care about everything. In such case - when user has set default language it is assumed that whole post (including title) is written in his default language. It will be configurable soon, but at his moment there is simple assumption: if user has set default language and it is different than forum default language, then each his message is in language which he choose as his default.

You can also create multi language messages, where only parts of message are in different languages. This is very easy - everything what you need to do it put text written in different language inside of lang BBCode. It takes one parameter which is the language code. I.e. if you want to write something in Polish, then BBCode looks like this lang=pl.
See whole example (spaces in BBCode added to avoid evaluation):
[ lang=pl]Przykład tekstu po polsku[ /lang]

This example (without spaces in BBCode) will give you such result:
Example of text in Polish

There is also one more BBCode which works exactly as lang BBCode, but it's reserved for posts titles only. It is langtitle BBCode - it is used by vBET to automatically mark message of user which set theirs default language other than forum default language. It shouldn't be used manually, and if you want to use it such way, then remember to put whole message inside of lang BBCode using same language code as parameter in booth BBCodes (otherwise some parts of translated RSS channels can be not translated appropriately, but posts will be shown appropriately).

There is really one more BBCode, but it is not for translation - in fact it is to keep text not translated. If you want some text i post to be not translated, just simple out it inside of notranslate BBCode. It can be useful in case of some terms, or citation of some poems etc.

For example this text will never be translated. You can check it by clicking some translation flag - you will see this part will stay in original :)

Marcin Kalak
22-09-14, 11:47
If your forum is in subdirectory and you have pages outside it, which are handled by vBulletin, then vBET will support translation for those pages :)

All you have to do is set appropriate rules in .htaccess file in forum PARENT directory:

RewriteRule ^/?(af|sq|ar|be|bg|ca|zh-CN|hr|cs|da|nl|en|et|tl|fi|fr|gl|de|el|iw|hi|hu|is|id|ga|it|ja|ko|lv|lt|mk|ms|mt|no|fa|pl|pt|ro|ru|sr|sk|sl|es|sw|sv|zh-TW|th|tr|uk|vi|cy|yi)/$ index.php?language=$1&vbet_outside=true [L,QSA]
RewriteRule ^/?(af|sq|ar|be|bg|ca|zh-CN|hr|cs|da|nl|en|et|tl|fi|fr|gl|de|el|iw|hi|hu|is|id|ga|it|ja|ko|lv|lt|mk|ms|mt|no|fa|pl|pt|ro|ru|sr|sk|sl|es|sw|sv|zh-TW|th|tr|uk|vi|cy|yi)/(.*)?$ $2?language=$1&vbet_outside=true [L,QSA]

And for each subdirectory in your domain which should be supported by vBET (without forum directory itself) add this rule in .htaccess file inside of supported subdirectory:

RewriteCond %{QUERY_STRING} !vbet_outside=true
RewriteRule ^(.*)$ $1?vbet_outside=true [L,QSA]

So if forum PARENT directory also have to be supported it need all those rules.

If you also want to keep translation tracking for those you have to:

Turn on URL tracking outside forum directory in options in Admin CP
Make sure that links to those pages are ABSOLUTE (so starts from http)

Also make sure that there is base tag in generated HTML output for pages outside forum directory. If not then edit template which generates those pages and add code below in any place between <head> and </head>:

<vb:if condition="!$_REQUEST['language']"><base href="{vb:raw vboptions.bburl}/" /></vb:if>

Marcin Kalak
22-09-14, 11:48
If everything was working well and suddenly it not then one possibility is that you have issue with your translation provider (others are: some configuration was changed, new mod added, some software updated).

To check this, upload the appropriate file from the package vBET do-not-upload/tools/providers-tests/. In this directory contains files for testing providers translations.

Example test for googleapiv2:

Upload file test_googleapiv2.php to /core/admincp.
Open a browser page:
If everything is ok you will get answer:

Starting transaltion test
Test result: {"responseData": {"translatedText":"Welcom"}, "responseDetails": null, "responseStatus": 200}
Test error:

In case of error check that you have the correct API key in Admin CP -> vBET -> Translation Providers.

Marcin Kalak
22-09-14, 11:48
Is that the server timed out and closed the connection.
Set variable wait_timeout for mysql server to higher value.

Here you can find a full solution:
MySQL server gone away error explained (http://www.vbulletin.com/forum/showthread.php?43505-MySQL-server-gone-away-error-explained)

Marcin Kalak
22-09-14, 11:48
If you have in your URL:


Probably you use IE browser. IE browser bad shows url with the accented.
Try to check this link in another browser (Opera, Firefox),
should be translated correctly.
This is a browser issue. google crawls this link correctly (with the accented).

Marcin Kalak
22-09-14, 11:50
So to support other translation APIs jut go to Admin CP -> vBET -> Translation Providers and turn off option Use Google ONLY. This is only step which is necessary to support other translation APIs

After that vBET will use other translation API always when it is possible. So if some translation is supported only by Google, then Google will be used, BUT if other supported API is able to do the translation then by default ALWAYS will be chosen other provider than Google.

You are also able to determine which exactly provider should be used for specific language pair (From-To). And you are able to do this for each possible language pair. So if you want to have full control and determine yourself which translation engine should be used for language pair, then you can do it by configuration files from directory vbet_translation_options. Each file includes language code at the end of name and this determines 'From'. To determine 'To' you have to open the file and change appropriate line in php table.

For example. If you want to set translation from English to Polish to be done by Microsoft Translation API. Then:
1. Open file /vbet_translation_options/vbenterprisetranslator_from_en.php
2. Find line with Polish language code mapping and set name of chosen translator:

So this sets Microsoft Translation API as translation provider for translations made 'From' English (en), 'To' Polish (pl). Piece of cake :)
Of course this will work only when option Use Google ONLY is disabled. This is just example - please remember that you do NOT have to do this. By default it is already set to not use Google whenever it is possible.

Also please keep in mind that some translation APIs can require to set some identification parameter. All such parameters, with detailed description you will find in options group Admin CP -> vBET -> Translation Providers

NOTE:Everywhere where language pair is supported by more than one provider, you will see comma separated values with providers names. For example:

It means that as long as Microsoft is available vBET will use Microsoft and if it is not available then vBET will automatically switch to Google. In such case vBET marks provider as unavailable and checks every hour (by scheduled task) is it available now. If yes, then vBET will switch back to preferred provider.
You are able to change order in providers queue or remove some provider at all from there. Please note that you cannot use spaces between values.

This way vBET will be able to provide translations even after limits in one provider are reach.

Also in case when all providers are unavailable vBET will use dummy translator which simply displays original text. So in such case you can see not translated text on translated pages. It is better strategy that displaying empty texts and something must be displayed. Please note that such results will not be cached, so test will switch to translated as soon as any translation provider will be available again.

Marcin Kalak
22-09-14, 11:50
1. Add to vBET ignored pages as many content as you think is not important for translations
Example of some pages which can be considered not important for translation by some forum owners: member pages, calendar, photo galleries.

2. Use free translation services first
Use first free version of translations API: Microsoft, Apertium -than turn on paid Google API v2

3. Limit supported languages to those which you think are most important for your forum. And even then limit it more - after time you can add more languages if you find that costs are OK for you. Add new ones from time to time when your cache is full
We provide support for 53 languages but for some forum smaller amount is better, also you can cache your data as long as you want, so you can add new languages one after another, without reaching your limits!

4. Do not clear your database cache and disable automatic cleaning
Remember to improve value of cache ttl or even disable it(0) - you can find it here: admincp -> vBET Cache -> Database Cache ->Cache Time To Live (TTL)

5. Avoid translation of SPAM, by verifying posts until those are published.
Not translating, unwanted information will reduce your number of translations!

6. Look for other translation services which Terms Of Service allows to add it into vBET and let us know about those - will gladly support as many translation APIs as possible
We are seeking for new free translation providers, help us and help yourself, make us know about new translation providers! Now vBET is created in way to support many providers, therefore if terms of use let us implement it, we will do it!

7. Reduce your amount of request per second (Only for Google translations API v2)
You have to change and increase this , but remeber to big value will slow down your forum dramticaly: admincp -> vbet -> translation options -> Delay between

8. If you are using Google API v2, set your own limits
You can set your own limits, and control your translation costs! Just go: https://code.google.com/apis/console/b/0/ -> Quotas

9. Turn on option Don't translate numbers.
Enabling this option will reduce the cost of translations, because will be made less translations.

Marcin Kalak
22-09-14, 11:51
If you see untranslated text it is not vBET bug or error. It appears when you've reached your limits in all tranlation APIs - you can easly check it here:

AdminCP -> vBET -> Translation Providers Availability
It is strongly unrecommended to change these values manualy, becouse vBET will do it itself!

In this situation (there is no available translation API) vBET will use dummy translator. It means that already cached translations will be displayed and for not existing translations original text will be shown (not empty one like before - this can happen only when provider refuses translation).

Translation providers set limits (Microsft Api Translation have their own limits, in case of Google Api Translation v2 you can set it by your own) and vBET when more than one provider supports translation then vBET will use preferred one first.

And in case if one of translation API is not available - which means you have reached your limits - vBET will switch to another, and in every 10 minutes vBET will check is the translation API available again.

Please note that you have to turn off option Use Google Only and set appropriate API keys to use providers queue. For details please see:

Admin CP -> vBET -> Translation Providers

Also You can check if you reach your limits by run these tests TESTS (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15132)

Marcin Kalak
22-09-14, 11:51
Part translation is caused by reaching your limits, but it not an error!

Simply i.e.:
1. Someone wrote message and it was translated because you didn't reach your limits - limits are set by translation providers(in Google Api Translation v2 you can set it by your own).

2. When next message was written, limits was reached and translation providers unavailable therefore you will see on your page already cached translations text from cache and original content, for next message, because translation services were not available.

3. After any translation provider is available again, untranslated, original message will be translated. vBET checks translation API availability in every 10 minutes

Marcin Kalak
22-09-14, 11:52
Basically it is enough to turn on Guest Cache (Admin CP -> vBET Cache -> Guest Cache -> Use Full File Cache For Guests).

When Guest Cache is on, then showing translated URL's under the flags is enabled. For performance reasons it works only for guests. It is not necessary for logged in users to see translated URL's under the flags - such user mostly is already on translated page before log in, or do not need translation at all. The feature is mostly for search engines spiders which are crawling any existing link on page. So now Google will not complain about lot of redirects.
And because showing translated URL's under the flags it is integrated with Guest Cache it will not give any performance penalties, since additional queries to database will be made very rare (only when refreshing cache).

Please note that there can be several situations when URL under the flag is not translated and redirection still happens:

Always for logged in users (as described before it is not necessary to waist resources)
When URL is not translated yet (for performance reasons do not ask for all flags translations immediately, but after first redirect translation will be available in database cache)
When URL is translated already, but also page is already cached in Guest Cache with no translation (this is related to previous point, but as soon as Guest Cache expires your guests will see translated URLs under those flags which are already translated)

So assuming: it is working for guests only, with delayed requests for translation - for performance reasons.

Marcin Kalak
22-09-14, 12:17
At the beginning of the .htaccess file you must have a rule:

RewriteEngine On
Options FollowSymLinks

If you use the links to SEO, you should add a rule for SEO links: http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq.html#post15127

At the end of the file you must have a rule:

RewriteCond %{QUERY_STRING} !redirected=
RewriteCond %{QUERY_STRING} !do=
RewriteCond %{REQUEST_URI} !(core|admincp|modcp|clientscript|cpstyles|images|css|js|login|auth|ajax)
RewriteRule ^(.*)$ vbenterprisetranslator_front_controller.php?redirected=$1 [L,QSA]

You can find these rules into your download files:


Marcin Kalak
31-12-14, 13:41
If you upgrade vB5 and vBET stopped working then make sure that you have the appropriate rules in .htaccess (http://www.vbenterprisetranslator.com/forum/vbet5-troubleshooting/4177-faq-2.html#post15140). vB5 during update overwrites the .htaccess file and you must to add again our rules to it.

Marcin Kalak
01-06-15, 10:00
To add a flag to a mobile style, you need import vBET template:
1. Open AdminCP->Styles & Templates->Style Manager->Default Style->Edit templates->vbenterprisetranslator_flags.
2. Change value Style from Default Style to your mobile style.
3. Save the template.
If you want to add other vBET template (e.g. add a flag to translated messages) then import other needed vbenterprisetranslator styles.

AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Translations supported by vB Enterprise Translator 4.9.99