Re[2]: [PHP] How to do i18n better?

2010-04-20 Thread Andre Polykanine
Hi Ash,

Yepp, it's understood. But how exactly did you store the
language-specific strings: in an array or using another way?


-- 
With best regards from Ukraine,
Andre
Skype: Francophile; WlmMSN: arthaelon @ yandex.ru; Jabber: arthaelon @ 
jabber.org
Yahoo! messenger: andre.polykanine; ICQ: 191749952
Twitter: m_elensule

- Original message -
From: Ashley Sheridan a...@ashleysheridan.co.uk
To: Jason Pruim li...@pruimphotography.com
Date: Tuesday, April 20, 2010, 2:17:47 AM
Subject: [PHP] How to do i18n better?

On Mon, 2010-04-19 at 19:17 -0400, Jason Pruim wrote:

 On Apr 18, 2010, at 6:55 PM, Andre Polykanine wrote:
 
  Hi everyone,
 
  I posted this in the PHP-i18n list, however got no answer so trying
  here).
  We are making a blog platform (http://oire.org/) which is provided in
  several languages (currently they are Russian, Ukrainian, and
  English).
  Now the i18n process is made as follows: we set a cookie on the site
  and depending on it we select the language to display the site in. We
  have three (currently) interface files: rus.lng, ukr.lng, and enu.lng
  (for English US). the format is the following:
  define (MSG379, Welcome!);
  etc. I know that PHP does support somehow exporting the strings into a
  .pod file. Maybe it would be better to do that? If so, how can I do
  it?
  Could you suggest me maybe a better solution than we currently have?
  Thanks a lot!
 
 I've never actually had to do this... But one idea that I came up with  
 is using the browser language in taking a best guess at what language  
 to display... In other words, if the user's browser language is set to  
 Chinese, you can be fairly certain they read Chinese :)
 
 And now that I typed that out, I realize that may not be what you are  
 really looking for...  And that's when we get into the part where I  
 can't help alot because I've never had to do it :)
 
 So good luck! :)
 
 
 
 


That's the check I did on the last site i worked on (vicestyle.com) The
user agent string is checked for a language and the site uses that. If
none is found (bearing in mind that there's no hard and fast rule about
what can go into a UA string) then it defaults to English.

Links within the site itself allow the user to change their language
afterwards, and you could store that in a cookie to it remembers their
choice.

Thanks,
Ash
http://www.ashleysheridan.co.uk




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: Re[2]: [PHP] How to do i18n better?

2010-04-20 Thread Ashley Sheridan
On Tue, 2010-04-20 at 13:34 +0300, Andre Polykanine wrote:
 Hi Ash,
 
 Yepp, it's understood. But how exactly did you store the
 language-specific strings: in an array or using another way?
 
 
 -- 
 With best regards from Ukraine,
 Andre
 Skype: Francophile; WlmMSN: arthaelon @ yandex.ru; Jabber: arthaelon @ 
 jabber.org
 Yahoo! messenger: andre.polykanine; ICQ: 191749952
 Twitter: m_elensule
 
 - Original message -
 From: Ashley Sheridan a...@ashleysheridan.co.uk
 To: Jason Pruim li...@pruimphotography.com
 Date: Tuesday, April 20, 2010, 2:17:47 AM
 Subject: [PHP] How to do i18n better?
 
 On Mon, 2010-04-19 at 19:17 -0400, Jason Pruim wrote:
 
  On Apr 18, 2010, at 6:55 PM, Andre Polykanine wrote:
  
   Hi everyone,
  
   I posted this in the PHP-i18n list, however got no answer so trying
   here).
   We are making a blog platform (http://oire.org/) which is provided in
   several languages (currently they are Russian, Ukrainian, and
   English).
   Now the i18n process is made as follows: we set a cookie on the site
   and depending on it we select the language to display the site in. We
   have three (currently) interface files: rus.lng, ukr.lng, and enu.lng
   (for English US). the format is the following:
   define (MSG379, Welcome!);
   etc. I know that PHP does support somehow exporting the strings into a
   .pod file. Maybe it would be better to do that? If so, how can I do
   it?
   Could you suggest me maybe a better solution than we currently have?
   Thanks a lot!
  
  I've never actually had to do this... But one idea that I came up with  
  is using the browser language in taking a best guess at what language  
  to display... In other words, if the user's browser language is set to  
  Chinese, you can be fairly certain they read Chinese :)
  
  And now that I typed that out, I realize that may not be what you are  
  really looking for...  And that's when we get into the part where I  
  can't help alot because I've never had to do it :)
  
  So good luck! :)
  
  
  
  
 
 
 That's the check I did on the last site i worked on (vicestyle.com) The
 user agent string is checked for a language and the site uses that. If
 none is found (bearing in mind that there's no hard and fast rule about
 what can go into a UA string) then it defaults to English.
 
 Links within the site itself allow the user to change their language
 afterwards, and you could store that in a cookie to it remembers their
 choice.
 
 Thanks,
 Ash
 http://www.ashleysheridan.co.uk
 
 
 
 

