16  /  330

Язык и языковые файлы

Просмотров: 3980 (Статистика ведётся с 06.02.2017)

Язык - это учётная запись в базе данных, доступная для редактирования в административном меню на странице Настройки > Настройки продукта > Языковые параметры > Языки интерфейса, со следующими основными полями:
  • Идентификатор
  • Название
  • Формат даты
  • Формат времени
  • Кодировка

Как в публичной, так и в административной частях, язык используется в первую очередь для выбора того или иного языкового файла.

В административной части язык определяет формат времени и даты, кодировку страниц. В публичной части - данные параметры определяются настройками сайта.

Цитатник веб-разработчиков.

Антон Долганин: В компонентах фразы выношу в ланг-файлы, просто потому что это системная часть и там хотелось бы видеть порядок.

Языковые файлы

Языковой файл - PHP скрипт, хранящий переводы языковых фраз на тот или иной язык.

Данный скрипт состоит из массива $MESS, ключи которого - идентификаторы языковых фраз, а значения - переводы на соответствующий язык.

Пример языкового файла для русского языка:

<?
$MESS ['SUP_SAVE'] = "Сохранить";
$MESS ['SUP_APPLY'] = "Применить";
$MESS ['SUP_RESET'] = "Сбросить";
$MESS ['SUP_EDIT'] = "Изменить";
$MESS ['SUP_DELETE'] = "Удалить";
?>

Пример языкового файла для английского языка:

<?
$MESS ['SUP_SAVE'] = "Save";
$MESS ['SUP_APPLY'] = "Apply";
$MESS ['SUP_RESET'] = "Reset";
$MESS ['SUP_EDIT'] = "Change";
$MESS ['SUP_DELETE'] = "Delete";
?>

Для каждого языка существует свой набор языковых файлов, хранящихся в подкаталогах /lang/ структуры файлов системы или модуля.

Языковые файлы как правило используются в административных скриптах модулей или в компонентах и в зависимости от этого подключаются одной из следующих функций:

Для удобства поиска и дальнейшей модификации языковых фраз можно пользоваться параметром страницы show_lang_files=Y, позволяющим быстро найти и исправить ту или иную языковую фразу в модуле Перевод.

Примеры

Весь массив словаря можно посмотреть простой командой:

<? echo'<pre>';print_r($MESS);echo'</pre>'; ?>

Вместо порядкового номера месяца получить его название в 2 падежах:

<?
   echo $MESS['MONTH_'.date('n')]; // Июнь
   echo $MESS['MONTH_'.date('n').'_S']; // Июня

?>

Так же можно поступить с днями недели, вывести название стран и так далее.


44
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии