<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>WPML</title>
	
	<link>http://wpml.org</link>
	<description>The Plugin for Building Multilingual WordPress Sites</description>
	<lastBuildDate>Thu, 09 Feb 2012 13:46:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/wpml" /><feedburner:info uri="wpml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>wpml</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>WPML 2.4.3 – A Stability Release</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/m3gO2Go0Z2I/</link>
		<comments>http://wpml.org/2012/02/wpml-2-4-3-a-stability-release/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 09:07:41 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[WPML versions]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9550</guid>
		<description><![CDATA[WPML 2.4.3 is a comprehensive stability overhaul and fixes a number of bugs, glitches and notices. Although there&#8217;s no big new feature, this update is highly recommended for everyone. This release fixes some 36 issues. None of these issues was a showstopper, but they needed fixed none-the-less. Fix highlights: URL preview display bug for some [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WPML 2.4.3 is a comprehensive stability overhaul and fixes a number of bugs, glitches and notices.</strong></p>
<p>Although there&#8217;s no big new feature, this update is highly recommended for everyone. This release fixes some 36 issues. None of these issues was a showstopper, but they needed fixed none-the-less.</p>
<p>Fix highlights:</p>
<ul>
<li>URL preview display bug for some pages</li>
<li>Non-English characters not converted to equivalent English chars in post slug</li>
<li>Language switcher CSS positioning on the admin dashboard</li>
<li>Inconsistent messages about translator actions with WPML&#8217;s Translation Editor</li>
<li>Warning popup messages showing in wrong places</li>
<li>Compatibility problems with WordPress 3.0.x and 3.1.x (are you still using that?)</li>
<li>Pagination and search not working together for String Translation</li>
<li>Gravity Forms integration issues</li>
<li>IE7 Javascript issues</li>
<li>Sticky Links not processed correctly for some links</li>
<li>Stick Links not reverting correctly in some cases</li>
<li>HTML entities not processed correctly for some fields when coming back from ICanLocalize.com translation</li>
<li>Fixed the display of the admin language switcher for RTL WordPress administrators</li>
</ul>
<p>and a bunch of PHP notices in different place&#8230;</p>
<p>You&#8217;re probably wondering how comes we got so obsessed with hunting down every tiny little issue.</p>
<p>Well, meet <strong>Bigul</strong>. Bigul is our new QA chief. He&#8217;s taking WPML and shaking it like never before. Then, he shakes some more and doesn&#8217;t stop until all the bolts and screws are fastened properly.</p>
<p>The changes are applied to all of WPML&#8217;s components. Please update WPML core and every addon plugin that you&#8217;re using. I hope that you enjoy this new release and the additional stability it brings.</p>
<p>Now that we&#8217;ve handled all these issues and we have a solid QA process, we&#8217;re getting back to adding more new features. I&#8217;ll write much more about it as we&#8217;re getting closer to WPML 2.5.0.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=m3gO2Go0Z2I:Es6zeZ_6hKk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=m3gO2Go0Z2I:Es6zeZ_6hKk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=m3gO2Go0Z2I:Es6zeZ_6hKk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=m3gO2Go0Z2I:Es6zeZ_6hKk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=m3gO2Go0Z2I:Es6zeZ_6hKk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=m3gO2Go0Z2I:Es6zeZ_6hKk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/m3gO2Go0Z2I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2012/02/wpml-2-4-3-a-stability-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpml.org/2012/02/wpml-2-4-3-a-stability-release/</feedburner:origLink></item>
		<item>
		<title>BuddyPress Multilingual 1.3.0 Beta</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/lSol9V6HCMQ/</link>
		<comments>http://wpml.org/2012/01/buddypress-multilingual-1-3-0-beta/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 08:59:39 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[WPML versions]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9508</guid>
		<description><![CDATA[It must be Beta season, because we have another one for you today. We&#8217;re ready with a new release (beta) for BuddyPress Multilingual. This release improves compatibility with the current BuddyPress (today, it&#8217;s 1.5.3.1). It fixes a number of bugs and feature gaps that opened since our last release. To try this, download the current [...]]]></description>
			<content:encoded><![CDATA[<p><strong>It must be Beta season, because we have another one for you today. We&#8217;re ready with a new release (beta) for BuddyPress Multilingual.</strong></p>
<p>This release improves compatibility with the current BuddyPress (today, it&#8217;s 1.5.3.1). It fixes a number of bugs and feature gaps that opened since our last release.</p>
<p>To try this, download the current Beta:</p>
<p><a class="button download-button" style="font-size: 14px;" href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2012/01/bpml.1.3.0-b2.zip"><img class="alignnone size-full wp-image-6069" style="margin-bottom: -5px;" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2008/10/RO-Mx1-32_arrow-drive-download.png" alt="" width="32" height="32" /> bpml.1.3.0-b2.zip</a></p>
<p>Thanks for everyone who&#8217;s helping with testing and feedback!</p>
<p>&nbsp;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=lSol9V6HCMQ:_4Dj8p8Hg7o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=lSol9V6HCMQ:_4Dj8p8Hg7o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=lSol9V6HCMQ:_4Dj8p8Hg7o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=lSol9V6HCMQ:_4Dj8p8Hg7o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=lSol9V6HCMQ:_4Dj8p8Hg7o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=lSol9V6HCMQ:_4Dj8p8Hg7o:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/lSol9V6HCMQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2012/01/buddypress-multilingual-1-3-0-beta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://wpml.org/2012/01/buddypress-multilingual-1-3-0-beta/</feedburner:origLink></item>
		<item>
		<title>WPML 2.4.3 Beta 3 Fixes Permalink Preview Bugs</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/Q2HGOjsP0iE/</link>
		<comments>http://wpml.org/2012/01/wpml-2-4-3-beta-3-fixes-permalink-preview-bugs/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 17:22:31 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[WPML versions]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9489</guid>
		<description><![CDATA[There&#8217;s a nagging bug in WPML 2.4.2, which drove us half crazy too. It&#8217;s fixed now and you can get the updated version in WPML 2.4.3 Beta 3. The bug caused the permalinks preview box to display incorrect URLs in certain cases. It&#8217;s a long story, full of drama and boring SQL. The bottom line [...]]]></description>
			<content:encoded><![CDATA[<p><strong>There&#8217;s a nagging bug in WPML 2.4.2, which drove us half crazy too. It&#8217;s fixed now and you can get the updated version in WPML 2.4.3 Beta 3.</strong></p>
<p>The bug caused the permalinks preview box to display incorrect URLs in certain cases. It&#8217;s a long story, full of drama and boring SQL. The bottom line is, that if you&#8217;re seeing incorrect URLs in the permalinks preview, when editing posts, this beta should solve it for you.</p>
<p>It&#8217;s not a critical bug. This error is only in the preview. The actual page URLs are fine. However, if you click on that &#8216;view post&#8217; button, you&#8217;ll get to a 404 page, since the preview URL is not correct. The actual pages display normally when you navigate to their correct URLs.</p>
<h2>How to download</h2>
<p>To download this fix, log in to your WPML account. Go to Downloads, scroll all the way to the bottom and download the recent beta version. The beta version is a ZIP that contains other ZIPs. Unzip it locally and upload the WPML components that you&#8217;re using.</p>
<h2>When&#8217;s the final 2.4.3 release?</h2>
<p>We have a few more really minor bugs to clean and then we&#8217;ll release WPML 2.4.3. Besides this glitch, 2.4.3 fixes a number of other issues, which are less obvious. This permalink preview thing is very noticeable and disturbs many of you, so we released this version today.</p>
<h2>Let us know</h2>
<p>If you&#8217;re still seeing anything wrote, please report in the <a href="http://forum.wpml.org">forum</a>. Sorry for all the trouble and thanks for your patience!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=Q2HGOjsP0iE:893fh-Na8AA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=Q2HGOjsP0iE:893fh-Na8AA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=Q2HGOjsP0iE:893fh-Na8AA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=Q2HGOjsP0iE:893fh-Na8AA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=Q2HGOjsP0iE:893fh-Na8AA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=Q2HGOjsP0iE:893fh-Na8AA:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/Q2HGOjsP0iE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2012/01/wpml-2-4-3-beta-3-fixes-permalink-preview-bugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpml.org/2012/01/wpml-2-4-3-beta-3-fixes-permalink-preview-bugs/</feedburner:origLink></item>
		<item>
		<title>Multilingual NextGen Gallery Update</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/jgt9yqWlVdM/</link>
		<comments>http://wpml.org/2012/01/multilingual-nextgen-gallery-update/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 16:10:42 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9150</guid>
		<description><![CDATA[We&#8217;re ready with a new version of NextGen Gallery, with updated WPML support. This version will let you manage your galleries and maintain full translation using WPML&#8217;s String Translation module. Update (Jan 22, 2012): NextGen Gallery now includes full support for WPML (tested on NGG 1.9.2). Please download the official release. To translate your gallery, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>We&#8217;re ready with a new version of NextGen Gallery, with updated WPML support. This version will let you manage your galleries and maintain full translation using WPML&#8217;s String Translation module.</strong></p>
<div style="margin: 2em 1em; padding: 1em; background-color: #F0FFF0; border: 1pt solid #80FF80;">Update (Jan 22, 2012): NextGen Gallery now includes full support for WPML (tested on NGG 1.9.2). Please download the <a href="http://wordpress.org/extend/plugins/nextgen-gallery/">official release</a>.</div>
<p>To translate your gallery, make sure that the String Translation module is enabled.</p>
<div id="attachment_9154" class="wp-caption alignnone" style="width: 310px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2012/01/ngg-strings.png"><img class="size-medium wp-image-9154" title="ngg-strings" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2012/01/ngg-strings-300x242.png" alt="" width="300" height="242" /></a><p class="wp-caption-text">Translating strings in NextGen Gallery</p></div>
<p>All the gallery strings are under context &#8216;<strong>plugin_ngg</strong>&#8216;. Don&#8217;t confuse this with the &#8216;plugin nextgen-gallery&#8217; strings. The later ones are for translation of strings in NGG&#8217;s PHP, not in your galleries.</p>
<p>The string names will tell you what you&#8217;re translating. For example, <em>gal_2_title</em> is the title of gallery 2. <em>pic_6_alttext</em> is the ALT tag for picture 6. You probably get the idea&#8230;</p>
<p>The image and gallery texts will show according to the language of the page it&#8217;s been inserted to. You can insert the same gallery to pages in different languages and you&#8217;ll see different texts. The images remain the same.</p>
<p>We put together a small working example here:</p>
<p><a href="http://subsite1.wpml.org/fr/french-album/">http://subsite1.wpml.org/fr/french-album/</a></p>
<p>You can play with it and see how the gallery texts update when you change language.</p>
<h2>What next?</h2>
<p>We think that this round covers everything. The author of NGG is waiting for our OK to include these changes in NGG code.</p>
<p>Please help us test. When you tell us that it&#8217;s OK for you, we&#8217;ll pass the update on to NGG author and it will become part of the code for good.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=jgt9yqWlVdM:P8Tbg18FYAk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=jgt9yqWlVdM:P8Tbg18FYAk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=jgt9yqWlVdM:P8Tbg18FYAk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=jgt9yqWlVdM:P8Tbg18FYAk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=jgt9yqWlVdM:P8Tbg18FYAk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=jgt9yqWlVdM:P8Tbg18FYAk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/jgt9yqWlVdM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2012/01/multilingual-nextgen-gallery-update/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://wpml.org/2012/01/multilingual-nextgen-gallery-update/</feedburner:origLink></item>
		<item>
		<title>Can Your Site Run Faster?</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/F0w6ur5EhB8/</link>
		<comments>http://wpml.org/2012/01/can-your-site-run-faster/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 13:18:31 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9127</guid>
		<description><![CDATA[Everyone loves faster sites. Speed is important to human visitors as well as search engines and it&#8217;s certainly worth spending time on, to optimize. Here are a few tips that can make your multilingual site faster. Speed and performance optimization are an endless tunnel. No matter where you are, there&#8217;s always room for improvement. There [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Everyone loves faster sites. Speed is important to human visitors as well as search engines and it&#8217;s certainly worth spending time on, to optimize. Here are a few tips that can make your multilingual site faster.</strong></p>
<p>Speed and performance optimization are an endless tunnel. No matter where you are, there&#8217;s always room for improvement. There are the simple and trivial optimization steps and the more advanced ones. The results you&#8217;ll get are very dependent on the amount of effort you&#8217;re willing to put in.</p>
<p>First, it&#8217;s important to understand the basics.</p>
<p>When a visitors go to your site, they need to receive a response, in the form of a page.</p>
<h2>Page Caching</h2>
<p>Your first line of defense is page caching. Page caching will return the response from the disk, or from memory without asking WordPress to prepare it. Obviously, using page caching is the one most important step towards a fast site.</p>
<p>In our sites, we use either <strong>WP Super Cache</strong> or <strong>W3TC</strong>.</p>
<ul>
<li><strong><a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> &#8211; easier to configure and harder to go wrong</strong>. We use that on low-traffic sites, where we just need page caching to avoid WordPress from processing each and every request.</li>
<li><strong><a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3TC</a> &#8211; a complete package for speed optimization, requiring reasonable understanding of what you&#8217;re doing</strong>. When used correctly, W3TC can perform every optimization possible for your site. However, you need to understand what you&#8217;re doing and it&#8217;s possible to crash your site when you don&#8217;t. We use W3TC on <a href="http://wpml.org">wpml.org</a> and <a href="http://wp-types.com">wp-types.com</a>, which are relatively high-traffic sites and speed is critical. We use every single feature in W3TC to squeeze out all the performance we can.</li>
</ul>
<p>If you&#8217;re interested in more details, check out my older, but still relevant. post about <a href="http://wpml.org/2011/03/wpml-with-w3tc/">WPML and W3TC</a>.</p>
<h2>CDN, Minify, Object Caching and APC</h2>
<p>Besides the basic page caching, there are a number of techniques to further improve your site&#8217;s performance. Here are the popular ones:</p>
<p><strong>CDN</strong> (<strong>C</strong>ontent <strong>D</strong>elivery <strong>N</strong>etwork): Your static files will be hosted on other servers, closer to visitors. Instead of hitting your server to get static content, this content will go directly from the CDN. There are different CDN providers, such as <a href="http://www.maxcdn.com/">MaxCDN</a> and <em>Amazon</em>. On our sites, we use Amazon <a href="http://aws.amazon.com/s3/">S3</a> + <a href="http://aws.amazon.com/cloudfront/">CloudFront</a>.</p>
<p><strong>Minify</strong>: Pack static CSS and Javascript files into fewer files. This way, instead of loading dozens of tiny CSS and JS files, visitors will load fewer and larger files. If you also use a CDN, this doesn&#8217;t have an effect on your server, but can greatly enhance the browsing experience by first-time visitors.</p>
<p><strong>Object Cache</strong>: Stores data units that take long to compute. You can read more about that in <a href="http://codex.wordpress.org/Class_Reference/WP_Object_Cache">WordPress codex</a>.</p>
<p><strong>PHP Opcode Cache</strong>: Pre-compiles PHP code, so that it doesn&#8217;t have to be interpreted from scratch for every page load.</p>
<p>There are plugins that implement each of these operations. W3TC implements them all too.</p>
<h2>Specific Optimization for Your Site</h2>
<p>Page caching, CDN and Object Caching will give your site the initial speed boost. They prevent WordPress from executing, or from executing from scratch, for every single request. However, even with all the caching in the world, sometimes, WordPress does need to produce content. Then, if it takes 40 seconds for a page to compute, it&#8217;s not going to fly.</p>
<p>To optimize the performance of page-rendering by WordPress, you must first understand where most of the time is spent.</p>
<p>I recommend to start with a plugin called <a href="http://wordpress.org/extend/plugins/debug-queries/">Debug Queries</a>. Enable it and look at your site&#8217;s footer. You&#8217;ll see exactly how much time PHP processing and database processing took. You&#8217;ll also get a breakdown of the individual queries that make up each page.</p>
<div id="attachment_9135" class="wp-caption alignnone" style="width: 310px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2012/01/debug-queries-output.png"><img class="size-medium wp-image-9135" title="debug-queries-output" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2012/01/debug-queries-output-300x200.png" alt="" width="300" height="200" /></a><p class="wp-caption-text">Debug Queries output</p></div>
<p>I cannot stress enough how important doing this is for your site. Without checking what your site does now, there&#8217;s no way to tell where there&#8217;s waste and what needs improving.</p>
<p>You should look for things like:</p>
<ul>
<li>The same query running over and over again.</li>
<li>A series of queries loading individual items instead of a single query loading the entire array</li>
<li>Joins on huge tables, which take long to perform</li>
<li>Queries that search by columns that have no index, or text searches</li>
</ul>
<p>All these things will surely slow your site and can be avoided. Many times, you&#8217;ll see them happening in conjunction, with a single solution to fix a few problems together.</p>
<p>Often, in order to really fix these issues, someone is going to have to work hard on the site&#8217;s coding. In other cases, different usage of widgets or theme options can greatly reduce the database load and increase the site&#8217;s speed.</p>
<h2>Using WPML Better</h2>
<p>WPML has several features that help you manage your site, but also require database resources to run.</p>
<h3>String Translation Features</h3>
<p>WPML&#8217;s String Translation module is fairly optimized and should not slow your site, just as long as you know what you&#8217;re telling it to do.</p>
<p>It already comes with a caching engine, which will load entire contexts in a single query. When  a plugin, or your theme, loads translation using a GetText call, or directly using WPML&#8217;s <em>icl_t</em> function, WPML will load all the translations for that context. This means that other strings that belong to that plugin or theme are already in memory. This is similar to the way GNU GetText operates.</p>
<p>The String Translation module includes several features which help you locate and register strings for translation. To work, they require the database. These features are not intended for normal production usage and only affect performance for logged-in users.</p>
<p>They are explained in the <a href="http://wpml.org/faq/why-string-translation-appears-to-slow-down-sites/">String Translation performance FAQ</a>.</p>
<h3>Auto ID-Adjust</h3>
<p>WPML creates different posts for different languages. Many themes refer to specific posts and want to load them from the database. They don&#8217;t know that you&#8217;re using WPML, so they don&#8217;t care about the same page appearing on different posts for different languages.</p>
<p>To allow you to use your themes, without any PHP edits, WPML include a handy feature that automatically converts IDs to those in the current language. If your theme attempts to load a page in English, but the site is now displaying in French, WPML will deliver the French page instead of the English page.</p>
<p>To do this, WPML needs to query the database, look for the French translation and deliver this instead. This operation requires database access.</p>
<p>You can control how this works by enabling and disabling the feature called <strong>Adjust IDs for multilingual functionality</strong>, under WPML-&gt;Languages.</p>
<div id="attachment_9141" class="wp-caption alignnone" style="width: 310px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2012/01/auto-id-adjust.png"><img class="size-medium wp-image-9141" title="auto-id-adjust" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2012/01/auto-id-adjust-300x107.png" alt="" width="300" height="107" /></a><p class="wp-caption-text">Auto ID adjustment control</p></div>
<p>For smaller and less busy sites, it might not be worth the trouble. However, for busy and performance-critical sites, we recommend to disable this option and do the ID adjustments yourself.</p>
<p>Use WPML&#8217;s <a href="http://wpml.org/documentation/support/creating-multilingual-wordpress-themes/language-dependent-ids/">icl_object_id</a> function to do this manually, thereby saving many accesses on places where the ID conversion is not really required (but WPML cannot tell that). On this site, we handle ID conversion manually. It&#8217;s only needed in a handful of places.</p>
<h3>Separate WPML&#8217;s Impact</h3>
<p>While there are many things that you can optimize, which are not all related with WPML, we want to know that we&#8217;ve done our job right.</p>
<p>Grab a copy of your database and <strong>run it locally. Try with and without WPML</strong>.</p>
<p>If you see a huge change when you enable WPML, we want to know about it. By huge, I mean that it might take 70 queries without WPML and 900 queries with it.</p>
<p><strong>You can post about your experience here, or in our <a href="http://forum.wpm.org">technical forum</a> (better). If we need your database dump to reproduce this situation, we&#8217;ll email you to get it privately.</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=F0w6ur5EhB8:JR4jlo67UI0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=F0w6ur5EhB8:JR4jlo67UI0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=F0w6ur5EhB8:JR4jlo67UI0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=F0w6ur5EhB8:JR4jlo67UI0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=F0w6ur5EhB8:JR4jlo67UI0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=F0w6ur5EhB8:JR4jlo67UI0:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/F0w6ur5EhB8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2012/01/can-your-site-run-faster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpml.org/2012/01/can-your-site-run-faster/</feedburner:origLink></item>
		<item>
		<title>WPML Outlook for 2012</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/Ox1HeujmeKI/</link>
		<comments>http://wpml.org/2012/01/wpml-outlook-for-2012/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 11:28:05 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9090</guid>
		<description><![CDATA[I hope that you had a great holiday season. Just like you, we&#8217;re working on plans for 2012 and I want to share our. WPML became a commercial product in 2011. While last year, we focused on adding new features, our goal for this year is broader. We&#8217;re seeing major trends in the WordPress landscape, [...]]]></description>
			<content:encoded><![CDATA[<p>I hope that you had a great holiday season. Just like you, we&#8217;re working on plans for 2012 and I want to share our.</p>
<p>WPML became a commercial product in 2011. While last year, we focused on adding new features, our goal for this year is broader. We&#8217;re seeing major trends in the WordPress landscape, and intend for WPML to play a key role in them.</p>
<h2>WordPress Trends in 2012</h2>
<p>While WordPress became the dominant CMS in 2010 / 2011, we think that 2012 will see WordPress maturing as web-application. We&#8217;re already seeing a lot more focus on e-commerce, listing and review sites and other complete applications.</p>
<p>There are already new and exciting e-commerce plugins, joining the older and more well-known ones. It&#8217;s been great for everyone. As JigShop, WooCommerce and MarketPress came out, WP E-Commerce developers had to step up and revamp their code. No matter which e-commerce plugin you&#8217;re using today, you&#8217;re getting a much better product than you did a year ago.</p>
<p>Besides e-commerce, plugins that help customize WordPress have gotten extremely popular. Almost any WordPress site today uses something for custom fields and custom post types management. This means that we&#8217;re all using WordPress far beyond pages and posts.</p>
<p>There&#8217;s also a wide selection of great themes, that help build complex sites without any coding. Just drag the elements you want, where you want them, and you&#8217;re good to go.</p>
<p><strong>Our part is to provide you with a seamless integration experience, allowing you to create complex multilingual WordPress sites, with all these great features.</strong></p>
<h2>Mobile Everywhere</h2>
<p>Mobile web and touch screens are no longer somewhere over the horizon. They&#8217;re here now and they&#8217;re here to stay. If my 8 year-old knows how to operate a tablet &#8211; I can say for sure that that&#8217;s a winner.</p>
<p>We need to make sure that everything that runs well on a PC, also looks great on a tablet. For WPML, it means making it easy for admin and visitors to choose their language.</p>
<h2>Never Forget the Basics</h2>
<p>Trends are great, but we must never neglect our basics. These are the features that got WordPress and WPML to become so popular. To stay ahead, we need to always keep these basics in mind and in the code:</p>
<ul>
<li><strong>Stability</strong> &#8211; it needs to work without bugs or glitches</li>
<li><strong>Security</strong> &#8211; it must be bullet-proof secure</li>
<li><strong>Compatibility</strong> &#8211; it needs to work with other plugins and themes</li>
<li><strong>Performance</strong> &#8211; it must run lightening fast and stay lean</li>
<li><strong>Ease-of-use</strong> &#8211; it must be intuitive, even without having to read Help documents</li>
</ul>
<p>Stability, security and compatibility have been our main focus in 2011. We&#8217;re looking to boost performance even more in the next major release of WPML.</p>
<p>Our own sites run pretty fast because they&#8217;re already optimized. If you build a theme from scratch, you can guarantee its performance. We see most performance issues with complex themes that were not exactly designed to work with WPML. In the near future, I&#8217;ll write more and explain about how to check if your site&#8217;s performance is great and if there are things to improve. Then, we&#8217;ll be happy to receive test cases from you, showing where there are bottlenecks.</p>
<p>Also, we recognize the fact that as we added more and more features to WPML, its interface might have gotten a bit complex. We&#8217;ll be doing a major round of usability improvements and we&#8217;ll be happy to get feedback about it.</p>
<h2>Our Goals for 2012</h2>
<h3>Full Compatibility with all Major E-Commerce Plugins</h3>
<p>I know that we&#8217;ve been through this before and not always with the best results, but we feel that things are going much better now.</p>
<p>We&#8217;ve already got good compatibility with MarketPress and WooCommerce. JigShop is coming next and should be available in the next plugin release.</p>
<p>We finally managed to nail down the major issues with WP E-Commerce. With a bit of help from you guys, I hope that we can push our suggestions into WPEC code and be finally able to announce that it&#8217;s working great together.</p>
<h3>Allow Building Complex Multilingual Sites</h3>
<p>It took us six months, and now, we&#8217;re ready with <a href="http://wp-types.com">Types and Views</a> (still in Beta, but looking great). These two plugins are our solution for running complex WordPress sites, which are fully WPML compatible.</p>
<p>The upcoming Types and Views versions will allow to build things, never before seen with WordPress. We&#8217;re taking powerful features from web-development platforms, such as <strong>Ruby-on-Rails</strong> and implementing them inside Types and Views. We&#8217;ll try to give all that power, but without a fraction of the complexity. Yes, it&#8217;s a challenge.</p>
<p>This will allow building complex sites that have interconnected content types, inline lists of related data and other goodies. I&#8217;ll write more about that, as we approach the finish line.</p>
<p><strong>For multilingual sites, the challenge is to make everything easily translatable. Since we&#8217;re using WPML, Types and Views for our own sites, we&#8217;ll make sure that this happens.</strong></p>
<h3>Run Faster</h3>
<p>We want to see multilingual sites run faster, without having to spend days optimizing database queries. This means that WPML will pre-load and cache results and avoid hitting the database for content that it already loaded once. This is easier said than done. With different themes using the database very differently, we&#8217;ve got a lot of analysis and design work, before we can get down to coding.</p>
<h3>Be Simpler</h3>
<p>Simple can mean many things. Just having a minimalistic GUI doesn&#8217;t always mean it&#8217;s easy to quickly find what you&#8217;re looking to do. We want to make the entire user-experience around WPML better. This includes the site administration, content entry for writers and editors and translation process for translators.</p>
<p>We&#8217;re pretty used to how things are, so we&#8217;ve kinda developed a blind spot to usability issues. Suggestions are welcome <img src='http://d2salfytceyqoe.cloudfront.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h2>See You There!</h2>
<p>We&#8217;re very happy about how 2011 ended and we want to make sure that 2012 turns out even better. A lot of the new development in WPML was due to your feedback. Keep working with us to make WordPress, WPML and your projects the best they can be.</p>
<p><strong>If you have ideas or suggestions, leave comments here. For technical help, check out our <a href="http://forum.wpml.org">technical forum</a>.</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=Ox1HeujmeKI:WRlgjk63_ck:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=Ox1HeujmeKI:WRlgjk63_ck:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=Ox1HeujmeKI:WRlgjk63_ck:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=Ox1HeujmeKI:WRlgjk63_ck:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=Ox1HeujmeKI:WRlgjk63_ck:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=Ox1HeujmeKI:WRlgjk63_ck:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/Ox1HeujmeKI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2012/01/wpml-outlook-for-2012/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		<feedburner:origLink>http://wpml.org/2012/01/wpml-outlook-for-2012/</feedburner:origLink></item>
		<item>
		<title>Looking for Chinese and Japanese Support and Consultants</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/GTsFwx6A_Ls/</link>
		<comments>http://wpml.org/2011/12/looking-for-chinese-and-japanese-support-and-consultants/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 15:03:31 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9062</guid>
		<description><![CDATA[We want to provide localized support in both Japanese and Chinese and want to hire developers to help with that. If you live in Japan or China and want to work with us, we&#8217;d love to talk with you. This can be either full-time or part-time position. Your responsibilities would be: Helping in dedicated Japanese [...]]]></description>
			<content:encoded><![CDATA[<p><strong>We want to provide localized support in both Japanese and Chinese and want to hire developers to help with that.</strong></p>
<p>If you live in Japan or China and want to work with us, we&#8217;d love to talk with you. This can be either full-time or part-time position.</p>
<p>Your responsibilities would be:</p>
<ul>
<li>Helping in dedicated Japanese / Chinese sections of our forum</li>
<li>Representing us in local WordPress events (we pay all expenses)</li>
<li>Helping WPML marketing efforts in your country and getting a 30% affiliate commission for that</li>
</ul>
<p>This job will have a fixed pay and performance-based payment.</p>
<p><strong>If you&#8217;re interested, please use our <a href="http://wpml.org/home/contact-us/">contact form</a> and tell us a bit about yourself.</strong></p>
<table>
<tbody>
<tr>
<td style="width:50%;"><img class="size-full wp-image-9064 alignnone" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2011/12/japan-flag.gif" alt="" width="150" height="102" /></td>
<td style="width:50%;"><img class="alignnone size-full wp-image-9065" title="china-flag" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2011/12/china-flag.gif" alt="" width="150" height="98" /></td>
</tr>
</tbody>
</table>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=GTsFwx6A_Ls:2fWTXDLTqFM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=GTsFwx6A_Ls:2fWTXDLTqFM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=GTsFwx6A_Ls:2fWTXDLTqFM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=GTsFwx6A_Ls:2fWTXDLTqFM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=GTsFwx6A_Ls:2fWTXDLTqFM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=GTsFwx6A_Ls:2fWTXDLTqFM:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/GTsFwx6A_Ls" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2011/12/looking-for-chinese-and-japanese-support-and-consultants/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpml.org/2011/12/looking-for-chinese-and-japanese-support-and-consultants/</feedburner:origLink></item>
		<item>
		<title>Say Hello to Custom Fields Shortcodes</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/Uj-BRc0V73w/</link>
		<comments>http://wpml.org/2011/12/say-hello-to-custom-fields-shortcodes/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 18:53:24 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9053</guid>
		<description><![CDATA[We got a lot of requests to allow Views to work properly with any custom fields, regardless of which plugin they were created with (or no plugin at all). Well, please welcome Custom Fields Shortcodes. Custom Fields Shortcodes lets you insert shortcodes for any custom field, regardless of how it was created. With this, you [...]]]></description>
			<content:encoded><![CDATA[<p><strong>We got a lot of requests to allow Views to work properly with any custom fields, regardless of which plugin they were created with (or no plugin at all). Well, please welcome <a href="http://wordpress.org/extend/plugins/custom-fields-shortcodes/">Custom Fields Shortcodes</a>.</strong></p>
<div id="attachment_9056" class="wp-caption alignright" style="width: 160px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2011/12/insert-custom-field.png"><img class="size-thumbnail wp-image-9056" title="" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2011/12/insert-custom-field-150x115.png" alt="" width="150" height="115" /></a><p class="wp-caption-text">Custom Fields Shortcode popup</p></div>
<p><a href="http://wordpress.org/extend/plugins/custom-fields-shortcodes/">Custom Fields Shortcodes</a> lets you insert shortcodes for any custom field, regardless of how it was created. With this, you can easily add custom fields to post content without any coding.</p>
<p>But the real power is revealed when you use it in conjunction with <a href="http://wp-types.com/home/views-create-elegant-displays-for-your-content/">Views</a>. Then, you can design entire sites, create complex layouts and display any content, without writing a single line of code.</p>
<p>To top this off, <a href="http://wordpress.org/extend/plugins/custom-fields-shortcodes/">Custom Fields Shortcodes</a> uses the field output API that other custom field plugins create. When this API exists (like for the <em>Advanced Custom Fields</em> plugin), fields output will go through it. Instead of just dumping the custom field value to the output, you&#8217;ll get the complex output that the plugin developer intended.</p>
<p>Custom Fields Shortcodes is free. You can <strong>get it</strong>, <strong>rate it</strong> and <strong>vote for it</strong> in the WP plugins repository:</p>
<p><a href="http://wordpress.org/extend/plugins/custom-fields-shortcodes/">http://wordpress.org/extend/plugins/custom-fields-shortcodes/</a></p>
<p>Enjoy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=Uj-BRc0V73w:xOphqarp8h4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=Uj-BRc0V73w:xOphqarp8h4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=Uj-BRc0V73w:xOphqarp8h4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=Uj-BRc0V73w:xOphqarp8h4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=Uj-BRc0V73w:xOphqarp8h4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=Uj-BRc0V73w:xOphqarp8h4:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/Uj-BRc0V73w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2011/12/say-hello-to-custom-fields-shortcodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpml.org/2011/12/say-hello-to-custom-fields-shortcodes/</feedburner:origLink></item>
		<item>
		<title>WooCommerce Multilingual in Beta</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/EnggS4IsQa4/</link>
		<comments>http://wpml.org/2011/12/woocommerce-multilingual-in-beta/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 10:51:31 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9033</guid>
		<description><![CDATA[Using WooCommerce and want to run a multilingual site? Now you can. We&#8217;re ready with (beta) versions for WooCommerce, WooCommerce Multilingual and a new WPML version that supports them. The nice thing was that WooCommerce uses WordPress in a very clean way. This allowed us to turn it multilingual without resorting to any hacks. We [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Using WooCommerce and want to run a multilingual site? Now you can. We&#8217;re ready with (beta) versions for WooCommerce, WooCommerce Multilingual and a new WPML version that supports them.</strong></p>
<p>The nice thing was that WooCommerce uses WordPress in a very clean way. This allowed us to turn it multilingual without resorting to any hacks.</p>
<p>We added a few filters to WooCommerce, created a new glue plugins called &#8216;WooCommerce Multilingual&#8217; and added a bit of support for the new functionality in WPML.</p>
<p>To try all this, you&#8217;ll need to download:</p>
<ul>
<li><strong>WooCommerce 1.4 or above</strong> (it&#8217;s always a good idea to use the most recent version)</li>
<li><strong><a href="http://wordpress.org/extend/plugins/woocommerce-multilingual/">WooCommerce Multilingual</a></strong></li>
<li>The recent <strong>WPML </strong>version (from your WPML account)</li>
</ul>
<h2>How it works</h2>
<p>The glue plugin doesn&#8217;t have any GUI and there&#8217;s nothing to configure. It hooks to WooCommerce and makes it multilingual.</p>
<p>You&#8217;ll need to add translations for the standard shop pages and add the same shortcodes to them. This will let the checkout and other standard WooCommerce pages appear.</p>
<p><strong>There&#8217;s a complete <a href="http://wpml.org/documentation/related-projects/woocommerce-multilingual/">WooCommerce Multilingual Users Guide</a> which you should read when you get started.</strong></p>
<h2>Translating products</h2>
<p>Go to a product page. You&#8217;ll see the languages box. Add on the + icons to add translation. WPML automatically synchronizes the product attributes, such as cost, weight and other properties that should be the same for all languages.</p>
<p>You can also use WPML&#8217;s Translation Dashboard to mark products for translation and send all at once.</p>
<h2>Shipping and inventory tracking</h2>
<p>Shop owners will see all orders going through on the products in the default language. When visitors add products to the cart, WPML will convert them to the products in the default language. It coverts back to the current language for display purposes.</p>
<p>This means that you&#8217;re tracking inventory only once per product, no matter in which language it was ordered.</p>
<h2>Email notifications</h2>
<p>WPML will set the locale to the client&#8217;s language when you send your client emails. Meaning, if a client ordered a product when viewing it in French, the client will receive the notification emails in French. For this to happen, you need to have the .mo files for WooCommerce in each language.</p>
<h2>Feedback?</h2>
<p>This release is the result of weeks of planning and development. We&#8217;re eager to receive your feedback and hear about how it&#8217;s working for you. Once we know that things are good and complete, this will go into the WooCommerce official code and continue being maintained there.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=EnggS4IsQa4:Abs6zT0jtmU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=EnggS4IsQa4:Abs6zT0jtmU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=EnggS4IsQa4:Abs6zT0jtmU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=EnggS4IsQa4:Abs6zT0jtmU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=EnggS4IsQa4:Abs6zT0jtmU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=EnggS4IsQa4:Abs6zT0jtmU:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/EnggS4IsQa4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2011/12/woocommerce-multilingual-in-beta/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		<feedburner:origLink>http://wpml.org/2011/12/woocommerce-multilingual-in-beta/</feedburner:origLink></item>
		<item>
		<title>Adding RTL Support for WPML.org Theme</title>
		<link>http://feedproxy.google.com/~r/wpml/~3/8VGEgFbOoRk/</link>
		<comments>http://wpml.org/2011/12/adding-rtl-support-for-theme/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 09:39:44 +0000</pubDate>
		<dc:creator>Daniel Dvorkin</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=9019</guid>
		<description><![CDATA[A few days ago, we added Hebrew translation for WPML.org. The challenge was less about adding the translations more with making WPML.org theme display it correctly in right-to-left. Daniel (our support manager) wrote this post to explain what he did to add RTL support to our theme. These were the main challenges we faced: Swap [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago, we added <a href="http://wpml.org/he/">Hebrew translation for WPML.org</a>. The challenge was less about adding the translations more with making WPML.org theme display it correctly in right-to-left. Daniel (our support manager) wrote this post to explain what he did to add RTL support to our theme.</p>
<p>These were the main challenges we faced:</p>
<ul>
<li>Swap the navigation, footer and other theme elements from left to right</li>
<li>Adjust some fixed-position elements in the home page for proper RTL display</li>
<li>Swap all floating images in posts and pages from left to right and right to left</li>
<li>Display blog posts in the correct direction &#8211; we display both Hebrew or English for untranslated posts</li>
</ul>
<p>To handle all of them, we added an <em>rtl.css</em> file, which loads after the theme&#8217;s CSS. This file overrides attributes for RTL display and makes the required changes for Hebrew display.</p>
<h2>The CSS</h2>
<p>You have 2 options for showing the correct style and layout for your RTL language:</p>
<ol>
<li>Load your standard CSS and <strong>ALSO </strong>load a new CSS with only the specific changes for RTL</li>
<li>Load a new RTL CSS <strong>INSTEAD OF </strong>your standard CSS</li>
</ol>
<p>For this site we went with option 1 and we created a <a href="http://d2salfytceyqoe.cloudfront.net/wp-content/themes/sitepress/rtl.css.gzip">rtl.css</a> file, but you should know that if you prefer option 2, there is a really cool tool from Google called <a href="http://code.google.com/p/cssjanus/">CSSJanus</a>. This tool is a nifty python script that will read your CSS and change (almost all) the necessary values to convert your theme from LTR to RTL.</p>
<p>But as we did our CSS changes manually, here are the usual changes that you&#8217;ll most certainly need:</p>
<ul>
<li>Add <code>direction:rtl;</code> and <code>text-align:right;</code> to the body tag (or your content wrapper)</li>
<li>Change all <code>float:left;</code> to <code>float:right;</code> and the other way around.</li>
<li>Change all <code>margin-left</code> to <code>margin-right</code> and the other way around.</li>
<li>Look for objects with <code>position:absolute;</code> and move accordingly.</li>
<li>Look for objects with exact <code>background-position</code>, and move accordingly.</li>
</ul>
<p>You get the point, but <a href="http://code.google.com/p/cssjanus/source/browse/trunk/cssjanus_test.py">CSSJanus unit test case</a> will give you more cases that you need to check for.</p>
<h2>The HTML</h2>
<p>Be sure that you have the html tag correctly coded:</p>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml" &lt;?php language_attributes(); ?&gt;&gt;</pre>
<h2>The PHP</h2>
<p>If you proceed as we did using an extra CSS file, you can use WPML&#8217;s constant ICL_LANGUAGE_CODE to conditionally include that new CSS. In our case, the RTL language is Hebrew, so our conditional inserted just above the &lt;/head&gt; tag in header.php look like this:</p>
<pre>&lt;?php if (ICL_LANGUAGE_CODE == "he"): ?&gt;
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/rtl.css" type="text/css" media="screen" /&gt;
&lt;?php endif; ?&gt;</pre>
<p>That alone should do it, but we have another trick for you today. In <a href="http://wpml.org/he/%D7%91%D7%9C%D7%95%D7%92/">our hebrew blog</a> we have mixed languages. Some posts are in hebrew, some in english. So we needed a way to style each post in the loop give its language. Here is where the new <code>wpml_get_language_information </code>API function in WPML comes handy. This is how the start of our loop in our blog index looks like now:</p>
<pre>&lt;?php
while (have_posts()) : the_post();
    $lang_info = wpml_get_language_information(get_the_ID());
    $direction = $lang_info["text_direction"] == 1 ? "rtl" : "ltr";
?&gt;
    &lt;div id="post-&lt;?php the_ID(); ?&gt;"&gt;</pre>
<p>So now, each post is wrapped in a DIV with the correct class, which we can style correctly.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/wpml?a=8VGEgFbOoRk:4c6Bq_0DOSQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/wpml?i=8VGEgFbOoRk:4c6Bq_0DOSQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=8VGEgFbOoRk:4c6Bq_0DOSQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/wpml?i=8VGEgFbOoRk:4c6Bq_0DOSQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/wpml?a=8VGEgFbOoRk:4c6Bq_0DOSQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/wpml?i=8VGEgFbOoRk:4c6Bq_0DOSQ:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/wpml/~4/8VGEgFbOoRk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2011/12/adding-rtl-support-for-theme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://wpml.org/2011/12/adding-rtl-support-for-theme/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (Requested URI contains query)
Database Caching 54/130 queries in 0.127 seconds using apc
Object Caching 1111/1211 objects using apc
Content Delivery Network via Amazon Web Services: CloudFront: d2salfytceyqoe.cloudfront.net

Served from: wpml.org @ 2012-02-09 14:14:55 -->