The differences were stored in an array with a file per language like
so:

$lang['Welcome'] = 'Welcome';
$lang['Contact'] = 'Contact';

and in a a different file for German maybe:

$lang['Welcome'] = 'Willkommen';
$lang['Contact'] = 'Kontakt';

Thanks,
Ash
http://www.ashleysheridan.co.uk




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re[2]: [PHP] How to do i18n better?

2010-04-19 Thread Andre Polykanine
Hello Peter,

Regarding the URL switching suggested by you and Michiel, how do I do
this if I have a rather complicated .htaccess file? For instance, a
blog entry URL is formed as follows:
http://oire.org/menelion/entry/190/ which is phisically
http://oire.org/oire.php?o=menelione=190
If I need to insert the locale somewhere inhere, sorry, I just don't
know how to do that)
-- 
With best regards from Ukraine,
Andre
Skype: Francophile; WlmMSN: arthaelon @ yandex.ru; Jabber: arthaelon @ 
jabber.org
Yahoo! messenger: andre.polykanine; ICQ: 191749952
Twitter: m_elensule

- Original message -
From: Peter Lind peter.e.l...@gmail.com
To: Andre Polykanine an...@oire.org
Date: Monday, April 19, 2010, 11:10:59 AM
Subject: [PHP] How to do i18n better?

Consider checking out http://php.net/gettext - it's the set of
functions in PHP for i18n.

With regards to language switching, you should consider using a url
hierarchy for it, instead of just serving all pages with changing
content.

Regards
Peter

-- 
hype
WWW: http://plphp.dk / http://plind.dk
LinkedIn: http://www.linkedin.com/in/plind
Flickr: http://www.flickr.com/photos/fake51
BeWelcome: Fake51
Couchsurfing: Fake51
/hype


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: Re[2]: [PHP] How to do i18n better?

2010-04-19 Thread Peter Lind
On 19 April 2010 12:54, Andre Polykanine an...@oire.org wrote:
 Hello Peter,

 Regarding the URL switching suggested by you and Michiel, how do I do
 this if I have a rather complicated .htaccess file? For instance, a
 blog entry URL is formed as follows:
 http://oire.org/menelion/entry/190/ which is phisically
 http://oire.org/oire.php?o=menelione=190
 If I need to insert the locale somewhere inhere, sorry, I just don't
 know how to do that)

Switch your url structure to something like /en/menelion/entry/190/
and map that to /oire.php?o=menelione=190l=en

You can still default to one language and leave the language bit out
of that - but when switching to a language explicitly, having that as
part of the url helps.

Regards
Peter

-- 
hype
WWW: http://plphp.dk / http://plind.dk
LinkedIn: http://www.linkedin.com/in/plind
Flickr: http://www.flickr.com/photos/fake51
BeWelcome: Fake51
Couchsurfing: Fake51
/hype

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php