<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Multiple Languages on any Page Dynamically</title>
	<atom:link href="http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically/feed" rel="self" type="application/rss+xml" />
	<link>http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically</link>
	<description>Design, Develop, and Grow</description>
	<lastBuildDate>Wed, 08 Feb 2012 09:03:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Katja Hollaar</title>
		<link>http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically/comment-page-1#comment-180232</link>
		<dc:creator>Katja Hollaar</dc:creator>
		<pubDate>Tue, 04 Aug 2009 11:15:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.devlounge.net/articles/php/multiple-languages-on-any-page-dynamically#comment-180232</guid>
		<description>Hi and thanks for posting this. I&#039;m trying to implement multiple language support for my site being a php-dummy. Neither your sample files nor my sample implementation work. {Variables} are shown as {Variables} and the link with &quot;index.php?lang=en&quot; doesn&#039;t lead anywhere. Is there a mistake in syntax or am I missing some steps in your tut? It would really be great if you (or anybody) could help me out. I&#039;d certainly appreciate it!
Thanks again,
Katja Hollaar, the Netherlands</description>
		<content:encoded><![CDATA[<p>Hi and thanks for posting this. I&#8217;m trying to implement multiple language support for my site being a php-dummy. Neither your sample files nor my sample implementation work. {Variables} are shown as {Variables} and the link with &#8220;index.php?lang=en&#8221; doesn&#8217;t lead anywhere. Is there a mistake in syntax or am I missing some steps in your tut? It would really be great if you (or anybody) could help me out. I&#8217;d certainly appreciate it!<br />
Thanks again,<br />
Katja Hollaar, the Netherlands</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nibohs</title>
		<link>http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically/comment-page-1#comment-179430</link>
		<dc:creator>Nibohs</dc:creator>
		<pubDate>Wed, 03 Jun 2009 07:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.devlounge.net/articles/php/multiple-languages-on-any-page-dynamically#comment-179430</guid>
		<description>Hai Friends

I create a multilanguage management section for my php site. Me added different languages there (chinies,japanes,french..etc). I used the google language transilater to transilate all the english words to other languages. But some languages  fonts does&#039;nt support . How can I solve this problem??. Any body can help me??</description>
		<content:encoded><![CDATA[<p>Hai Friends</p>
<p>I create a multilanguage management section for my php site. Me added different languages there (chinies,japanes,french..etc). I used the google language transilater to transilate all the english words to other languages. But some languages  fonts does&#8217;nt support . How can I solve this problem??. Any body can help me??</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DNoe</title>
		<link>http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically/comment-page-1#comment-145534</link>
		<dc:creator>DNoe</dc:creator>
		<pubDate>Sun, 18 May 2008 18:47:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.devlounge.net/articles/php/multiple-languages-on-any-page-dynamically#comment-145534</guid>
		<description>I would suggest taking a look into the &lt;a href=&quot;http://code.google.com/apis/ajaxlanguage/documentation/&quot; rel=&quot;nofollow&quot;&gt;Google AJAX Language API&lt;/a&gt; for a more extensible solution.  You can use a similar approach to what you do here with tags, but use JavaScript arrays for your tags and let Google translate it for you.

Of course, I have no way of knowing how accurate a translation Google returns, but it sure seems better than hard coding text blocks of multiple languages.</description>
		<content:encoded><![CDATA[<p>I would suggest taking a look into the <a href="http://code.google.com/apis/ajaxlanguage/documentation/" rel="nofollow">Google AJAX Language API</a> for a more extensible solution.  You can use a similar approach to what you do here with tags, but use JavaScript arrays for your tags and let Google translate it for you.</p>
<p>Of course, I have no way of knowing how accurate a translation Google returns, but it sure seems better than hard coding text blocks of multiple languages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Martin</title>
		<link>http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically/comment-page-1#comment-144855</link>
		<dc:creator>Kevin Martin</dc:creator>
		<pubDate>Fri, 25 Apr 2008 19:56:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.devlounge.net/articles/php/multiple-languages-on-any-page-dynamically#comment-144855</guid>
		<description>Well, if you look closer, you will see that the language path is prefixed and also has a suffix. And yes, ofcourse, you can also double check that you have the language in a database, or else show the default language.

One thing that just struck me was that you may also be able to put basename() and this would also help against an attack like that. I don&#039;t know why it didn&#039;t strike me earlier.

Thank you for you comments,
Kevin Martin.</description>
		<content:encoded><![CDATA[<p>Well, if you look closer, you will see that the language path is prefixed and also has a suffix. And yes, ofcourse, you can also double check that you have the language in a database, or else show the default language.</p>
<p>One thing that just struck me was that you may also be able to put basename() and this would also help against an attack like that. I don&#8217;t know why it didn&#8217;t strike me earlier.</p>
<p>Thank you for you comments,<br />
Kevin Martin.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wally</title>
		<link>http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically/comment-page-1#comment-144828</link>
		<dc:creator>Wally</dc:creator>
		<pubDate>Fri, 25 Apr 2008 12:39:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.devlounge.net/articles/php/multiple-languages-on-any-page-dynamically#comment-144828</guid>
		<description>It may be beyond the scope of your article, but I would like to point out that you should never blindly include a file based on a variable being sent by the request.  It makes your script vulnerable to something called Poison Null Byte File Retrieval.  For example, I could make a request to your script like this: http://server.com/index.php?lang=/../etc/passwd%00.htm (or some variation of).  If you&#039;re familiar with Linux paths you&#039;ll see the problem immediately, but basically the passwd file contains information about all the user accounts on the machine, obviously bad for security.  In this case the entire contents of that file would be sent to my browser in plain text.

I would recommend maintaining a list of the valid languages, that way you can test the requested language against your list before including the appropriate file.  If the requested language isn&#039;t in the list, it would be simple enough to load whatever default you chose.

Language is an issue often overlooked by developers, so thanks for putting this out there, it&#039;s definitely a start in the right direction!</description>
		<content:encoded><![CDATA[<p>It may be beyond the scope of your article, but I would like to point out that you should never blindly include a file based on a variable being sent by the request.  It makes your script vulnerable to something called Poison Null Byte File Retrieval.  For example, I could make a request to your script like this: <a href="http://server.com/index.php?lang=/../etc/passwd%00.htm" rel="nofollow">http://server.com/index.php?lang=/../etc/passwd%00.htm</a> (or some variation of).  If you&#8217;re familiar with Linux paths you&#8217;ll see the problem immediately, but basically the passwd file contains information about all the user accounts on the machine, obviously bad for security.  In this case the entire contents of that file would be sent to my browser in plain text.</p>
<p>I would recommend maintaining a list of the valid languages, that way you can test the requested language against your list before including the appropriate file.  If the requested language isn&#8217;t in the list, it would be simple enough to load whatever default you chose.</p>
<p>Language is an issue often overlooked by developers, so thanks for putting this out there, it&#8217;s definitely a start in the right direction!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nemetral</title>
		<link>http://www.devlounge.net/code/multiple-languages-on-any-page-dynamically/comment-page-1#comment-144793</link>
		<dc:creator>nemetral</dc:creator>
		<pubDate>Thu, 24 Apr 2008 21:58:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.devlounge.net/articles/php/multiple-languages-on-any-page-dynamically#comment-144793</guid>
		<description>In terms of URI architecture, there&#039;s also a decision to be made between a) keeping the current language visible (like a subdomain or a virtual folder i.e. http://language.domainname.tld or http://domainname.tld/language/) or b) hiding it from the user in a session, both with pros and cons.</description>
		<content:encoded><![CDATA[<p>In terms of URI architecture, there&#8217;s also a decision to be made between a) keeping the current language visible (like a subdomain or a virtual folder i.e. <a href="http://language.domainname.tld" rel="nofollow">http://language.domainname.tld</a> or <a href="http://domainname.tld/language/" rel="nofollow">http://domainname.tld/language/</a>) or b) hiding it from the user in a session, both with pros and cons.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

