Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Pavluha

Старожил


Сообщения: 165
Благодарности: 7

Профиль | Отправить PM | Цитировать


Для начала нужно определиться, как вы будете узнавать, какой язык предпочитает пользователь. Можно сделать разными путями, но самый удобный -- это через куки.

Далее, если нужно поменять только эти 4 фразы, можно обойтись так (показано для первого примера):

PHP код: Выделить весь код

$userlang $_COOKIE['userlang'];

$now_hours date('G');
if(
$now_hours<8)
{
    if(
$userlang='ru')
    {
     
$xxxx 'Доброй ночи!';
    }
    else if (
$userlang='en')
    {
      
$xxxx 'Good night!'
    
}
}
..........................

$content str_replace('{xxxx}'$xxxx);
print 
$content

Но если надо перевести на другой язык весь сайт, то нужно делать так:
1. Создаём папку language или localizations и в неё кидаем файлы с именами типа ru.php, en.php и тому подобное.
2. В этих файлах будут храниться фразы для вашего сайта (желательно делать так, в виде массива):
PHP код: Выделить весь код

<?
/*Английская локализация (en.php)*/
$message['good_night'] = 'Good night!';
$message['good_morning'] = 'Good morning!';
......................
?>

PHP код: Выделить весь код

<?
/*Русская локализация (ru.php)*/
$message['good_night'] = 'Доброй ночи!';
$message['good_morning'] = 'Доброе утро!';
......................
?>

3. В самом коде программы делать так:

PHP код: Выделить весь код

$userlang $_COOKIE['userlang'];
include(
'localization/'.$userlang);
$now_hours date('G'); 
if(
$now_hours<8

    
$xxxx $message['good_night']; 

elseif(
$now_hours<12 && $now_hours>=)  

    
$xxxx $message['good_morning'];  

elseif(
$now_hours>=12 && $now_hours<17

    
$xxxx $message['good_aftenoon'];

elseif(
$now_hours>=17 && $now_hours<=23

    
$xxxx $message['good_evening']; 

$content str_replace('{xxxx}'$xxxx); 
print 
$content

Конечно, данный код нужно еще доработать (например, если такого языка не существует, выводить на русском или английском). И, к примеру, использовать require вместо инклуда, но необходимо тогда просчитать все возможные ошибки.

P. S. Если думаете, что сами не справитесь, а код сайта всему миру показывать не хотите, могу помочь за символическую плату (пишите в лс).

Отправлено: 23:45, 21-12-2013 | #2