Архив метки: lang

Согласование слов с числительными в PHP и JavaScript

Пожалуй самая лаконичная и удобная функция для выбора верной формы слов.

PHP Вариант:

<?php
/**
 * Функция склонения числительных в русском языке
 *
 * @param int    $number Число которое нужно просклонять
 * @param array  $titles Массив слов для склонения
 * @return string
 **/
function declOfNum($number, $titles)
{
    $cases = array (2, 0, 1, 1, 1, 2);
    return $number." ".$titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ];
}
?>

Читать далее 

Локализация Битрикс

Стандартный способ локализовать компонент — это в ближайшей языковой папке «lang» вверх по дереву папок найти языковой файл с путем «идентификатор языка/обратный путь вниз по дереву до локализуемого файла/локализуемый файл». Например для файла

/bitrix/components/demo/news/.parameters.php

языковым является

/bitrix/components/demo/news/lang/ru/.parameters.php

Данный файл содержит определение языкозавсимых фраз доступных в теле файла:

$MESS ['BN_P_SORT_ASC'] = "по возрастанию";
$MESS ['BN_P_SORT_DESC'] = "по убыванию";
$MESS ['BN_P_IBLOCK_TYPE'] = "Тип инфо-блока";
$MESS ['BN_P_IBLOCK'] = "Инфо-блок";
$MESS ['BN_P_CACHE_FILTER'] = "Кэшировать при установленном фильтре";

Однако при локализации системных гаджетов, компонентов и шаблонов такое определение недопустимо так как может быть удалено при обновлении компонента.

Для таких ситуаций есть обходной путь.

Читать далее