Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 267
  • Last Modified:

What's the best practice to change labels content in PHP when depending on the language chosen by users

We have an old application in PHP developed in the English language.  We would like to change the application to either show English or another language.

Based on EE experience in this area, whats the best way to go about it?
0
rayluvs
Asked:
rayluvs
  • 3
  • 2
3 Solutions
 
Ray PaseurCommented:
PHP uses different directories for different languages.  Example:
http://php.net/manual/en/function.var-dump.php
http://php.net/manual/kr/function.var-dump.php
http://php.net/manual/de/function.var-dump.php

You might consider having a Wiki so that native language speakers can contribute to the new language capabilities.
0
 
boon86Commented:
there is 2 way to accomplish this:

1. lazy method use: Widget:

http://translate.google.com/translate_tools

this method will have multiple language on your site that translate by google translator

2. translate your whole site manually

you will need to translate all the terms to store it into languange files example:

eng.lang.php
kr.lang.php
jp.lang.php

each lang files represent different language:
$lang['edit.success'] = 'Video was successfully updated!';
$lang['global.video'] = 'video';
$lang['global.point'] = 'point';
$lang['global.points'] = 'points';
$lang['global.time'] = 'time';
$lang['global.times'] = 'times';

Open in new window

$lang['edit.success'] = '¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿';
$lang['global.video'] = '¿¿¿';
$lang['global.point'] = '¿¿¿¿';
$lang['global.points'] = '¿¿¿¿';
$lang['global.time'] = '¿¿';
$lang['global.times'] = '¿¿';

Open in new window

$lang['edit.success'] = 'Filmy zaladowane pomyslnie!';
$lang['global.video'] = 'filmy';
$lang['global.point'] = 'punkt';
$lang['global.points'] = 'punkty';
$lang['global.time'] = 'czas';
$lang['global.times'] = 'razy';

Open in new window


then call them using session:

if ($config['multi_language'] && isset($_POST['language'])) {
	$language = trim($_POST['language']);
	if (isset($languages[$language])) {
		$_SESSION['language'] = $language;
	}
}
require  '/language/'.$_SESSION['language'].'.lang.php';

Open in new window



3. Refer tutorial here:
http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html
and
download the example here:


php-multi-language-site-bitrepos.zip
0
 
rayluvsAuthor Commented:
Thanx... We'll check it out
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
Ray PaseurCommented:
Depending on the kind of information your site carries, you might find the Google translator useful, or not.  Some things like "hydraulic ram" tend to turn into things like "water goat" so you would want to set up good test cases before you rely on the translator.
0
 
rayluvsAuthor Commented:
Thanx!
0
 
rayluvsAuthor Commented:
Thanx
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now