За последние 24 часа нас посетили 46764 программиста и 1728 роботов. Сейчас ищут 609 программистов ...

При этом если задать GET-параметр: lang=ru или lang=en – должно выводиться соответствующее

Тема в разделе "PHP для новичков", создана пользователем hacker_farid, 31 окт 2017.

  1. hacker_farid

    hacker_farid Новичок

    С нами с:
    13 окт 2017
    Сообщения:
    34
    Симпатии:
    0
    Создайте 2 языковых файла ru.ini и en.ini, где будут языковые константы и их перевод. Например, TITLE=Заголовок – в ru.ini, и

    TITLE=Title – в en.ini. Далее нужно проанализировать массив $_SERVER и узнать,
    какой язык предпочтительнее у пользователя.
    И вывести TITLE из того файла, который будет соответствовать языку пользователя.
    При этом если задать GET-параметр: lang=ru или
    lang=en – должно выводиться соответствующее представление языковой константы TITLE,
    независимо от того, что находится в массиве $_SERVER.


    Я указал на фотке в комментариях в чем нужно помочь ))) Спасибо заранее
    PHP:
    1. <?php
    2.  
    3.     $en = parse_ini_file('en.ini', true);
    4.     $ru = parse_ini_file('ru.ini', true);
    5.  
    6.     $e =  $en['config']['TITLE'];
    7.     $r =  $ru['config']['TITLE'];
    8.  
    9.  
    10.    
    11.    
    12. ?>
    HTML:
    1. <!DOCTYPE html>
    2. <html lang="ru"> // как обратиться к langue в таком примере =>  елси (lang = 'ru') {то title на русском  } елсе{ титле на английском}
    3.     <meta charset="UTF-8">
    4.     <title >  </title>
    5. </head>
    6.  
    7.     <p style="color:<? echo $zet['config']['color']?>; font-size: <? echo $zet['config']['size']?>"t>Hello World</p>
    8.     <p>Hi Farid</p>
    9.     <p> PROGXAKER IS THE BEST SITE IN THE WORLD</p>
    10.    
    11. </body>
    12. </html>
     

    Вложения:

    • asasas.PNG
      asasas.PNG
      Размер файла:
      44,9 КБ
      Просмотров:
      10
  2. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Объявляете переменную установив дефолтный язык о предпочтении пользователя с помощью элемента суперглобального массива:
    PHP:
    1. $_SERVER['HTTP_ACCEPT_LANGUAGE']
    Далее, предоставляете пользователю выбор языка ru/eng
    при выборе языка, сам выбор сохраняете в $_SESSION например

    Небольшой рабочий пример

    PHP:
    1. <?php
    2.  
    3.  
    4. //- Если пользователь выбрал язык сайта сам.
    5. if ( isset ( $_GET["lang"] ) and in_array ( $_GET["lang"], array ( 'ru', 'en' ) ) )
    6. {
    7.   $_SESSION["lang"] = $_GET["lang"];
    8. }
    9.  
    10. preg_match('/^\w{2}/',$_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
    11. switch ( strtolower( $matches[0] ) )
    12. {
    13. //- Русский
    14. case "ru":
    15.   $accept_lang="ru";
    16. break;
    17.  
    18. //- Английский
    19. case "en":
    20. case "uk":
    21. case "us":
    22.   $accept_lang="en";
    23. break;
    24.  
    25. default:
    26.   $accept_lang="en";
    27. break;
    28. }
    29.  
    30. //- Ранее определенный язык сайта из $_SERVER['HTTP_ACCEPT_LANGUAGE']
    31. $lang = $accept_lang;
    32.  
    33. //- Данные о выборе языка есть в сессии
    34. if ( isset( $_SESSION["lang"] ) )
    35. {
    36.   $lang = $_SESSION["lang"];
    37. }
    38.  
    39.  
    40. $html = '
    41. <a href="?lang=ru" style="color:'.($lang == 'ru' ? 'red' : '' ).'">Русский</a>
    42. <a href="?lang=en" style="color:'.($lang == 'en' ? 'red' : '' ).'">Английский</a>
    43. ';
    44.  
    45. $parse_lang = parse_ini_file( $lang .'.ini', true);
    46.  
    47.  
    48.  
    49. ?>
    50.  
    51. <!DOCTYPE html>
    52. <html lang="<?=$lang?>">
    53. <head>
    54.     <meta charset="UTF-8">
    55.     <title > <?=$parse_lang['config']['TITLE']?>  </title>
    56. </head>
    57. <body>
    58.     <?=$html?>
    59.     <p style="color:<?=$parse_lang['config']['color']?>; font-size: <?=$parse_lang['config']['size']?>">Hello World</p>
    60.     <p>Hi Farid</p>
    61.     <p>PROGXAKER IS THE BEST SITE IN THE WORLD</p>
    62. </body>
    63. </html>
     
    Haphpy и hacker_farid нравится это.
  3. hacker_farid

    hacker_farid Новичок

    С нами с:
    13 окт 2017
    Сообщения:
    34
    Симпатии:
    0
    Спасибо добрый человек )))