使用PHP更改语言

I need a help with my php code. I don't know how to imrove it. On my website viewer can choose language between polish (pl) and english (en) and I want to put spanish (es) but I don't know how to do that.

Please help.

<?php
$lang = $_COOKIE['lang'];
if (!is_null($_GET['lang']) && !empty($_GET['lang'])) {
    $lang = $_GET['lang'];
}

switch ($lang) {
    case 'pl':
        setcookie('lang', 'pl');
        include('pl.php');
        break;
    case 'en':
        setcookie('lang', 'en');
        include('en.php');
        break;
    case 'es':
        setcookie('lang', 'es');
        include('es.php');
        break;
}
?>

Improved:

<?php
session_start();
$lang = isset($_SESSION['lang']) ? $_SESSION['lang'] : 'en';
if (isset($_GET['lang']) && in_array($_GET['lang'], array('en', 'esp', 'br')))
  $_SESSION['lang'] = $lang = $_GET['lang'];

include_once $lang.'.php';
var_dump($_lng['welcome']);

en.php

<?php
$_lng = array(
              'welcome' => 'Welcome',
              'save' => 'Save',
              'cancel' => 'Cancel',
              );

br.php

<?php
$_lng = array(
              'welcome' => 'Bem-vindo(a)',
              'save' => 'Salvar',
              'cancel' => 'Cancelar',
              );

Thats kind of tedious and repetitive tasks are the reason to use frameworks, but keeping simple:

Directory structure

Trans.php

<?php
class Trans
{
    public static function translate($key, $language = 'es')
    {
        $catalog = include __DIR__ . DIRECTORY_SEPARATOR . 'i18n' . DIRECTORY_SEPARATOR . $language . '.php';
        return (isset($catalog[$key]))?$catalog[$key]:$key;
    }
}

translatable.php

<?php
require 'Trans.php';

$lang = isset($_GET['lang'])?$_GET['lang']:'es';

echo Trans::translate('hello_world_from_cuba', $lang);

i18n/en.php files look like this:

<?php
return array(
    'hello_world_from_cuba' => "Hello World From Cuba.",
);

i18n/es.php

<?php
return array(
    'hello_world_from_cuba' => "Hola Mundo desde Cuba.",
);

Access translatable.php using web browser (http://localhost/translator/translatable.php). CodeIgniter and Kohana has more complex translators but basically are the same above... In your case you get language from cookie/session I got it from $_GET but still working...