{"id":83315,"date":"2010-09-11T08:00:00","date_gmt":"2010-09-11T08:00:00","guid":{"rendered":"https:\/\/www.weixiaoduo.com\/plugins\/2024\/02\/22\/gts-translation\/"},"modified":"2016-04-14T00:47:00","modified_gmt":"2016-04-14T00:47:00","slug":"gts-translation","status":"publish","type":"post","link":"https:\/\/www.weixiaoduo.com\/plugins\/gts-translation\/","title":{"rendered":"GTS Translation Plugin"},"content":{"rendered":"<p>The GTS Translation plugin provides human quality translation by allowing you to combine automatic translation and human post-editing (crowdsourcing). Your blog content is initially translated by our translation server. The content is then post-edited by human translators through our online editing system. You can use the GTS community of translators, or you can assign the post-editing to your own community of translators to maintain complete control of the process.<\/p>\n<p>When you use the GTS Translation plugin, translated content is cached in your WordPress database and indexed by search engines. This will increase the traffic to your website and grow your international readership.<\/p>\n<p><strong>Features:<\/strong><\/p>\n<ul>\n<li>Guaranteed to increase your traffic by at least 30% after 2 months; some customers have seen over 100% increase in traffic<\/li>\n<li>Supports over 30 languages<\/li>\n<li>Uses private, secure translation server<\/li>\n<li>Publish translated content immediately or following review<\/li>\n<li>Crowdsourcing: create your own community of translators or use our community<\/li>\n<li>SEO: translates Permalink URL names and meta tags<\/li>\n<li>Custom online, side-by-side editor makes post-editing easy<\/li>\n<li>Translated posts can be retweeted<\/li>\n<\/ul>\n<h3>Uninstalling<\/h3>\n<p>Simply click the \u201cDelete\u201d link in the plugin management window.  This will delete all of your translated data, so<br \/>\nplease be careful!<\/p>\n<h3>Virtual Host Setup<\/h3>\n<h3>How to setup the Virtual Host feature on the GTS Plugin<\/h3>\n<p>By default, the translated versions of your website\/blog resolves to a URL address which is a subdirectory of your site\u2019s URL address. For example,<br \/>\nthe Spanish version of your site resolves to http:\/\/mywebsite.com\/language\/es.<\/p>\n<p>With the GTS Translation Plugin Virtual Host feature you can publish translated versions of yor website\/blog under a separate subdomain or top-level<br \/>\ndomain (TLD). So for example, if your blog is www.mywebsite.com you can serve the Spanish version from www.mywebsite.es.  Alternately, you can use<br \/>\n subdomains (e.g. es.mywebsite.com) so that you don\u2019t have to buy a domain for each language.<\/p>\n<p>To implement the virtual hosts feature, follow these steps:<\/p>\n<h3>1. Configure DNS<\/h3>\n<p><strong>For Top Level Domains:<\/strong><\/p>\n<ol>\n<li>Register your new domain (e.g. www.mywebsite.es.) with a recognized domain registrar.<\/li>\n<li>In your DNS zone, set the A record for www.mywebsite.es to point to the IP address of your web server.<\/li>\n<\/ol>\n<p><strong>For Subdomains:<\/strong><\/p>\n<ol>\n<li>Create a CNAME alias for your web server (e.g. es.mywebsite.com)<\/li>\n<\/ol>\n<p>How to complete these steps will depend on your hosting provider.  If you get stuck, please follow up with your support team.<\/p>\n<h3>2.  Configure your Web Server<\/h3>\n<p>Please note that all of the translated blogs will be hosted from the same WordPress installation as your current blog.<\/p>\n<p><strong>For Hosted Blogs:<\/strong><\/p>\n<p>Your hosting provider will provide a control panel to map a hostname to a Document Root.  For each translated host name, enter the exact same Document<br \/>\nRoot as your blog.<\/p>\n<p><strong>For Self-hosted Blogs:<\/strong><\/p>\n<p>These instructions are only valid for Apache.  If you use IIS or another web server, please consult the relevant documentation.<\/p>\n<p>First off, you need to be set up with Name Based Virtual Hosts (http:\/\/httpd.apache.org\/docs\/2.0\/vhosts\/name-based.html).  Once you have your blog\u2019s<br \/>\nvirtual host set up, add the new hostname to the ServerAlias directive.<\/p>\n<blockquote>\n<pre><code><VirtualHost *:80>\n\n  ServerName     www.mywebsite.com\n  ServerAlias    www.mywebsite.es\n  DocumentRoot   \/path\/to\/wordpress\/install\n\n  # Other configuration here...\n\n<\/VirtualHost>\n<\/code><\/pre>\n<\/blockquote>\n<p>If you have multiple aliases, remember that the ServerAlias can be a list or can include wildcards\u2026it can save time!<\/p>\n<h3>3.  Configure the GTS Plugin<\/h3>\n<p>This is the easiest part:<\/p>\n<ol>\n<li>Go to the \u201cGTS Settings\u201d admin page.<\/li>\n<li>Enter the host name in the \u201cVirtual Host\u201d input next to the desired language.<\/li>\n<li>Click the \u201cSave Changes\u201d button.<\/li>\n<\/ol>\n<p>Voila, translated links will point to your new host!<\/p>\n<h3>Security<\/h3>\n<p>While providing high quality translation with our crowdsourced post-editing functionality, it\u2019s of the utmost importance<br \/>\nto ensure the security of your blog.  We provide functionality that is out-of-band of the traditional WordPress publishing<br \/>\ncycle.  As such, our plugin adds a hook into your blog that allows GTS to programmatically update the translated content<br \/>\nin your local WordPress database.  We\u2019ve put a lot of thought into ensuring that our system can use this hook while locking<br \/>\nit against any potential malicious users.<\/p>\n<p>The first step to securing our system is to make sure that it\u2019s really <em>you<\/em> and your blog requesting that your blog be<br \/>\nsigned up for translation.  First, we only accept registration requests that originate from the WP admin page of the blog<br \/>\nthat will be translated.  When the user clicks off of the admin page, a digital fingerprint is created and saved to your<br \/>\nWP database, and then it\u2019s sent over an SSL-encrypted channel to our server.  When the registration request reaches our<br \/>\nserver, we will open an HTTP connection back to the requesting blog and verify that a) it has our plugin installed, and b)<br \/>\nusing an encryption technique called hashing, that the fingerprint matches.  If one of those checks fail, we won\u2019t register<br \/>\n the blog for translation.<\/p>\n<p>Now that we\u2019ve verified the blog, we\u2019ll assign you a Blog ID and an API Access Key.  These will be automatically added to<br \/>\nyour configuration panel via the registration panel, plus they will be sent to your administrator email address.  We will<br \/>\nuse these two strings for identifying your blog and to ensure that information isn\u2019t tampered either en-route to us.  It<br \/>\nwill also be used by your blog to verify that translated content posted back to your blog is legitimate.  Again, we use<br \/>\nan encryption technique called hashing.  Whenever your blog sends a translation request to us or we send translated content<br \/>\nback to you, we create a signature (or hash) of that content PLUS the API Access Key (if you\u2019re really interested in details,<br \/>\nusing the SHA-1 algorithm).  Provided that the API Access Key is kept secret, this technique is extremely secure and resistant<br \/>\nto tampering.  The odds of a malicious person guessing your API key are astronomical : more than 1 in 10^229.  However,<br \/>\nas with any password, security depends on keeping it secret.  If at any time, you think that your key has been compromised,<br \/>\nGTS will deactivate the current key and issue you a new one.<\/p>\n<p>Other measures we take to secure data coming back to your blog include using a whitelist of IP addresses that are allowed<br \/>\nto use the hook for posting translated content and limiting the size of the post to ~250KB so that, even if all other measures<br \/>\nfail, an attacker can\u2019t eat up all the memory on your machine.<\/p>\n<p>We have dedicated lots of thought to locking down this system, and we are very confident that it\u2019s secure.<br \/>\nAfter reading this, we hope you will be too!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This plugin is guaranteed to drive more international traffic to your site by providing high quality translation, and SEO of your translated content.<\/p>\n","protected":false},"author":65,"featured_media":287616,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"GTS Translation Plugin - \u8587\u6653\u6735\u63d2\u4ef6\u76ee\u5f55","description":"This plugin is guaranteed to drive more international traffic to your site by providing high quality translation, and SEO of your translated content."},"footnotes":""},"categories":[1],"tags":[13627,610,2633,2634,3237],"class_list":["post-83315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-crowdsourcing","tag-translate","tag-translation","tag-translations","tag-translator"],"_links":{"self":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/posts\/83315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/comments?post=83315"}],"version-history":[{"count":0,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/posts\/83315\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/media\/287616"}],"wp:attachment":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/media?parent=83315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/categories?post=83315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/tags?post=83315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}