apache – Multilingualism of the Internet page / site


It became interesting how it is possible to implement the multilingualism of the Internet page / site, I "googled" for a while, but I didn’t come across a sensible explanation … Could you comrades poke your noses in the direction where you need to dig?


You need to make a file containing the declaration of constants, which will contain lines to be displayed in different places on the site.

For example (I have already given it somewhere) …

Main file:


  //объявляем константу содержащую путь до файлов языков
  define('LANGAGE_DIR', $_SERVER['DOCUMENT_ROOT']."/language/", false);
  //тоже, путь до шаблона вывода
  define('TEMPLATE_DIR', $_SERVER['DOCUMENT_ROOT']."/template/", false);

  //получаем переменную языка
  $language = $_GET['lang'];
  //не обязательно получать переменную гет-ом
  //можно брать ее откуда угодно, например - из базы данных, или из сессии

  //загружаем файл перевода
  include_once(LANGUAGE_DIR . $language . '.php');

  //загружаем файл шаблона, начинаем вывод
  include_once(TEMPLATE_DIR . 'default.php');


Russian language file:

  define('LANG_TITLE', 'Главная страница');
  define('LANG_H1', 'Добро пожаловать!');
  define('LANG_MESSAGE1', 'Рады приветствовать вас на нашем сайте.');

English file:

  define('LANG_TITLE', 'Main page');
  define('LANG_H1', 'Welcome!');
  define('LANG_MESSAGE1', 'Welcome to our site.');

Template file:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

You just need to put the name of the language file in $ language, for convenience without the extension. You should also provide for the output of the page in the default language if nothing is assigned to $ language. Now, that's the idea. If anything is not clear, write! Have a good day 🙂

Scroll to Top