<?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; Multilingual</title>
	<atom:link href="http://wpml.org/category/multilingual/feed/" rel="self" type="application/rss+xml" />
	<link>http://wpml.org</link>
	<description>The Plugin for Building Multilingual WordPress Sites</description>
	<lastBuildDate>Tue, 22 May 2012 15:47:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>What&#8217;s Your Strategy for Multilingual SEO?</title>
		<link>http://wpml.org/2010/12/whats-your-strategy-for-multilingual-seo/</link>
		<comments>http://wpml.org/2010/12/whats-your-strategy-for-multilingual-seo/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 06:42:42 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=5744</guid>
		<description><![CDATA[WPML can put all languages in the same domain, in sub-domains or in completely different domains. What&#8217;s the best alternative from SEO point of view? When search engines go through a multilingual site, they need to understand which parts are in what language. This way, visitors get search results matching their own language. Google wants [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WPML can put all languages in the same domain, in sub-domains or in completely different domains. What&#8217;s the best alternative from SEO point of view?</strong></p>
<p>When search engines go through a multilingual site, they need to understand which parts are in what language. This way, visitors get search results matching their own language.</p>
<p>Google wants to return pages written in the user&#8217;s language. When a German reader is looking for something in English, often, Google would prefer to return German pages that talk about the same thing.</p>
<p>For this to happen, search engines need to know how your site&#8217;s languages are organized. Google looks at the big picture. It doesn&#8217;t care only about individual pages in the site, but how they are organized and the &#8216;big picture&#8217; of what your site is all about. This includes its languages.</p>
<h2>Language Negotiation Options in WPML</h2>
<p>WPML allows organizing contents in different languages in several ways:</p>
<ul>
<li>By adding a language parameter to URLs (<em>example.com/?lang=es</em>)</li>
<li>By putting different languages in directories (<em>example.com/es/</em>)</li>
<li>By putting each language in a different domain or sub-domain (<em>es.example.com</em> or <em>ejemplo.es</em>)</li>
</ul>
<p>You can control this from <strong>WPML-&gt;Languages</strong> menu.</p>
<div id="attachment_5751" class="wp-caption alignnone" style="width: 310px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/12/language-negotiation.png"><img class="size-medium wp-image-5751" title="language-negotiation" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/12/language-negotiation-300x86.png" alt="" width="300" height="86" /></a><p class="wp-caption-text">Language negotiation options in WPML</p></div>
<p><strong>SEO Implications</strong></p>
<p>From an SEO point of view, the first two alternatives are very similar. All languages will remain on the same domain, separated by either a language argument or language directory. The third option allows to place different languages on different domains. You can use that as either sub-domains (like <em>www.example.com</em>, <em>es.example.com</em>) or as completely different top-level domains.</p>
<p>Some say that Google local search loves localized top-level domains. Others say it doesn&#8217;t matter much and Google is intelligent enough not to care.</p>
<p><strong>What are you doing for your site?</strong> Take the poll and leave a message with your experience and results you&#8217;re seeing.</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
<p>I&#8217;ll be the first to go. On both WPML.org and <a href="http://www.icanlocalize.com/site/">ICanLocalize.com</a>, we use language directories. E.g., the same domain for all languages. My bet is that the 50,000 Ph.D&#8217;s working for Google are smart enough and I cannot manipulate search results with a simple technical change. Hey, I can be wrong!</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/12/whats-your-strategy-for-multilingual-seo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Professional Translation Tools</title>
		<link>http://wpml.org/2010/11/professional-translation-tools/</link>
		<comments>http://wpml.org/2010/11/professional-translation-tools/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 13:17:13 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=5597</guid>
		<description><![CDATA[The next major leap for WPML would be interface to CAT (computer automated translation) tools. These include Trados, Wordfast and other professional translation programs. As WPML 2.0 is getting ready, we&#8217;re already looking forward to the next big leap. If you&#8217;re using teams of translators, or a translation service, they surely care about working efficiently. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The next major leap for WPML would be interface to CAT (computer automated translation) tools. These include Trados, Wordfast and other professional translation programs.</strong></p>
<p>As WPML 2.0 is getting ready, we&#8217;re already looking forward to the next big leap. If you&#8217;re using teams of translators, or a translation service, they surely care about working efficiently. CAT tools are the way. They allow cutting down translation time and improving translation accuracy.</p>
<p>Translator who use CAT tools can see how the same expression was already translated before and produce consistent work. They work faster and produce better results.</p>
<p>WPML 2.0 makes it very easy to send content to translation. WPML 2.1 will complete the picture by simplifying the translation.</p>
<h2>Tell us how you and your clients use CAT tools</h2>
<p>We want to know how you and your clients are managing the translation work. The more we know, the better we can build it for you.</p>
<p>Take your time, send a few emails to your clients and help us get as much data as possible.</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/11/professional-translation-tools/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Theme Integrators Wanted</title>
		<link>http://wpml.org/2010/09/theme-integrators-wanted/</link>
		<comments>http://wpml.org/2010/09/theme-integrators-wanted/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 12:49:17 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=5410</guid>
		<description><![CDATA[WPML 2.0 lets themes tell it what needs translation. We&#8217;re looking for volunteers to take ownership of multilingual operation for major theme frameworks. Maybe I best start with an example. Property Listing Site Supposing you&#8217;re building a site that lists properties and you want it running multilingual. With WordPress 3, the correct way to build [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WPML 2.0 lets themes tell it what needs translation. We&#8217;re looking for volunteers to take ownership of multilingual operation for major theme frameworks.</strong></p>
<p>Maybe I best start with an example.</p>
<h2>Property Listing Site</h2>
<p>Supposing you&#8217;re building a site that lists properties and you want it running multilingual.</p>
<p>With WordPress 3, the correct way to build it would be by using custom post types for properties and custom taxonomies. Shared attributes (like zone and type) would use custom taxonomies and specific attributes, like price and location, would use custom fields.</p>
<p>Your client will add properties to the site and now it needs to be translated. This is where things get interesting.</p>
<p>How is the translator supposed to know how to operate this? It&#8217;s one thing having to train the client, but now you need to teach WordPress administration to several translators.</p>
<h2>Meet WPML&#8217;s Language Configuration Files</h2>
<p>WPML 2.0 will allow themes and plugin to tell it what needs translation. Now, your properly listing file can tell WPML that the &#8216;properties&#8217; type is multilingual, that it needs to copy the &#8216;price&#8217; and &#8216;address&#8217; custom fields to translations and that the &#8216;zone&#8217; custom taxonomy should be translated.</p>
<p>Translators will not need to know anything about WordPress in order to translate. When the admin sends properties to translation, WPML will collect all the relevant fields and taxonomy and send to translation. The translator will translate them as text fields and WPML will create back everything in WordPress.</p>
<p>For this to work, WPML will need to find the <em>language configuration file</em> in the theme.</p>
<h2>Language Configuration Files for Theme Frameworks</h2>
<p>Fortunately, most sites are not coded from scratch. Developers use theme frameworks as basis.</p>
<p>We&#8217;re looking for volunteers to test WPML 2.0 on different theme frameworks and build the <em>language configuration files</em> for them.</p>
<p>We&#8217;ll get two things from that:</p>
<ul>
<li>WPML and these frameworks will work perfectly together.</li>
<li>Any theme you base on these frameworks would be extra easy to translate.</li>
</ul>
<p>It&#8217;s good for you and good for your clients. Imagine how much time you&#8217;re going to save for your client and for yourself, when WPML knows how to translate the site. There&#8217;s nothing more to document or explain.</p>
<h2>Which Themes?</h2>
<p>For some time now, we&#8217;ve been working with major theme design houses to make sure that their themes are multilingual-ready. We&#8217;re looking for people to help maintain the <em>language configuration files</em> for <a href="http://wordpress.bytesforall.com/?page_id=40">Atahualpa</a>, <a href="http://themeshaper.com/">Thematic</a>, <a href="http://www.vivathemes.com/">Viva Themes</a>, <a href="http://woothemes.com/">WooThemes</a>, <a href="http://studiopress.com/">StudioPress</a> and other great themes (see list in the <a href="http://forum.wpml.org/">forum thread</a>).</p>
<p>If you&#8217;re using any of these themes, or a different popular theme framework, join that thread. In the forum, we can paste code snips and XML contents, so we can exchange information easily.</p>
<p><strong>You&#8217;ll get to work with WPML&#8217;s developers directly, improve WPML and make it work much better with your theme frameworks. What are you waiting for?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/09/theme-integrators-wanted/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>The Future of Multilingual WordPress</title>
		<link>http://wpml.org/2010/08/the-future-of-multilingual-wordpress/</link>
		<comments>http://wpml.org/2010/08/the-future-of-multilingual-wordpress/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 09:43:54 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Multilingual]]></category>
		<category><![CDATA[New features]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=5181</guid>
		<description><![CDATA[Running a multilingual site is a challenge. It starts with the theme development, continues with building the site and ends with administering multilingual contents. The next major version of WPML aims to improve on all aspects. Just a year ago, people used WordPress mainly to build blogs. Most themes were blog-oriented. Then, came magazine themes [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Running a multilingual site is a challenge. It starts with the theme development, continues with building the site and ends with administering multilingual contents. The next major version of WPML aims to improve on all aspects.</strong></p>
<p>Just a year ago, people used WordPress mainly to build blogs. Most themes were blog-oriented.</p>
<p>Then, came magazine themes and now we&#8217;re seeing more and more product-related sites. This explains the gold rush of E-Commerce for WordPress.</p>
<p>But, as things become more complex, getting it fully multilingual is turning very difficult.</p>
<p>For example, how would you handle these?</p>
<ul>
<li><strong>Indicate which custom fields need translation</strong></li>
<li><strong>Choose which custom post types and taxonomy to translate</strong></li>
<li><strong>Choose which admin strings (stored in wp_options) to translate</strong></li>
<li><strong>Restrict access for translators to their languages</strong></li>
<li><strong>Send notification to translators about new work</strong></li>
<li><strong>Keep track of translation progress</strong></li>
</ul>
<p>With the current design of WPML, all these questions are difficult to answer.</p>
<h2>Full Integration with Themes</h2>
<p>WPML 2.0 will read a <em>translation configuration file</em> from the theme. <strong>This configuration file will tell WPML everything it needs to know about making the theme multilingual.</strong></p>
<p><img class="alignright size-full wp-image-5200" title="templatic_ecommerce_small1" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/08/templatic_ecommerce_small1.jpg" alt="" width="173" height="195" />It will be a simple XML file, which both humans and WPML can easily read. So, instead of having to go through dozens of check-boxes and menu options, the theme can come prepared with its multilingual settings.</p>
<p>When people use themes that include <em>translation configuration files</em>, they can start translating immediately. No changes to do and nothing to set up (except choose your languages).</p>
<p>As a great example, keep a close eye on <a href="http://templatic.com/">Templatic</a>&#8216;s <a href="http://templatic.com/news/let-us-beta-test-e-commerce-framework">E-commerce framework</a>. We&#8217;re working closely with the developer to make E-commerce multilingual ready as soon as WPML 2.0 is ready.</p>
<h2>Working with Translators</h2>
<p>So, once we&#8217;re using a theme with a <em>translation configuration file</em>, we&#8217;ll need to manage the translation process itself.</p>
<p>As site developers, this may seem like a small problem (to the content admins), but we&#8217;re actually talking about a <strong>huge challenge for your clients</strong>.</p>
<p>With single-language sites, you need to train the client about how to use WordPress. When you deliver multilingual sites, you need to teach the client and the translators. Clients may have good technical background but most translators are way behind. They know translation tools inside and our but have no idea what WordPress is.</p>
<p>To solve this, we&#8217;re separating between site admin and translation. Completely.</p>
<p>As it works today, admins click on these cools + buttons and add translations. That&#8217;s great. It just gets a bit more work when they also need to match categories, tags, custom fields and parents.</p>
<p>Then, when you&#8217;re also using custom post types, the translators will need to manually scan posts, pages, tags, categories and all custom types to find what&#8217;s changed. That&#8217;s a lot of work for someone who doesn&#8217;t know WordPress.</p>
<p>Again, WPML 2.0 changes all that.</p>
<p><strong>Everything that needs translation will appear in the </strong><em><strong>Translation Dashboard</strong></em><strong>.</strong></p>
<div id="attachment_5187" class="wp-caption alignnone" style="width: 310px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/08/new-translation-dashboard.png"><img class="size-medium wp-image-5187" title="new-translation-dashboard" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/08/new-translation-dashboard-300x186.png" alt="" width="300" height="186" /></a><p class="wp-caption-text">The new Translation Dashboard in WPML 2.0</p></div>
<p>This page is for admins only (not translators). Admins choose what to translate, to which languages and by who.</p>
<p>Then, they click on the button to send to translation.</p>
<p>WPML will send notification emails to all translators, telling them about the new work. It will include a link to the <em>translation jobs queue</em>.</p>
<p>When translators click on that link, they see a list of jobs waiting for them. Each translator sees the jobs in his/her language pair.</p>
<p>Translators click on each job and arrive at the <em>Unified Translation Editor</em>.</p>
<div id="attachment_5057" class="wp-caption alignnone" style="width: 299px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/07/translation-editor.png"><img class="size-medium wp-image-5057" title="translation-editor" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/07/translation-editor-289x300.png" alt="" width="289" height="300" /></a><p class="wp-caption-text">The Unified Translation Editor in WPML 2.0</p></div>
<p><em>* This screenshot is a bit outdated. The editor will include WYSIWYG editors for all text fields</em></p>
<p>Translators don&#8217;t really need to care what they&#8217;re translating. <strong>They use a special translation editor where they translate everything.</strong></p>
<p>The editor shows the original text and the translation side-by-side. They complete the translation and click on <strong>Save</strong>.</p>
<p>Then, WPML puts everything back into place.</p>
<p>Remember that <em>translation configuration file</em> that the theme includes? This is how WPML knows what needs translation and where to return everything.</p>
<p><strong>Translators don&#8217;t need any privileged in WordPress to translate.</strong> They don&#8217;t even need writer or editor rights. Site admins choose which language pair they can translate between and WPML takes care of everything else.</p>
<h2>Want in Too?</h2>
<p>We&#8217;re building this fancy new translation system based on great user feedback.</p>
<p>If you&#8217;re building themes, leave a comment here. <strong>We&#8217;d love to work with you towards WPML 2.0 and make sure that it covers everything that your theme can do!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/08/the-future-of-multilingual-wordpress/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Multilingual CMS Page Tree</title>
		<link>http://wpml.org/2010/07/multilingual-cms-page-tree/</link>
		<comments>http://wpml.org/2010/07/multilingual-cms-page-tree/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 19:17:50 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=5127</guid>
		<description><![CDATA[Many folks who use WPML look at WordPress as a CMS, not just a blogging tool. Pär Thernström&#8216;s CMS Tree Page View makes using WordPress as CMS a lot easier. CMS Tree Page View shows WordPress pages as a tree, instead of a (useless) list. You can expand and collapse branches and move pages around. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Many folks who use WPML look at WordPress as a CMS, not just a blogging tool. <a href="http://eskapism.se">Pär Thernström</a>&#8216;s <a href="http://wordpress.org/extend/plugins/cms-tree-page-view/">CMS Tree Page View</a> makes using WordPress as CMS a lot easier.</strong></p>
<p><a href="http://wordpress.org/extend/plugins/cms-tree-page-view/">CMS Tree Page View</a> shows WordPress pages as a tree, instead of a (useless) list. You can expand and collapse branches and move pages around. It&#8217;s a very useful feature if your site is made up of pages and not only blog posts.</p>
<p>Until just last week CMS Tree Page View had no concept of language. All pages were created the same. Pär and I talked and decided to change this. By adding a language selector to the Tree Page and applying the standard WordPress filters, CMS Tree Page View now works multilingual.</p>
<p>You can choose which language to arrange pages in and the pages tree will include only pages in that language.</p>
<p>This change is not released yet and you&#8217;re invited to test it. <strong>Grab the development version from here:</strong></p>
<p><a href="http://bit.ly/c2kmdf">http://bit.ly/c2kmdf</a></p>
<p>Place in your <em>plugins</em> directory, unzip and activate.</p>
<p>Once you do that, you&#8217;ll get a new menu under Pages, allowing you to order pages as a tree. This is the original demo video for the plugin (without the language selector yet):</p>
<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/H4BGomLi_FU&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed  src="http://www.youtube.com/v/H4BGomLi_FU&#038;fs=1" type="application/x-shockwave-flash" width="500" height="400" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>We&#8217;d love to get your feedback about CMS Tree Page View. You can leave comments here or directly in <a href="http://eskapism.se">Pär&#8217;s site</a>.</p>
<h2>Just Pages?</h2>
<p><span style="text-decoration: line-through;">For now, CMS Tree Page View works on pages only. Pär says that soon, there will also be a version that supports custom types.</span></p>
<p>EDIT: <strong>This Beta version already supports custom post types!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/07/multilingual-cms-page-tree/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Custom Types in WordPress 3 Simplified Our Site</title>
		<link>http://wpml.org/2010/05/custom-types-in-wordpress-3-simplified-our-site/</link>
		<comments>http://wpml.org/2010/05/custom-types-in-wordpress-3-simplified-our-site/#comments</comments>
		<pubDate>Tue, 25 May 2010 13:10:17 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[CMS sites with WordPress]]></category>
		<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4761</guid>
		<description><![CDATA[Using custom post types and custom taxonomies, we were able to turn icanlocalize.com from a big mess into an elegant website, that&#8217;s easy to maintain and translate. It was really fun building icanlocalize.com using WordPress. The visual editor and media management make it easy to get contents online quickly. But, like many newly weds, after [...]]]></description>
			<content:encoded><![CDATA[<p>Using custom post types and custom taxonomies, we were able to turn icanlocalize.com from a big mess into an elegant website, that&#8217;s easy to maintain and translate.</p>
<p>It was really fun building icanlocalize.com using WordPress. The visual editor and media management make it easy to get contents online quickly. But, like many newly weds, after the initial excitement, real problems begin surfacing.</p>
<h2>Custom Types Turn WordPress into a CMS</h2>
<p>A content management system lets you edit contents without having to worry about how these contents appear on the page.</p>
<p>For example, have a look at this <a href="http://www.icanlocalize.com/site/services/website-translation/">website translation</a> page:</p>
<div id="attachment_4766" class="wp-caption alignnone" style="width: 310px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/05/icanlocalize-service-page.png"><img class="size-medium wp-image-4766" title="icanlocalize-service-page" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/05/icanlocalize-service-page-300x237.png" alt="" width="300" height="237" /></a><p class="wp-caption-text">Page with different elements</p></div>
<p>This page includes:</p>
<ul>
<li>Navigation</li>
<li>Page title and body</li>
<li>Testimonials</li>
</ul>
<p>We wanted testimonials to automatically appear in the right pages. For instance, this page only includes testimonials of clients who use our website translation service. Other testimonials that talk about iPhone localization, don&#8217;t appear in this page. They would appear in the <a href="http://www.icanlocalize.com/site/services/software-localization/iphone-application-localization/">iPhone localization</a> service page.</p>
<p>Until WordPress 3, you could build this using pages and custom fields. That&#8217;s great, but causes a big mess. It&#8217;s difficult to set up and even worse to maintain. And, it gets much worse when running multilingual.</p>
<p>Now, it&#8217;s all clear and simple. Let&#8217;s start with the setup.</p>
<h2>Adding Custom Types from the Theme</h2>
<p>Since the testimonials type is added to our site, the place to declare them is in the theme. All it takes is this code:</p>
<pre>register_taxonomy(
  'service_type',
  array('post', 'page'),
  array(
    'hierarchical' =&gt; true,
    'label' =&gt; 'Service type',
    'query_var' =&gt; true,
    'rewrite' =&gt; true
  )
);

register_post_type( 'testimonial',
  array(
    'description' =&gt; __( 'Testimonials.' ),
    'labels' =&gt; array(
    'name' =&gt; __( 'Testimonials' ),
    'singular_name' =&gt; __( 'Testimonial' ),
    'add_new' =&gt; __( 'Add New' ),
    'add_new_item' =&gt; __( 'Add New Testimonial' ),
    'edit' =&gt; __( 'Edit' ),
    'edit_item' =&gt; __( 'Edit Testimonial' ),
    ...
  'taxonomies' =&gt; array('service_type'),
  ...</pre>
<p>Once we&#8217;ve added this to the theme, we get a new <strong>Testimonial</strong> section in the WordPress admin.</p>
<div id="attachment_4767" class="wp-caption alignnone" style="width: 298px"><a href="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/05/testimonials-menu.png"><img class="size-medium wp-image-4767" title="testimonials-menu" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/05/testimonials-menu-288x300.png" alt="" width="288" height="300" /></a><p class="wp-caption-text">Admin menu with testimonials</p></div>
<h2>Displaying Custom Types in Standard Pages</h2>
<p>So now, we were able to create testimonials as a new type. We&#8217;ve even added a service-type tag which says what the testimonials are about.</p>
<p>Next, we need to actually display the testimonials in pages.</p>
<p>We will collect all the testimonials that before to each service type and add them to that page.</p>
<p>What we do is:</p>
<pre>$query = array('suppress_filters'=&gt;0, 'post_type'=&gt;'testimonial',
   'service_type'=&gt;$terms[0]-&gt;slug, 'showposts'=&gt;$number);</pre>
<p>And, we&#8217;re done. Each page would automatically display all the testimonials for the service it talks about.</p>
<h2>Multilingual, Out of the Box</h2>
<p>WPML creates copies of the data in each language and associates them as translations. If you&#8217;re translating a testimonial, you&#8217;re actually creating another testimonial page in a different language. WPML assigns the language values and joins all translations together.</p>
<p>When our code requests the testimonial for a given service-type, it will automatically get them in the right language. This is because the service types are translated too and each translated page is automatically associated with the service type in the right language.</p>
<p>This may sound a bit complicated, but it all happens behind the scenes. In practice, you don&#8217;t need to do anything. Just translate everything and things &#8216;magically&#8217; display in the right language.</p>
<h2>Teaser &#8211; Using Views to Display Custom Data</h2>
<p>In order to display testimonials on each page we had to write a piece of PHP code as a plugin. We love PHP and do it all day, but not everyone is like that.</p>
<p>Wouldn&#8217;t it be great if a plugin could display custom data in flexible ways? We&#8217;d like to be able to paginate, sort and do all sorts of basic operations.</p>
<p>We&#8217;ll supply the HTML / CSS and the plugin would get us the data to display.</p>
<p>Drupal folks are already giggling. It&#8217;s called <a href="http://drupal.org/project/views">Views</a> &#8211; one of the most popular Drupal modules.</p>
<p>We&#8217;ve already started working on <a href="http://wordpress.org/extend/plugins/views/">Views</a> for WordPress. There&#8217;s no release yet, so this page doesn&#8217;t even exist, but it&#8217;s getting there. Once we&#8217;re done adding support to all the cool new features of WordPress 3 for WPML, we&#8217;re getting back to Views.</p>
<div>
<dl id="attachment_4767"></dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/05/custom-types-in-wordpress-3-simplified-our-site/feed/</wfw:commentRss>
		<slash:comments>9</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>News Stuff for WPML on WordPress 3.0</title>
		<link>http://wpml.org/2010/03/news-stuff-for-wpml-on-wordpress-3-0/</link>
		<comments>http://wpml.org/2010/03/news-stuff-for-wpml-on-wordpress-3-0/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 16:35:42 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Multilingual]]></category>
		<category><![CDATA[New features]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4394</guid>
		<description><![CDATA[We&#8217;ve started working on supporting the new CMS features in WordPress 3 and would love to get some early feedback from you guys. Menu system One of the best things about WordPress 3, came from WooThemes. It&#8217;s the new menu builder system. Instead of getting menus auto-generated according to page IDs you can now control [...]]]></description>
			<content:encoded><![CDATA[<p><strong>We&#8217;ve started working on supporting the new CMS features in WordPress 3 and would love to get some early feedback from you guys.</strong></p>
<h2>Menu system</h2>
<p>One of the best things about WordPress 3, came from <a href="http://www.woothemes.com">WooThemes</a>. It&#8217;s the new menu builder system.</p>
<p>Instead of getting menus auto-generated according to page IDs you can now control exactly what appears in your site&#8217;s menu. This includes mixing pages and categories, dragging things to their places and controlling their order. It&#8217;s cool.</p>
<p>A multilingual site will surely need a multilingual menu and there are two approaches to it:</p>
<ul>
<li>Separate menu per language</li>
<li>Translation for menu items</li>
</ul>
<p>While each of these alternatives has its advantage, we&#8217;re leaning towards a single menu with translated items. We still have to check and make sure that WordPress has all the hooks in place to allow WPML to translate menu items, but if that&#8217;s the case, it would probably be easier for folks to use.</p>
<p>What will happen is that you manage the menu for the default language and WPML will allow translating the different menu items. If an item is for a page, the menu item will just include the title of the page&#8217;s translation. If you&#8217;re entering titles manually, you&#8217;ll use WPML&#8217;s string translation to translate these titles.</p>
<p><strong>What would you like to see? If you&#8217;ve already built sites with the Woo menu generator do you have ideas about translating them?<br />
</strong></p>
<h2>Custom post types</h2>
<p>Many (including ourselves) consider this to be the most important feature in WordPress 3.</p>
<p>If you&#8217;re using WordPress for a blog, you&#8217;re not going to notice this feature at all. However, anyone building complex sites with WordPress will appreciate this features right away.</p>
<p>For example, building our <a href="http://wpml.org/showcase/">showcase</a> would have gone much simpler if we could define custom showcase pages. It would eliminate the need to use a special template and enter details in custom fields.</p>
<p>WPML should support custom post types just like the current WordPress posts and pages. You&#8217;ll have the language box there and can determine the language and translations.</p>
<p>However, some issues are still open.</p>
<p>Posts and pages have a fixed structure and we could hook to their pages and add WPML&#8217;s magic. We&#8217;ll have to be a bit more flexible when dealing with custom types.</p>
<p><strong>Have you tried custom post types on WordPress 3 Alpha? Any ideas about language support for it?</strong></p>
<h2>Custom taxonomies</h2>
<p>WordPress already has custom taxonomies today, but very few folks use them. WP3 promises to make custom taxonomies easier to use. Along with custom post types, I think we&#8217;re going to see a huge rise in the popularity of both.</p>
<p>Right now, WPML doesn&#8217;t translate custom taxonomies at all and we&#8217;re going to work on that for WordPress 3.</p>
<h2>Ideas anyone?</h2>
<p>We&#8217;ve just started to scratch the surface with WordPress 3. If you&#8217;ve already studied it better, let us know.</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/03/news-stuff-for-wpml-on-wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Multilingual e-Commerce with WordPress</title>
		<link>http://wpml.org/2010/02/multilingual-e-commerce-with-wordpress/</link>
		<comments>http://wpml.org/2010/02/multilingual-e-commerce-with-wordpress/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 11:39:39 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4156</guid>
		<description><![CDATA[Update (April 3, 2011): WP E-Commerce 3.8 is out and it looks like it works fine with WPML. Test it and let us know how it&#8217;s going. A week ago we wrote about sponsoring support for niche development and now we&#8217;re getting ready start with the first multilingual e-commerce solution for WordPress. Three folks &#8211; [...]]]></description>
			<content:encoded><![CDATA[<div style="margin: 2em; padding: 1em 1em 0 1em; border: 1pt solid #80FF80; background: #F0FFF0;">
<p>Update (<em>April 3, 2011</em>): WP E-Commerce 3.8 is out and it looks like it works fine with WPML. Test it and let us know how it&#8217;s going.</p>
</div>
<p><strong>A week ago we wrote about <a href="http://wpml.org/2010/02/paid-support-for-commercial-sites/">sponsoring support for niche development</a> and now we&#8217;re getting ready start with the first multilingual e-commerce solution for WordPress.</strong></p>
<p>Three folks &#8211; Nicolas Harnois (<a href="http://2associes.com/">2 Associés</a>), Dan Milward (<a href="http://www.instinct.co.nz/e-commerce/">WordPress e-Commerce Plugin</a>) and <a href="http://level-level.com/">Level Level</a> have agreed to sponsor this work.</p>
<p>Since we have an interested co-sponsor, we&#8217;ll naturally be starting with <a href="http://www.instinct.co.nz/e-commerce/">WordPress e-Commerce</a>.</p>
<h2>What&#8217;s a multilingual e-commerce solution?</h2>
<p>An e-commerce plugin is like a CMS inside a CMS. It has its own database with products, shopping carts and transactions. Going multilingual means that products need to have language attributes and be translatable.</p>
<p>Then, the entire shopping, checkout and delivery process needs to run in the language in which the product was viewed.</p>
<p>Of course, people would also need to be able to pay in different currencies. That&#8217;s not exactly language related, but still should be supported.</p>
<h2>How</h2>
<p>WPML includes a mechanism for hooking to other plugins.  We call it <a href="http://wpml.org/?page_id=3274">compatibility packages</a>.</p>
<p>The idea is that the e-commerce plugin continues working the same in one language. When WPML also runs, it will use hooks and filters in the e-commerce plugin to add the language information. This is exactly what WPML does with WordPress core as well.</p>
<p>On the e-commerce plugin side, we&#8217;ll need to make sure that there are filters in place for adding the language attributes. For instance, WPML needs to add language selectors to product pages, and translation controls to product administration.</p>
<p>Once all these filters and hooks are in place, WPML can make any plugin fully multilingual, just for the users who need it. Makes sense?</p>
<h2>When</h2>
<p>We got word that WP e-Commerce is updating now. We&#8217;ll work together with the folks from <strong>Instinct</strong> to make this new release multilingual-ready. We&#8217;re very excited about this and can&#8217;t wait to get started!</p>
<p><strong>If you&#8217;re running an e-commerce WordPress site and want to see it running multilingual, let us know. We&#8217;ll be looking for early adopters to test and give feedback.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/02/multilingual-e-commerce-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>84</slash:comments>
		</item>
		<item>
		<title>Controlling admin language</title>
		<link>http://wpml.org/2010/02/controlling-admin-language/</link>
		<comments>http://wpml.org/2010/02/controlling-admin-language/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 20:11:40 +0000</pubDate>
		<dc:creator>Amir</dc:creator>
				<category><![CDATA[Feature Spotlight]]></category>
		<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4097</guid>
		<description><![CDATA[WPML allows each use to have a different admin language for WordPress. I&#8217;ll show how to determine this and set the locale so that WordPress admin displays correctly in each language. Site languages versus admin language WPML allows WordPress sites to run in different languages. This means that one language becomes the default language and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WPML allows each use to have a different admin language for WordPress. I&#8217;ll show how to determine this and set the locale so that WordPress admin displays correctly in each language.</strong></p>
<h2>Site languages versus admin language</h2>
<p>WPML allows WordPress sites to run in different languages. This means that one language becomes the default language and other languages are added. So far, nothing new.</p>
<p>By default the default site language is also the admin language.</p>
<p>Without WPML, you can set the site&#8217;s language by setting the <em>WPLANG </em>variable in <em>wp-config.php</em>. <strong>When WPML is enabled, the WPLANG variable is ignored.</strong> Instead, WPML sets the site&#8217;s languages.</p>
<p>Visitors see the language according to the page they&#8217;re viewing. Admins can choose in which language to administrate WordPress. The default is to have the same language, but it can be changed.</p>
<h2>Choosing a different Admin language</h2>
<p>First, you need to put WPML into Advanced mode. To do this, click on <strong>Go Advanced</strong> at the top of any page in WPML&#8217;s menu.</p>
<p>Go to <strong>WPML-&gt;Languages</strong>. Then, scroll down to where it says <strong>Admin language</strong>.</p>
<div id="attachment_4098" class="wp-caption alignnone" style="width: 626px"><img class="size-full wp-image-4098 " title="default_admin_language" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/02/default_admin_language.png" alt="" width="616" height="153" /><p class="wp-caption-text">Default admin language setting</p></div>
<p>You can choose any of the site&#8217;s languages there. Once set, WordPress admin pages will appear in that language, unless users select a different language for themselves (up next).</p>
<h2>Individual admin language per user</h2>
<p>If you&#8217;re running a multilingual site, it&#8217;s very likely that different authors would like to see things in different languages. WPML makes that possible.</p>
<p>Each user should go to the profile page (<strong>Users-&gt;Your profile</strong>). Scroll to the bottom to where it says <strong>WPML language settings</strong>. There are several settings there and right now, we&#8217;re interested in the admin language.</p>
<p>Look at where it says <strong>Select your language</strong>. The default value is to use the default admin language (which we just set before).</p>
<div id="attachment_4100" class="wp-caption alignnone" style="width: 658px"><img class="size-full wp-image-4100 " title="per-user-language" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/02/per-user-language.png" alt="" width="648" height="50" /><p class="wp-caption-text">Admin language for each user</p></div>
<p>This setting is per user and whatever each user selects here doesn&#8217;t influence other users. Any user can select the admin language, which overrides the default values.</p>
<h2>Making WordPress display correctly for each language</h2>
<p>In order for WordPress to display correctly in different languages, you need to have the localization files installed and the correct locale selected per language.</p>
<p>WPML comes with default locales for most languages, but you need to install the localization files for WordPress.</p>
<p>To do this, go to <strong>WPML-&gt;Theme and plugins localization</strong>.</p>
<p>You can choose one of the two options, to use .mo files to translation by WPML. When you will see a table with locale values per language. This table will already include the correct locales, as WPML determines, but you can edit it.</p>
<div id="attachment_4102" class="wp-caption alignnone" style="width: 626px"><img class="size-full wp-image-4102 " title="locale-settings" src="http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/02/locale-settings.png" alt="" width="616" height="325" /><p class="wp-caption-text">Locale settings per language</p></div>
<p>WPML shows you if the .mo file for WordPress exists in the <strong>wp-includes/languages</strong> folder. If it says <em>File exists</em>, it means that WordPress admin will display in the correct language. Otherwise, you need to make sure that the .mo file is in place and that the locale code (<strong>Code</strong> field) is correct.</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/02/controlling-admin-language/feed/</wfw:commentRss>
		<slash:comments>6</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)
Content Delivery Network via Amazon Web Services: CloudFront: d2salfytceyqoe.cloudfront.net

Served from: wpml.org @ 2012-05-22 15:49:49 -->
