Нашёл такой хак
Он автоматически переводит форум на 28 языков.
Перевод записывает в отдельную базу, и переписывает урл тем. С 1 темы получаются 28.
Автор хвалит хак тем, что повышается трафик сайта
Кто нибудь ставил его уже?
Ваше мнение?
Себе пока не ставил, так как не уверен, толк от него есть или нет...
Тема на орге
http://www.vbulletin.org/forum/showthread.php?t=216218
vB Global Translator
Note - There are 2 versions of this script depending on your setup. This script is compatible with users running standard vBulletin and vBSEO only and all vB release versions. If you cannot install this I am more than happy to answer support questions.
So what does this do?
vB Global Translator automatically translates your forum into 28 other languages via the Google translate API, stores those translations in a MYSQL database then rewrites new URLs so you end up with 28 new pages for every current page.
So, if you have 10,000 pages, this MOD will translate those pages into 28 languages making a total of 280,000 pages in 28 languages. This results in a flood of international traffic and referrals from the search engines. If you are getting 1,000 visits a day from your 10,000 pages imagine how many referrals you will get from 280,000 pages!
The current languages this MOD works with are all supported by AdSense so you can expect your income to rise accordingly. I have this running on a 20,000 page forum and after a few months I have more than doubled my search engine traffic.
LIVE DEMO
How do I Install?
First download the relevant package below for your setup.
Next you need to add a new MySQL database to your domain to store the translated pages. Open the database in phpmyadmin or similar and import the db.sql file to install the database tables. Once you have done that you need to select the 'wt_cache' table on the left then 'operations' from the top menu and change the storage engine to InnoDB, then click Go.
Add your new database details to translate.php then, if your forums base language is different to English, change your country code. Otherwise ignore this step.
Find:
Change en to:
Code:
"ar"=>"Arabic",
"bg"=>"Bulgarian",
"zh-CN"=>"Chinese (Simplified",
"zh-TW"=>"Chinese (Traditional)",
"hr"=>"Croatian",
"cs"=>"Czech",
"da"=>"Danish",
"nl"=>"Dutch",
"en"=>"English",
"fi"=>"Finnish",
"fr"=>"French",
"de"=>"German",
"el"=>"Greek",
"iw"=>"Hebrew",
"hu"=>"Hungarian",
"it"=>"Italian",
"ja"=>"Japanese",
"ko"=>"Korean",
"no"=>"Norwegian",
"pl"=>"Polish",
"pt"=>"Portuguese",
"ro"=>"Romanian",
"ru"=>"Russian",
"sr"=>"Serbian",
"sk"=>"Slovak",
"es"=>"Spanish",
"sv"=>"Swedish",
"th"=>"Thai",
"tr"=>"Turkish",
Next save translate.php and upload that, translateflags.php and overloadcache.txt to your forum root, so if your forums are in a /forums/ folder upload these files there. Upload the flags folder to your domain root, thats the domain root.
CHMOD overloadcache.txt to 777
In your vBulletin admin panel add a new plugin with the following settings.
Hook Location: global_complete
Title: vB Global Translator
Execution Order: 5
Plugin PHP Code:
Code:
require_once("translate.php");
// Enable UTF-8 characters
if(isset($_GET['hl']))
{
header ('Content-type: text/html; charset=utf-8');
}
// Keep remainders of <style and <script tags!
$time = time(); // Unique Tag Identifier!
preg_match_all('|<script[^>]*>(.*?)</script>|si', $output,$scripttags, PREG_SET_ORDER);
for($i=0;$i<count($scripttags);$i++)
{
$output = str_replace($scripttags[$i][0], "<a name=\"$i\"></a>",$output);
}
//preg_match_all("<style[^>]*>.*</style>",$buffer,$styletags);
preg_match_all('|<style[^>]*>(.*?)</style>|si',$output,$styletags);
for($i=0;$i<count($styletags);$i++)
{
$output = str_replace($styletags[1][$i], "<a name=\"s$i\"></a>",$output);
}
$output=callback($output);
// Place back remainders of <style and <script tags!
for($i=0;$i<count($styletags);$i++)
{
$output = str_replace("<a name=\"s$i\"></a>", $styletags[1][$i], $output);
}
for($i=0;$i<count($scripttags);$i++)
{
$output = str_replace("<a name=\"$i\"></a>",$scripttags[$i][0] ,$output);
}
//print_r($scripttags);
//die("c:".count($scripttags).":".count($styletags));
Save the plugin and activate.
In your vBulletin admin panel add another new plugin with the following settings.
Hook Location: global_start
Title: vB Global Translator Flags
Execution Order: 5
Plugin PHP Code:
Code:
ob_start();
include('translateflags.php');
$translateflags = ob_get_contents();
ob_end_clean();
Save and activate.
Finally add the code below to your template so the flags to select languages appear. This is typically the header, navbar or footer so that they display on every page.
Code:
<!-- vBGT Code Start-->
<div align="center">
<!-- google_ad_section_start(weight=ignore) -->
$translateflags
<!-- google_ad_section_end -->
</div>
<!-- vBGT Code End -->
Load Issues:
This script is can be quite server intensive for large sites. As you are adding links to all of these new pages from all of your current pages the search engine bots will crawl these 1,000's of new pages fast. As the MySQL trys to deal with the many, many translations and querys I have seen my server load spike a bit.
To combat this we have written in a condition that if server load is more than 1.5, the cache setting will disable and pages will be read live from the Google API and no database writing will take place.
If you feel this setting too high/low you can change it by finding the variable below in translate.php and editing accordingly. The only reason to change this is if - A) You are on a slow server and it is overloaded/crashing or B) You have a very fast server and it can handle more, this will mean your site will get fully cached faster resulting in faster page load times when people re-visit the translated pages.
Code:
if(floatval(getServerLoad()) >= 1.5)
One final thing to remember is while your site is being cached and data written to the new database read access times to already cached pages may vary. Uncached pages need to be translated and this can take time when translating a fresh page. Cached pages may load fast or slow depending on whether your server is under load or not as when under load read access from the database is disabled. You just need to be patient and wait until your site is fully cached which will vary between site size, server spec and how often search bots crawl your pages.