<?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>Achaleon. Marketing and Web Sites</title>
	<atom:link href="http://achaleon.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://achaleon.com</link>
	<description>Promoting your business effectively, with sharp messages, strong promotions and persuasive web sites.</description>
	<lastBuildDate>Tue, 10 Aug 2010 12:16:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Making Wordpress Events Plugin Multilingual</title>
		<link>http://achaleon.com/making-wordpress-events-plugin-multilingual/</link>
		<comments>http://achaleon.com/making-wordpress-events-plugin-multilingual/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 13:43:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://achaleon.com/?p=785</guid>
		<description><![CDATA[This is a description of the approach I have used to make multilingual Wordpress sites easier to format and translate. It&#8217;s not intended as a how-to guide, as there are so many variables involved, but it&#8217;s working very well for me, so I hope it helps you too.
Why it can be hard to style a [...]]]></description>
			<content:encoded><![CDATA[<p>This is a description of the approach I have used to make multilingual Wordpress sites easier to format and translate. It&#8217;s not intended as a how-to guide, as there are so many variables involved, but it&#8217;s working very well for me, so I hope it helps you too.</p>
<h2>Why it can be hard to style a multilingual site</h2>
<p>One of the great advantages of Wordpress is that you can quickly add plugins that give you configurable functionality without writing a tonne of code that you will then have to support all by yourself. However most plugins have not been designed with multilingual support and adding extra language fields to a plugin would probably take you so far from the core product that you are effectively on your own again for support.</p>
<p>That&#8217;s why I&#8217;ve been working on some minimal-code approaches to making all aspects of my sites multilingual. Most of it is done with CSS; a small amount of PHP is also used.</p>
<h2>Great plugins to get you started</h2>
<p>My research in late 2009 showed the <a href="http://wpml.org/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/wpml.org/?referer=');">WPML plugin</a> as being really easy for content contributors/editors to use yet powerful enough to satisfy the creator/administrator of the site.</p>
<p>One of the really important things WPML does is to create pages which have the language declaration correct in the HTML header. It also defines a language constant which you can use in PHP, to help those browsers (IE7 and Safari) which don&#8217;t recognise all the web standards needed for simple multilingual sites.</p>
<p>I also like the straight-forward usability of the <a href="http://wordpress.org/extend/plugins/wp-events/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/wordpress.org/extend/plugins/wp-events/?referer=');">Events plugin by Arnan de Gans</a>. It doesn&#8217;t support multiple languages directly, but so long as you aren&#8217;t creating hundreds of calendar entries it can be configured easily to go multilingual.</p>
<h2>The <em>lang</em> selector &#8211; almost perfect</h2>
<p>There is <em>almost</em> a perfect way of using CSS to solve all (well many) of your multilingual development challenges. It is the lang selector. Here&#8217;s an example of how you can use it in a stylesheet to change a background according to language:</p>
<pre>#branding:lang(es) { background url('branding_bg_es.jpg'); }
#branding:lang(en) { background url('branding_bg_en.jpg'); }</pre>
<p>This tells the browser to select either an English (en) or Spanish (es) background image for the &#8216;branding&#8217; div, according to the language of the current page.</p>
<p>Another great way of using the lang selector is to show or hide small chunks of text according to the current page language. With the lang selector, you can wrap your texts with spans to hide them, like this:</p>
<pre>&lt;li class="event-title"&gt;&lt;span class="text-lang-en"&gt;Lunch break&lt;/span&gt;&lt;span class="text-lang-de"&gt;Mittagspause&lt;/span&gt;&lt;/li&gt;</pre>
<p>&#8230; and use some nifty css to only display the text relevant to the current page, like this:</p>
<pre>.text-lang-en:lang(de) { display: none; }
.text-lang-de:lang(en) { display: none; }</pre>
<p>This css is telling the browser to hide any element on German pages that has the class text-lang-en and to hide any element on English pages that has the class text-lang-de.</p>
<p>You can extend this principle to anywhere you can specify a style. I&#8217;ve found it great in widget titles, text and links in footers and more:</p>
<pre>&lt;h3 class="lang-en"&gt;A selection of forthcoming Events&lt;/h3&gt;&lt;h3 class="lang-cy"&gt;Pethau sy’n mynd ymlaen&lt;/h3&gt;</pre>
<p>But where this kind of CSS-based language showing/hiding is most valuable is in places where a plugin or other module is outputting text in a single language but in a way that you can configure&#8230;</p>
<h2>Configuring events for multilingual display</h2>
<p>The Wordpress Events plugin allows you to configure &#8216;templates&#8217; which define exactly how event listings look. Here&#8217;s a typical event listing template in just one language:</p>
<pre>&lt;li&gt;&lt;strong&gt;%title%&lt;/strong&gt;&lt;br /&gt;%startdate%, %starttime%&lt;/li&gt;</pre>
<p>Now, if only we could get a language tag in there somehow&#8230;</p>
<p>There are two ways to go about it:</p>
<p>The crudest would be to put your own markup in each event listing. So for example in the title field you might enter &lt;span class=&#8221;lang-en&#8221;&gt;Lunch Break&lt;/span&gt;&lt;span class=&#8221;lang-de&#8221;&gt;Mittagspause&lt;/span&gt;. This works but is not exactly user-friendly.</p>
<p>Better (in my opinion) is to duplicate each event (yes, there&#8217;s a button in the events editor to do exactly that) for each language and use the <em>event category</em> to indicate the language.</p>
<p>Say you have two categories of event: &#8216;Training&#8217; and &#8216;Presentation&#8217;. What you do is modify the categories so you now have:</p>
<ul>
<li>&#8216;Training lang-en&#8217;</li>
<li>&#8216;Training lang-de&#8217;</li>
<li>&#8216;Presentation lang-en&#8217;</li>
<li>&#8216;Presentation lang-de&#8217;</li>
</ul>
<p>So for each new event that site editors/authors create, they need to specify the language through the appropriate category. Once they have done that, they can click the &#8216;duplicate&#8217; button, enter the text in the other language and change the category to reflect that language.</p>
<p>The template is now changed to look like this:</p>
<pre>&lt;li class="%category%"&gt;&lt;strong&gt;%title%&lt;/strong&gt;&lt;br /&gt;%startdate%, %starttime%&lt;/li&gt;</pre>
<p>The HTML that is generated will look something like this:</p>
<pre>&lt;li class="Training lang-en"&gt;&lt;strong&gt;Lunch Break&lt;/strong&gt;&lt;br /&gt;20/12/2010, 12:30&lt;/li&gt;</pre>
<p>Note that the space in the middle of the category name gives you a distinct language identifier separate from the original category descriptor.</p>
<p>With the CSS we saw above, events in the &#8216;wrong&#8217; language will now be hidden automatically. Just remember that the system is outputting a separate language version of each event, so if you configure the events plugin to limit the number of events displayed, then you will need to set double the number that you want in each language.</p>
<h2>Problems with lang and browser compatibility</h2>
<p>OK, I mentioned browser issues right at the start, so now it&#8217;s time to resolve them.</p>
<p>This time it&#8217;s not just Internet Explorer at fault. Although IE7 (plus IE6 and earlier) fail to act on the lang selector, Safari is equally incomplete. So this method, as I&#8217;ve just described it, won&#8217;t work at all on most Macs and on many PCs.</p>
<p>Fortunately there is a workaround.</p>
<p>Right at the start of this article, I said that the WPML plugin has a constant that you can use in PHP to return the language of the current page. Using this we can tweak the template of our theme (or the child theme if we are using someone else&#8217;s template) so that the <em>body</em> declaration includes a style which indicates the language of the page.</p>
<p>I use Thematic as the basis for my themes, but the same principles apply anywhere &#8211; you just need to work out where to make your changes in your template. In thematic, the key file is header.php.</p>
<p>Where you see the <em>body</em> declaration you simply append some simple PHP which returns the language constant from WPML, ICL_LANGUAGE_CODE. You can see the modified line below, with the addition market in blue:</p>
<pre>&lt;body class="&lt;?php thematic_body_class() ?&gt;<span style="color: #0000ff;"> lang-&lt;?php echo ICL_LANGUAGE_CODE?&gt;</span>"&gt;</pre>
<p>The result is that you have a page which includes code with a language indicator at the end:</p>
<pre>&lt;body class="wordpress page pageid-38 <span style="color: #0000ff;">lang-cy</span>"&gt;</pre>
<p>So now all we need to do is update our CSS to drop the form :lang(cy)  and instead introduce our own language selector:</p>
<pre>.lang-cy .english, .lang-en .welsh
{
	display: none!important;
}</pre>
<p>And there you have it. An effective way of making mono-lingual plugins and widgets work nicely with multiple languages, without just one line of PHP and not a database modification in site!</p>
<p>Hope it works as well for you as it is for me,</p>
<p>Philip</p>
]]></content:encoded>
			<wfw:commentRss>http://achaleon.com/making-wordpress-events-plugin-multilingual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portfolio &#8211; OilSeeds UK</title>
		<link>http://achaleon.com/portfolio-oilseeds-uk/</link>
		<comments>http://achaleon.com/portfolio-oilseeds-uk/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 10:53:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[portfolio-b2b]]></category>
		<category><![CDATA[portfolio-multilingual]]></category>
		<category><![CDATA[portfolio-web-showcase]]></category>

		<guid isPermaLink="false">http://achaleon.com/?p=874</guid>
		<description><![CDATA[OilSeeds UK
These respected international traders in food-grade peanuts wanted a web site that reinforces their strong relationships with South and Central American suppliers, while addressing commercial buyers who are predominantly in the UK.
Take a look: Web site &#8211; home page &#124; Web site &#8211; an inner page
]]></description>
			<content:encoded><![CDATA[<h2><img class="alignleft size-full wp-image-678" title="OilSeeds UK - multilingual web site targeting European customers and South American, Central American Suppliers" src="/wp-content/media/TN-Oilseeds-1a.jpg" alt="" />OilSeeds UK</h2>
<p>These respected international traders in food-grade peanuts wanted a web site that reinforces their strong relationships with South and Central American suppliers, while addressing commercial buyers who are predominantly in the UK.<br />
<h6 style="padding-bottom: 6px;">Take a look: <a class="fancybox" href="/wp-content/media/Oilseeds-home-spanish.jpg">Web site &#8211; home page</a> | <a class="fancybox" href="/wp-content/media/Oilseeds-inner-english.jpg">Web site &#8211; an inner page</a></h6>
]]></content:encoded>
			<wfw:commentRss>http://achaleon.com/portfolio-oilseeds-uk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portfolio &#8211; Vale Volunteer Bureau</title>
		<link>http://achaleon.com/portfolio-vale-volunteer-bureau/</link>
		<comments>http://achaleon.com/portfolio-vale-volunteer-bureau/#comments</comments>
		<pubDate>Mon, 10 May 2010 19:39:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[portfolio-multilingual]]></category>
		<category><![CDATA[portfolio-web-showcase]]></category>

		<guid isPermaLink="false">http://achaleon.com/?p=792</guid>
		<description><![CDATA[Vale Volunteer Bureau
This established charity wanted to broaden their appeal to a younger generation of volunteers. They asked us to design a site that would reach out to adults and young people in both the English and Welsh languages.
Take a look: Web site &#8211; home page &#124; Web site &#8211; an inner page
]]></description>
			<content:encoded><![CDATA[<h2><img class="alignleft size-full wp-image-678" title="Vale Volunteer Bureau - multilingual web site for English and Welsh-speaking audiences" src="/wp-content/media/TN-VVB.jpg" alt="" />Vale Volunteer Bureau</h2>
<p>This established charity wanted to broaden their appeal to a younger generation of volunteers. They asked us to design a site that would reach out to adults and young people in both the English and Welsh languages.</p>
<h6 style="padding-bottom: 6px;">Take a look: <a class="fancybox" href="/wp-content/media/VVB-homepage-english.jpg">Web site &#8211; home page</a> | <a class="fancybox" href="/wp-content/media/VVB-inner-english.jpg">Web site &#8211; an inner page</a></h6>
]]></content:encoded>
			<wfw:commentRss>http://achaleon.com/portfolio-vale-volunteer-bureau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portfolio &#8211; Centreline Air</title>
		<link>http://achaleon.com/portfolio-centreline-air/</link>
		<comments>http://achaleon.com/portfolio-centreline-air/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 11:00:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[portfolio-b2b]]></category>
		<category><![CDATA[portfolio-web-showcase]]></category>

		<guid isPermaLink="false">http://marketingactionplan.co.uk/?p=313</guid>
		<description><![CDATA[Centreline Air
When your business is chartering private jets, your marketing has to reflect the level of service, attention to detail and operational excellence that sets you apart from the competition. That&#8217;s why we&#8217;re delighted that Centreline come back to us time and again.
Take a look: Web site &#124; Brochure/mailer
]]></description>
			<content:encoded><![CDATA[<h2><img class="alignleft size-full wp-image-678" title="Centreline - web and marketing for private jet service" src="/wp-content/media/centreline-web-v2-140w.jpg" alt="" width="140" height="100" />Centreline Air</h2>
<p>When your business is chartering private jets, your marketing has to reflect the level of service, attention to detail and operational excellence that sets you apart from the competition. That&#8217;s why we&#8217;re delighted that Centreline come back to us time and again.</p>
<h6>Take a look: <a class="fancybox" href="/wp-content/media/centreline-web-full-size.jpg">Web site</a> | <a class="fancybox" href="/wp-content/media/centreline-brochures.jpg">Brochure/mailer</a></h6>
]]></content:encoded>
			<wfw:commentRss>http://achaleon.com/portfolio-centreline-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Word 2007 performance slowing with a large background image in the header or footer? Solution: Use a Watermark instead.</title>
		<link>http://achaleon.com/word-2007-performance-slowing-with-a-large-background-image-in-the-header-or-footer-solution-use-a-watermark-instead/</link>
		<comments>http://achaleon.com/word-2007-performance-slowing-with-a-large-background-image-in-the-header-or-footer-solution-use-a-watermark-instead/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 13:56:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technology Productivity Tips]]></category>

		<guid isPermaLink="false">http://marketingactionplan.co.uk/?p=553</guid>
		<description><![CDATA[If you have tried to set up a template in Word 2007 with a largish image in the background, say a letterhead or proposal template, you are likely to have experienced the colossal performance issues which that causes.
In previous versions of Word, you could easily add attractive backgrounds to document templates without risk of the [...]]]></description>
			<content:encoded><![CDATA[<p>If you have tried to set up a template in Word 2007 with a largish image in the background, say a letterhead or proposal template, you are likely to have experienced the colossal performance issues which that causes.</p>
<p>In previous versions of Word, you could easily add attractive backgrounds to document templates without risk of the user deleting them along with their text. Working in the header or footer, you could place images of  practically any size anywhere on the page. However in Word 2007, this approach results in huge lag when you type, giving you unacceptably slow performance.</p>
<p>Although the problem is discussed a great deal in various technical forums, with no real answers, there is a very simple and almost universally acceptable solution:</p>
<p>Instead of inserting an image in the header, create a full-width image and insert it as a &#8216;Watermark&#8217;.</p>
<h2>Here&#8217;s how you do it:</h2>
<p>1. Edit your background image in an editor such as Photoshop or GIMP (an excellent open source alternative). Expand the image (don&#8217;t stretch it; just add empty space around it by adjusting the Canvas Size). You may need to play around a little the first time to find the right image size, as your your DPI settings will affect the size of the image when it is brought into Word. In an ideal world you would be able to just set the size in millimetres (A4 is 210mm wide).</p>
<p>2. In Word 2007, go to the Page Layout tab on the ribbon.</p>
<p>3. Click Watermark then Custom Watermark.</p>
<p>4. Select a Picture watermark and choose your image file.</p>
<p>5. Set scale to 100% and uncheck &#8216;washout&#8217;</p>
<p><strong>You should find that Word performs properly when your image is inserted in this way.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://achaleon.com/word-2007-performance-slowing-with-a-large-background-image-in-the-header-or-footer-solution-use-a-watermark-instead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
