<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>WPML &#187; Themes</title>
	<atom:link href="http://wpml.org/category/themes/feed/" rel="self" type="application/rss+xml" />
	<link>http://wpml.org</link>
	<description>The Plugin for Building Multilingual WordPress Sites</description>
	<lastBuildDate>Tue, 07 Feb 2012 11:39:24 +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" />
		<item>
		<title>Why We&#8217;re So Eager to Work with Theme Developers</title>
		<link>http://wpml.org/2011/05/why-were-so-eager-to-work-with-theme-developers/</link>
		<comments>http://wpml.org/2011/05/why-were-so-eager-to-work-with-theme-developers/#comments</comments>
		<pubDate>Thu, 26 May 2011 17:32:27 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Themes]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=7595</guid>
		<description><![CDATA[Since making WPML a commercial plugin, we&#8217;ve been spending significant resources working with other developers on their themes and plugins. This gave WPML a huge boost in quality faster than we could ever do alone. You&#8217;d be surprised about how complex things can get. It&#8217;s very easy to keep testing and validating the same things [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Since making WPML a commercial plugin, we&#8217;ve been spending significant resources working with other developers on their themes and plugins. This gave WPML a huge boost in quality faster than we could ever do alone.</strong></p>
<p>You&#8217;d be surprised about how complex things can get. It&#8217;s very easy to keep testing and validating the same things while overlooking bugs in hidden corners. We found that the best way to uncover and fix bugs is by always testing against something different.</p>
<p>Testing WPML repeatedly with the default theme is like searching for your keys under the flashlight. It&#8217;s nice to see that you haven&#8217;t broken anything basic, but it&#8217;s not going to reveal anything new.</p>
<p>On the other hand, when we test against new themes, we always find something. In some cases, these are real bugs. In other cases, those are missing essential features and in other cases, we learn about usability problems.</p>
<p>For example, this week we worked on <a href="http://themeforest.net/item/striking-premium-corporate-portfolio-wp-theme/128763">Striking Theme</a>, <a href="http://themeforest.net/item/brightbox-business-portfolio-wordpress-theme/233917">BrightBox</a> and <a href="http://themeforest.net/item/display-3-in-1-business-portfolio-wordpress-/74542">3 in 1 Business Portfolio</a>. You can see the results <a href="http://ml-themes.wpml.org/striking/">here</a> and <a href="http://ml-themes.wpml.org/brightbox/">here</a>. We found a couple of bugs in both WPML and in the themes and now they&#8217;re fully compatible. Hurray!</p>
<p>As a result of these bug fixes and improvements, many developers using WPML are getting a better experience for other themes. When we carefully debug themes, it&#8217;s like a sterile operating environment. We turn on WP_DEBUG and pay attention to every single notice. Even if it&#8217;s not visible on the screen, it still shouldn&#8217;t be there.</p>
<p>These innocent-looking notices can manifest into serious problems under other conditions, so paying full attention to them helps save valuable time later.</p>
<h2>Get Your Theme Vendors to Play With Us</h2>
<p>When we check which theme authors cooperate best with us, we often find messages about WPML in their support forums. It&#8217;s much easier to get the attention of (very busy) theme developers when they already know that their clients are asking for multilingual support.</p>
<p>Then, when we contact them, we&#8217;re greeted with open arms and warm cooperation. We saw that with the great team from <a href="http://headwaythemes.com/">Headway</a> and from <a href="http://www.woothemes.com/">WooThemes</a>. As a result, both WPML and their theme got a great boost forward and clients get a great experience. Whatever time we&#8217;ve spent investigating their code, we already made back in support.</p>
<p>If you read through our support forum, you&#8217;re going to see very few support requests for themes that we&#8217;ve handled. You spend the time once and enjoy the benefits for months.</p>
<p>So, if you&#8217;re using a theme framework that hasn&#8217;t been fully tested with WPML, head over to their support forum and mention WPML. When you hear back the slightest sign of interest, let us know and we&#8217;ll initiate contact. A short while after this, you&#8217;ll see that all your issues are magically resolved.</p>
<p><strong>What theme framework are you using? Leave a message and tell us about it!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2011/05/why-were-so-eager-to-work-with-theme-developers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Improve Theme Compatibility and Get WPML for Free</title>
		<link>http://wpml.org/2011/02/improve-theme-compatibility-and-get-wpml-for-free/</link>
		<comments>http://wpml.org/2011/02/improve-theme-compatibility-and-get-wpml-for-free/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 07:32:07 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Themes]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=6576</guid>
		<description><![CDATA[We do our best to make WPML compatible with premium themes, but only people who know and use these themes can really test it all. Help us and get your free lifetime account for WPML. With dozens of theme development houses and hundreds of commercial themes, it&#8217;s impossible for us to test every theme configuration [...]]]></description>
			<content:encoded><![CDATA[<p><strong>We do our best to make WPML compatible with premium themes, but only people who know and use these themes can really test it all. Help us and get your free lifetime account for WPML.</strong></p>
<p>With dozens of theme development houses and hundreds of commercial themes, it&#8217;s impossible for us to test every theme configuration with WPML.</p>
<p>If you&#8217;re using a premium theme and want to make sure WPML works with it, and are willing to put in a bit of work, we&#8217;ll give you lifetime access to WPML and work with you to make it happen.</p>
<p>Here is how it works:</p>
<ol>
<li>Check the <a href="http://wpml.org/documentation/theme-compatibility/">theme compatibility list</a> and see if the theme you&#8217;re interested in is not covered already.</li>
<li><a href="http://wpml.org/home/contact-us/">Contact us</a> and tell us which theme want to be responsible for.</li>
<li>We&#8217;ll send you the current development version of WPML. This version always includes the most up-to-date code with fixes for any known issues.</li>
<li>Check the theme with WPML and write a report. If anything is wrong, we&#8217;ll work to fix it. Most commercial theme developers are happy to work with us, but they too need someone who will help test. That&#8217;s you!</li>
<li>We create your lifetime WPML account. You&#8217;ll be able to download all production versions of WPML, use the forum and keep making sure that things work together.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2011/02/improve-theme-compatibility-and-get-wpml-for-free/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Multilingual Themes that Translate Well</title>
		<link>http://wpml.org/2010/04/multilingual-themes-that-translate-well/</link>
		<comments>http://wpml.org/2010/04/multilingual-themes-that-translate-well/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 08:30:25 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Multilingual]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4534</guid>
		<description><![CDATA[GetText allows translating texts in themes and plugins, but in order to work right, you must create texts that translate well. We&#8217;ll show you frequent mistakes and how to correct them. GetText is a GNU&#8217;s text localization package. It allows replacing text in one language with texts in another language. We&#8217;ve already talked about using [...]]]></description>
			<content:encoded><![CDATA[<p><strong>GetText allows translating texts in themes and plugins, but in order to work right, you must create texts that translate well. We&#8217;ll show you frequent mistakes and how to correct them.</strong></p>
<p><a href="http://www.gnu.org/software/gettext/">GetText</a> is a GNU&#8217;s text localization package. It allows replacing text in one language with texts in another language.</p>
<p>We&#8217;ve already talked about <a href="http://wpml.org/2009/05/wordpress-theme-localization/">using GetText to build multilingual themes</a>. Now, we&#8217;ll talk about how to make the theme&#8217;s texts translatable, from the translator&#8217;s point of view.</p>
<h2>Complete sentences only, please</h2>
<p>Translators cannot accurately translate single words. They need to see the entire sentence in order to translate correctly.</p>
<p>For example, what does <strong><em>You must be</em></strong> mean?</p>
<p>In English, the word <strong><em>be</em></strong> has one meaning. But, in Spanish, <strong><em>be</em></strong> mean what you are (<em>ser</em>) or where you are (<em>estar</em>). There&#8217;s no way a translator can translate this correctly without seeing the entire sentence.</p>
<p>This is the code that&#8217;s responsible for the text:</p>
<p><code>&lt;?php _e('You must be') ?&gt; &lt;a href="&lt;?php echo get_option('siteurl'); ?&gt;/wp-login.php?redirect_to=&lt;?php echo urlencode(get_permalink()); ?&gt;"&gt;&lt;?php _e('logged in') ?&gt;&lt;/a&gt; &lt;?php _e('to post a comment.') ?&gt;</code></p>
<p>So, what do we do?</p>
<h2>Using full sentences with placeholders</h2>
<p>What we&#8217;ve actually done in this example is concatenate several parts into a sentence. The way we did it broke the sentence into different pieces, losing all meaning in the process.</p>
<p>Here is this same thing, built with a single sentence a placeholder:</p>
<p><code>&lt;?php printf(__( 'You must be &lt;a%s&gt;logged in&lt;/a&gt; to post a comment' ), ' href="'.get_option('siteurl') . '/wp-login.php?redirect_to=' . urlencode(get_permalink()) . '"') ?&gt;</code></p>
<p>What we&#8217;ve done is:</p>
<ol>
<li>Create one large text that includes a placeholder.</li>
<li>Use printf to replace the placeholder with an actual value.</li>
</ol>
<p>The translator now needs to translate this sentence:</p>
<blockquote><p><em>You must be logged in to post a comment</em></p></blockquote>
<p>The translator can easily translate this entire sentence.  No questions to ask and no problems translating!</p>
<p>Besides being easier to translate, we need to remember that in different languages words appear in different order. Supplying the complete sentence with placeholders will allow the translator to flip the order of words and produce grammatically correct (and sensible) transaltions.</p>
<h2>Really advanced case (appears in every WP site)</h2>
<p>Look at this PHP code. It appears in almost every WordPress site in the comments section.<br />
<code>&lt;h3&gt;&lt;?php comments_number(__('No Responses'), __('One Response'), __('% Responses') );?&gt;<br />
&lt;?php _e('to') ?&gt; &amp;#8220;&lt;?php the_title(); ?&gt;&amp;#8221;&lt;/h3&gt;</code></p>
<p>The translator would have to translate the word <strong><em>to</em></strong>. But, it&#8217;s impossible without understanding how <strong><em>to</em></strong> is used in the sentence.</p>
<p>The word <strong><em>to</em></strong> is part of a sentence, which would be:</p>
<blockquote><p>3 Responses <strong>to</strong> new widgets</p></blockquote>
<p>Once the translator sees the entire sentence, it all becomes clear and easy to translate.</p>
<p>To turn this into a single sentence, we&#8217;ll use this PHP code:<br />
<code>&lt;h3&gt;&lt;?php printf(__('%s to %s'),<br />
get_comments_number_ml(__('No Responses'), __('One Response'), __('% responses') ),<br />
'&amp;#8220;' . get_the_title() . '&amp;#8221;')?&gt;&lt;/h3&gt;</code></p>
<p>This code produces a full sentence to translate. Now, the translator can produce correct translation to your comments heading.</p>
<p><em>Note: we&#8217;ve replaced the standard WP get_comments_number with an identical function that returns the comment count as a value and doesn&#8217;t echo to the screen. You can download this PHP code from <a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/04/get_comments_number_ml.zip">get_comments_number_ml.zip</a>.</em></p>
<h2>What about your themes?</h2>
<p>Are your multilingual themes built for correct translation?</p>
<p>An easy way to test is to open your <em>.po</em> file in <em>poedit</em> and review the strings. If you&#8217;re seeing anything that isn&#8217;t clear by itself, look for it in the source and revise.</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/04/multilingual-themes-that-translate-well/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building a Company Site with Thesis and WPML</title>
		<link>http://wpml.org/2010/04/building-a-company-site-with-thesis-and-wpml/</link>
		<comments>http://wpml.org/2010/04/building-a-company-site-with-thesis-and-wpml/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 04:15:04 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4497</guid>
		<description><![CDATA[Intro In this guest post, Wolf-Dieter Grabner, tells about building a multilingual corporate site using WordPress, Thesis theme and WPML. Wolf-Dieter gives both the why and the how, which are equally interesting. It shows how WordPress is used as a time saving tool for both the web developer and the client. The Client SBA Roll [...]]]></description>
			<content:encoded><![CDATA[<h2>Intro</h2>
<p><em>In this guest post, </em><a href="http://www.theflow.cc/"><em>Wolf-Dieter Grabner</em></a><em>, tells about building a multilingual corporate site using WordPress, Thesis theme and WPML.</em></p>
<p><em>Wolf-Dieter gives both the why and the how, which are equally interesting. It shows how WordPress is used as a time saving tool for both the web developer and the client.</em></p>
<h2>The Client</h2>
<p><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/04/SBA-english-version.png"><img class="alignright size-medium wp-image-4500" title="SBA-english-version" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/04/SBA-english-version-215x300.png" alt="" width="215" height="300" /></a><a href="http://www.sba-rss.com/">SBA Roll Shop Solutions</a> is one of the leading manufacturers of roll grinders. While most of us haven&#8217;t seen these high precision devices in real life, a lot of everyday products like paper or metal foils depend on extremely even rolls.</p>
<p>In January 2010 SBA approached me through one of my clients, asking me for a new homepage, as the old one was still based on frames and static HTML pages.</p>
<p>We had a short time available, because there was an upcoming conference in South America that the company was going to attend so designing the website first and writing the content afterwards was not a good option. I supplied the members of the company&#8217;s marketing with a basic setup of <a href="http://www.wordpress.org/">WordPress</a> and <a href="http://www.diythemes.com/">Thesis</a> and they could easily start writing the content right away.</p>
<h2>WordPress and Thesis</h2>
<p>What I really like about WordPress is the ease of use in comparison to other content management system for this type of site (for example <a href="http://www.typo3.org">Typo3</a> or <a href="http://www.drupal.org/">Drupal</a>). If you can use a text editor or word processor, you&#8217;re ready to use WordPress. Thanks to plugins like <a href="http://www.wpml.org/">WordPress Multi Language (WPML)</a>, even very complex sites work surprisingly well.</p>
<p>Clients often have problems imagining a prototype or draft version if is looking too rough and unfinished. After using quite a lot of open-source and custom-made templates, I have been switching to <a href="http://www.pearsonified.com/">Chris Pearson&#8217;s</a> <a href="http://www.diythemes.com/">Thesis Framework</a> for all recent projects: I find it to be the best solution to design prototypes. It is very easy to customize, once you are accustomed to the use of the custom CSS file and the template&#8217;s hooks system. By keeping the template and the adaptions for the individual site separate, updating the template does not imply any changes to the site.</p>
<h2>Going International</h2>
<p><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/04/SBA-chinese-version.png"><img class="alignright size-thumbnail wp-image-4501" title="SBA-chinese-version" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/04/SBA-chinese-version-150x125.png" alt="" width="150" height="125" /></a>Right from the start, SBA wanted the site to be available in multiple languages. About one month after the <a href="http://www.sba-rss.com/">English version</a>, also the <a href="http://www.sba-rss.com/zh-hans/">Chinese version</a> went online; German will follow.</p>
<p>Setting up WPML took about five minutes. Apart from choosing the languages, almost nothing was changed from the defaults.</p>
<h2>Using WPML with Thesis</h2>
<p>Thesis&#8217; default drop-down menu is quite nice as you can rearrange the items in the theme&#8217;s preferences and also rename pages. Nevertheless, it does not work with WPML right out of the box: it&#8217;s showing all languages of an individual page at the same time instead of just the current language.</p>
<p>As an alternative, one can use WPML&#8217;s drop down menu but it does not support more than two levels, which was not meeting the client&#8217;s requirements. <a href="http://www.adahas.com/work/navigo/">Navigo 1.2</a> offers XHTML strict output, works with WPML and offers custom classes and IDs for formatting the drop down menu. It proved to be a nice companion to <a href="http://users.tpg.com.au/j_birch/plugins/superfish/">Superfish</a>, a jQuery enhanced drop down menu.</p>
<p>Using Thesis <code>custom_functions.php</code>, the navigation can easily be added to the template:</p>
<h2>Adding your own Navigation to Thesis</h2>
<pre>function custom_thesis_nav_menu() {
    echo ('&lt;div id="top-nav"&gt;&lt;div id="top-nav-fix"&gt;');
    if(function_exists('navigo')) {
      navigo('sort_column=menu_order&amp;level1=sf-menu&amp;level2=l2&amp;level3=l3');
    }
    echo ('&lt;/div&gt;&lt;/div&gt;');
}

remove_action('thesis_hook_before_header', 'thesis_nav_menu');
add_action('thesis_hook_before_html', 'custom_thesis_nav_menu');</pre>
<p>The example shows a simple function that&#8217;s creating the needed nesting and also calling navigo with some parameters to get the desired markup.</p>
<p>After removing the default Thesis navigation, the new function is added to the appropriate hook. Two div-tags were used to fix the position of the drop down menu even when scrolling the page. After adding the Superfish CSS markup to the template&#8217;s custom.css file, everything works nicely. When not pinning the menu to the top of the page, you can of course use <code>thesis_hook_before_header</code> for it. The following source snippet allows you to use the default drop down menu of WPML with Thesis:</p>
<pre>function thesis_navigation_wpml() {
    do_action('icl_navigation_menu');
}

remove_action('thesis_hook_before_header', 'thesis_nav_menu');
add_action('thesis_hook_before_header', 'thesis_navigation_wpml');</pre>
<h2>Breadcrumb Navigation</h2>
<p>Because of the large number of pages, we have also added WPML&#8217;s breadcrumb navigation to the site. Again, by using <code>custom_template.php</code>, it&#8217;s a matter of minutes:</p>
<pre>function custom_thesis_WPMLbreadcrumbs() {
    echo ('&lt;div id="breadcrumbs"&gt;');
    do_action('icl_navigation_breadcrumb');
    echo ('&lt;/div&gt;');
}

add_action('thesis_hook_before_content', 'custom_thesis_WPMLbreadcrumbs');</pre>
<p>Add some custom styles to <code>custom.css</code> and you&#8217;re done.</p>
<h2>Experience and next Steps</h2>
<p>WPML works just the way it should &#8211; even details like the XML sitemaps plugin. Being able to teach via Skype a Chinese sales person how to use the tool for translating the site is certainly a good thing.</p>
<h2>About the author</h2>
<p><em><img class="alignleft size-thumbnail wp-image-4505" title="wolf-dieter_0342" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/04/wolf-dieter_0342-100x150.jpg" alt="" width="100" height="150" />As a photographer with an engineering background and a business degree, Wolf-Dieter Grabner regularly works for clients like Coke, Universal Music, the Vienna Musikverein or Austrian petrol company OMV.</em></p>
<p><em>He&#8217;s lecturing visual communications at Linz University for Art and Industrial Design and still, he enjoys working on web projects a lot. One thing all his jobs have in common? Changing perspectives and bringing new views.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/04/building-a-company-site-with-thesis-and-wpml/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Free Professional Translation for WordPress Themes</title>
		<link>http://wpml.org/2010/02/free-professional-translation-for-wordpress-themes/</link>
		<comments>http://wpml.org/2010/02/free-professional-translation-for-wordpress-themes/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 22:57:32 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[Themes]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4283</guid>
		<description><![CDATA[WPML, through ICanLocalize, is now offering completely free professional translation for any WordPress theme to over 16 major languages. How we&#8217;re doing it No, we&#8217;re not crazy. We&#8217;ve built a powerful resource file localization system, we&#8217;re using it ourselves and for a tiny additional cost we can offer free translation for anyone who needs it. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WPML, through <a href="http://www.icanlocalize.com/site/">ICanLocalize</a>, is now offering completely free professional translation for any WordPress theme to over 16 major languages.</strong></p>
<h2>How we&#8217;re doing it</h2>
<p>No, we&#8217;re not crazy. We&#8217;ve built a powerful resource file localization system, we&#8217;re using it ourselves and for a tiny additional cost we can offer free translation for anyone who needs it.</p>
<p>We&#8217;re localizing our own themes for <a href="/">wpml.org</a> and <a href="http://www.icanlocalize.com/site/">icanlocalize.com</a> and we&#8217;ve &#8216;discovered&#8217; that other themes share most of the texts. Stuff like <em>leave a comment</em>, <em>page not found</em> and other texts just repeat in all sites.</p>
<p>Now that we&#8217;ve added about a dozen themes (first one is <a href="http://www.vivathemes.com/wordpress-themes/unsaid-words/">Unsaid Words</a> from our friends at <a href="http://www.vivathemes.com/">VivaThemes</a>), each new theme includes just a few more words to translate. The rest of the theme&#8217;s strings are already translated.</p>
<h2>Free translation for your themes too</h2>
<p>Let&#8217;s start with the fine print. To get free translation for your theme, it needs to meet a few requirements:</p>
<ul>
<li>The theme needs to be localization ready (all strings wrapped in gettext calls).</li>
<li>The theme&#8217;s text are in English.</li>
<li>WPML should run correctly with the theme. If the theme uses standard WordPress API call, it should be fine.</li>
<li>We&#8217;ll only work with friendly people.</li>
</ul>
<p><strong>Passed all tests? Let&#8217;s start!</strong></p>
<ol>
<li>Create a <a href="https://www.icanlocalize.com/users/new?utype=Partner">partner account</a>. It&#8217;s free and takes a minute.</li>
<li>Open a support ticket, tell about your theme and attach it to the ticket.</li>
<li>We&#8217;ll create a new page for you in our theme localization project. Here&#8217;s an example &#8211; <a href="http://www.icanlocalize.com/i18n/unsaidwords">Unsaid Words translations page</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/02/free-professional-translation-for-wordpress-themes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Video Tutorial &#8211; localizing themes using WPML</title>
		<link>http://wpml.org/2009/12/video-tutorial-localizing-themes-using-wpml/</link>
		<comments>http://wpml.org/2009/12/video-tutorial-localizing-themes-using-wpml/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 15:09:21 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=3694</guid>
		<description><![CDATA[This tutorial shows how to translate your theme using WPML&#8217;s built-in translation interface. It works without any .mo files and you can edit translations from within WPML directly. The video (3 minutes) www.youtube.com/watch?v=B0B4AD4FC6CC4161 Steps to follow Go to the WPML menu and click on Advanced. Go to Theme localization. Select to translate the theme using [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This tutorial shows how to translate your theme using WPML&#8217;s built-in translation interface. </strong>It works without any .mo files and you can edit translations from within WPML directly.</p>
<h2>The video (3 minutes)</h2>
<p><span class="youtube">
<iframe  title="YouTube video player" class="youtube-player" type="text/html" src="http://www.youtube.com/p/B0B4AD4FC6CC4161?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;modestbranding=1&amp;loop=&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1" width="425" height="344" frameborder="0" allowfullscreen></iframe>
</span><p><a href="http://www.youtube.com/view_play_list?p=B0B4AD4FC6CC4161">www.youtube.com/watch?v=B0B4AD4FC6CC4161</a></p></p>
<h2><span id="more-3694"></span>Steps to follow</h2>
<ol>
<li>Go to the WPML menu and click on <strong>Advanced</strong>.</li>
<li>Go to <strong>Theme localization</strong>.</li>
<li>Select to <strong>translate the theme using WPML</strong>.</li>
<li>Make sure that the <strong>language locales are set correctly</strong> and that the WordPress .mo files are found in <em>wp-includes/languages</em>.</li>
<li>Review your themes strings and click to <strong>translate untranslated strings</strong>. This will send you to WPML String translation page.</li>
<li>Click on <em>translations</em>, next to each string, <strong>translate and save</strong>.</li>
</ol>
<p>Any edits that you make in WPML&#8217;s translation interface will appear in the site immediately. You don&#8217;t need to upload anything or change anything in the theme.</p>
<p>To work, the theme needs to be multilingual-ready. All strings need to be wrapped in <em>gettext</em> calls and have a textdomain argument. This is already standard practice for most WordPress themes. If you&#8217;re creating your own theme, you can check out the post about <a href="http://wpml.org/2009/05/wordpress-theme-localization/">how to build a multilingual-ready theme</a>.</p>
<h3>More reading</h3>
<ul>
<li><a href="http://wpml.org/documentation/getting-started-guide/theme-localization/">Theme localization in WPML&#8217;s getting started guide</a></li>
<li><a href="http://wpml.org/documentation/support/creating-multilingual-wordpress-themes/">Building multilingual themes</a> (the comprehensive guide)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2009/12/video-tutorial-localizing-themes-using-wpml/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Multilingual Atahualpa theme</title>
		<link>http://wpml.org/2009/08/multilingual-atahualpa-theme/</link>
		<comments>http://wpml.org/2009/08/multilingual-atahualpa-theme/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 23:25:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=2320</guid>
		<description><![CDATA[I&#8217;m going to show how to use Atahualpa, by Bytes For All, for building multilingual WordPress sites using WPML. A theme for a multilingual WordPress site needs to have all strings wrapped in gettext calls, but it&#8217;s not quite enough. Using gettext in the theme allows it to display in a different (single) language from [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2009/08/atahualpa_screenshot.jpg"><img class="size-medium wp-image-2323 alignright" title="atahualpa screenshot" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2009/08/atahualpa_screenshot-300x209.jpg" alt="atahualpa screenshot" width="300" height="209" /></a><strong>I&#8217;m</strong><strong> going to show how to use <a href="http://wordpress.org/extend/themes/atahualpa">Atahualpa</a>, by <a href="http://wordpress.bytesforall.com/">Bytes For All</a>, for building multilingual WordPress sites using WPML.</strong></p>
<p>A theme for a multilingual WordPress site needs to have all strings wrapped in gettext calls, but it&#8217;s not quite enough. Using gettext in the theme allows it to display in a different (single) language from what it was originally built with.</p>
<p>To run multilingual, the theme needs to to allow visitors to choose their display language and deliver the correct content per language.</p>
<h2>A multilingual version for Atahualpa</h2>
<p>Let&#8217;s start at the end. Here is a <a href="http://themes.wpml.org/?preview=1&amp;stylesheet=atahualpa&amp;template=atahualpa">demo site powered with a modified version of Atahualpa</a> and here is the <a href="http://media.icanlocalize.com/wordpress_themes/atahualpa.zip">modified theme</a> which you can download and use.</p>
<h2>What we changed to make Atahualpa multilingual</h2>
<h3>1. Adding wpml-integration.php to the theme&#8217;s directory</h3>
<p>wpml-integration.php is found in WPML&#8217;s directory under <em>docs/theme-integration</em>. It includes a collection of functions which help turn themes into multilingual.</p>
<p>All these functions are designed to make themes use WPML if it&#8217;s active or ignore it if it&#8217;s missing. This means that the theme would run multilingual if WPML is available or normally (single language) otherwise.</p>
<p>Added to <strong>functions.php</strong>:</p>
<pre>include dirname(__FILE__) . '/wpml-integration.php';</pre>
<p>This statement loads wpml-integration.php and makes it available to all the files in the theme.</p>
<h3>2. Adding language selectors</h3>
<p>Language selectors make it possible for visitors to choose the language in which the site is displayed. Often, it&#8217;s a good idea to add several types of language selectors. Visitors scan the site quickly and look for visual hints to contents in their languages. Different people look at different places, so adding different types of language selectors to different parts of the page will help move visitors find their language.</p>
<p>We added WPML&#8217;s drop-down language selector to the sidebar by adding it to <strong>header.php</strong>:</p>
<pre>&lt;?php wpml_languages_selector() ?&gt;</pre>
<div id="attachment_2331" class="wp-caption alignnone" style="width: 171px"><img class="size-full wp-image-2331" title="atahualpa_drop_down_language_selector" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2009/08/atahualpa_drop_down_language_selector.png" alt="atahualpa_drop_down_language_selector" width="161" height="180" /><p class="wp-caption-text">Drop down language selector</p></div>
<p>We also added a horizontal list of languages to the site&#8217;s footer. Many users first scroll all the way to the bottom to see what&#8217;s there (and how long pages are), so it&#8217;s a good place to tell pages are available in other languages. We added the following code to <strong>footer.php</strong>:</p>
<pre>&lt;?php wpml_languages_list() ?&gt;</pre>
<div id="attachment_2333" class="wp-caption alignnone" style="width: 530px"><em><img class="size-full wp-image-2333" title="atahualpa_horizontal_language_selector" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2009/08/atahualpa_horizontal_language_selector.png" alt="Horizontal language selector in footer" width="520" height="38" /></em><p class="wp-caption-text">Horizontal language selector in footer</p></div>
<p>Finally, we added a language selector at the end of each post. This adds a sentence to each post, telling in what other languages it&#8217;s available. Added the following to <strong>index.php</strong> (which includes a custom version of WordPress&#8217; display loop):</p>
<pre>&lt;?php if(is_singular()) wpml_content_languages(); ?&gt;</pre>
<div id="attachment_2336" class="wp-caption alignnone" style="width: 303px"><img class="size-full wp-image-2336" title="atahualpa_content_languages_list" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2009/08/atahualpa_content_languages_list.png" alt="List of translation languages" width="293" height="27" /><p class="wp-caption-text">List of translation languages</p></div>
<h3>3. Making the home page link go to each language&#8217;s home</h3>
<p>When visitors click on &#8216;Home&#8217;, they expect to get to the home page without switching language. Since each language has a &#8216;home page&#8217; with a different URL, a single value for all will not work.</p>
<p>Normally, WordPress themes calculate the address for the &#8216;Home&#8217; page based on the &#8216;Blog URL&#8217; value set in the admin page. WPML created a function that calculates the correct home address according to the display language.</p>
<p>We replaced <strong>get_option(&#8216;home&#8217;)</strong> with <strong>wpml_get_home_url()</strong>. Also, the get_option(&#8216;home&#8217;) function returns the site&#8217;s localication without a trailing slash (/), so themes add it manually. WPML&#8217;s function includes this slash (there&#8217;s a long story behind this).</p>
<p>To do this change, we had to edit two files. Modified <strong>functions/bfa_get_options.php</strong> and change:</p>
<pre>$bfa_ata['get_option_home'] = get_option('home');</pre>
<p>into</p>
<pre>$bfa_ata['get_option_home'] = wpml_get_home_url();</pre>
<p>Also, edited <strong>functions/bfa_header_config.php</strong> and removed the trailing slash from the home page link:</p>
<pre>'&lt;a href="' . $bfa_ata['get_option_home'] . '"&gt;' . $bfa_ata['bloginfo_name'] . '&lt;/a&gt;'</pre>
<h3>4. Really advanced &#8211; translating texts users enter in the theme admin screen</h3>
<p>Atahualpa allows controlling some texts through the admin screen. This is a great thing which allows to manage the site without editing PHP files. WPML can translate these strings too using its String Translation mechanism.</p>
<p>To do this, the theme needs to tell WPML which strings need to be translated and then display the translation if it exists.</p>
<p>When users go to the theme&#8217;s admin screen, update the texts and click on Save, the function <strong>bfa_ata_add_admin</strong> from <strong>functions/bfa_ata_add_admin.php</strong> is executed. We added the following section to it (starting at line 11):</p>
<pre>global $wpml_translatable_strings;
 foreach($wpml_translatable_strings as $wpml_str ){
   if(isset($_REQUEST['bfa_ata_'.$wpml_str]) &amp;&amp; trim($_REQUEST['bfa_ata_'.$wpml_str])){
    wpml_register_string('atahualpa theme', $wpml_str, stripslashes($_REQUEST['bfa_ata_'.$wpml_str]));
  }
 }</pre>
<p>What this does it run through a list of strings defined in the global variable <strong>$wpml_translatable_strings</strong>. It registers each string in WPML&#8217;s string translation list.</p>
<p>The first argument is the context for the strings. Any name would go, but you should select a name that describes the strings. The second argument is the name for the string (doesn&#8217;t get translated). The last argument is the value of the string &#8211; gets translated.</p>
<p>To display the translations (if they exist), we added the <strong>wpml_t</strong> function to <strong>functions/bfa_get_options.php</strong> (starting at line 204):</p>
<pre>global $wpml_translatable_strings;
foreach($bfa_ata as $k=&gt;$v){
   if(in_array($k, $wpml_translatable_strings) || $__first){
    $bfa_ata[$k] = wpml_t('atahualpa theme', $k, $v);     
  }
}</pre>
<p>This code is run when the site is displayed to visitors. It will loop through the list of strings, check if it&#8217;s been registered for translation (<strong>in_array</strong>) and if so, get the translation. The <strong>wpml_t</strong> function will return the translated string in the current language, if translation exists, or just return the original string if there&#8217;s no translation.</p>
<h2>Turning other WordPress themes multilingual</h2>
<p>We&#8217;ve already done similar work on <a href="http://wordpress.org/extend/themes/inove">iNove</a> and <a href="http://wordpress.org/extend/themes/arras-theme">Arras</a> and are planning to convert more themes to multilingual.</p>
<p>Our intention is to provide ready-to-use multilingual themes and help you build your own multilingual-ready themes. Using the techniques we described here, you can build themes that will run multilingual when WPML is available or in a single language without WPML.</p>
<p>If you&#8217;re building themes and need help turning them multilingual, feel free to open new threads in the <a href="http://forum.wpml.org">forum</a>.</p>
<p>You can also make money (really passive income) by adding multilingual support to your themes. We&#8217;ll talk about including affiliate IDs in themes in the next post.</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2009/08/multilingual-atahualpa-theme/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Themes for WordPress CMS</title>
		<link>http://wpml.org/2008/12/themes-for-wordpress-cms/</link>
		<comments>http://wpml.org/2008/12/themes-for-wordpress-cms/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 17:36:43 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Themes]]></category>

		<guid isPermaLink="false">http://design.icanlocalize.com/?p=222</guid>
		<description><![CDATA[Continuing my ongoing discussion about using WordPress as a CMS platform, today I would like to discuss themes. One of the really great things about WordPress is the tremendous amount of themes that are available and how easy it is to install and try them out.  I admit to being somewhat of a theme junkie [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing my ongoing discussion about using WordPress as a CMS platform, today I would like to discuss themes. One of the really great things about WordPress is the tremendous amount of themes that are available and how easy it is to install and try them out.  I admit to being somewhat of a theme junkie and will download several at a time to see how they would look on one of my sites. If you find you too like to try out new themes it is a good idea to have a practice or dummy site set up with your favorite plugins and some content to see how it all works together. After a while you will find those theme features you really like and also those you do not want on your websites.</p>
<p>To find themes you can google &#8216;WordPress themes&#8217; and get enough feedback to keep you busy for days. Instead of the google approach I usually go first to the <a href="http://wordpress.org/extend/themes/" target="_blank">themes section</a> of WordPress.org. As I write this there are 532 themes available for download at WordPress.org.  A great source for new themes is <a href="http://weblogtoolscollection.com/" target="_blank">weblog tools collection</a> which highlights a collection of new themes every week or so.These are sources for free themes, premium themes are the subject for another post.</p>
<p>When you are looking for a theme as a CMS application the features to consider are different than for a theme that will be used for a blog. Two features that will be most important for your WordPress website will be the page template (pages will hold most of the content of your site) and the menu system (websites usually need a more extensive navigation system than a blog). To illustrate these points I am going to discuss a couple of sites I have built and why I chose the theme they use.</p>
<p>My first WordPress CMS site was for my wife&#8217;s ceramic studio, <a href="http://www.mvdesmalte.com/" target="_blank">Pintalo Tu</a>. My search for a theme led me<a href="http://wpml.org/wp-content/imported/2008/12/cms-theme.jpg"><img class="alignright size-thumbnail wp-image-230" src="http://wpml.org/wp-content/imported/imported/2008/12/cms-theme-150x93.jpg" alt="cms-theme" /></a> to the Drikatruu Jelly theme. The Jelly theme was designed to use as a CMS and gives the beginning WordPress website designer lots tips and directions on how to modify the theme to fit the user&#8217;s desires. Besides the very informative website the theme is well documented in the PHP and CSS files to help make many of the typical changes to personalize the theme. I liked the theme for the all white style to highlight the colors in the content. The horizontal menu was fine for the simple nature of the site. One nice feature of the theme is an additional page template without the sidebar.</p>
<p>For my next site I wanted to get away from the typical WordPress layout of header, main column and 1 <a href="http://wpml.org/wp-content/imported/2008/12/biz-card.jpg"><img class="alignright size-thumbnail wp-image-242" src="http://wpml.org/wp-content/imported/imported/2008/12/biz-card-150x93.jpg" alt="biz-card" /></a>or 2 sidebars. I ended up going with a premium theme from <a href="http://ithemes.com/" target="_blank">iThemes</a>. The <a href="http://businesscard.ithemes.com/" target="_blank">Business Card</a> theme comes with 6 color combinations. The layout of the theme and site is compact and I have used nested pages to guide readers through the site. I like the fact that the entire home page fits on the screen (or close). The picture rotator on the top of the main column is definitely a plus for a real estate oriented site. I would like to have a more robust menu in the side bar and I will be working on that in the near future. You can see how the theme worked out for my <a href="http://www.ubuyuruguay.com/" target="_blank">site here</a>.</p>
<p>These examples are from the someone (me) who has very little programming knowledge and was able to put together WordPress websites that accomplish my purpose. For a truly top-drawer looking WP based website I suggest finding a designer that specializes in WP to give you something really unique (sounds like another upcoming post).</p>
<p>Finally, before the fun of installing WordPress and trying out a bunch of themes make sure you have a good outline of the content you want on your site and how you want it organized. That will take you a long way to finding the theme that fits the image you are trying to project.</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2008/12/themes-for-wordpress-cms/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</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 is rejected)
Database Caching 40/135 queries in 0.143 seconds using apc
Object Caching 1071/1163 objects using apc
Content Delivery Network via Amazon Web Services: CloudFront: d2salfytceyqoe.cloudfront.net

Served from: wpml.org @ 2012-02-09 02:31:37 -->
