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?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ray PaseurCommented:
PHP uses different directories for different languages.  Example:

You might consider having a Wiki so that native language speakers can contribute to the new language capabilities.

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
there is 2 way to accomplish this:

1. lazy method use: Widget:


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:


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:
download the example here:

rayluvsAuthor Commented:
Thanx... We'll check it out
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

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.
rayluvsAuthor Commented:
rayluvsAuthor Commented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.