Печать

Работа со строками в joomla 1.5

Одним из основных преимуществ в Joomla! является встроенная многоязычная поддержка. Язык по-умолчанию выбирается в менеджере локализаций, и может быть переключен залогенным пользователем.
Статический класс JText используется для перевода строки на различные языки. JText имеет три метода для перевода строки: _(), sprintf() и printf(). Самый часто используемый метод _(). Этот метод является самым основным, так как он переводит строку.

В данном примере, мы переведем слово Monday (если перевод не найден, то вернется строка Monday):
echo JText::_('Monday');
Метод JText::sprintf() аналогичен PHP-функции sprintf(). Мы передаем одну строку для перевода и любое количество дополнительных параметров, которые нужно включить в перевод строки. Дополнительные параметры переводиться не будут.

В данном примере, если перевод для SAVED_ITEMS является Save %d items. То переводом будет "Сохранено 3 шт".
$value = JText::sprintf('SAVED_ITEMS', 3);
Или мы можем использовать метод JText::printf(). Этот метод аналогичен PHP-функции printf(). Этот метод возвращает длину результирующей строки перевода.

$length = JText::printf('SAVED_ITEMS', 3);
Если мы хотим создать перевод для наших расширений, то нужно создавать ini файлы переводов.

Обработчики UTF-8 строк

Для того чтобы Joomla! в полной мере поддерживать многоязычные требования, Joomla! использует кодировку Unicode или UTF-8 (Unicode Transformation Format-8). Unicode - это набор символов, включающий все известные языки.
В Joomla! нам предоставляется статический класс JString; этого класса позволяет нам выполнять большинство из обычных строковых функций только в кодировке UTF-8.

Этот пример показывает, как мы можем использовать JString, чтобы преобразовать строку в верхний регистр. Заметим, что имя метода совпадает с аналогичной php-функцией:
$string = JString::strtoupper($string);
PHP функцияJString методОписание
strpos strpos Находит первое совпадение строки в строке
substr substr Возвращает часть строки
strtolower strtolower Возвращает строку в нижнем регистре
strtoupper strtoupper Возвращает строку в верхнем регистре
strlen strlen Колличество символов в строке
str_ireplace str_ireplace Возвращает строку, в которой все вхождения search (без учета регистра символов) заменены на replace
str_split str_split Разбивает строку в массив по заданному символу
strcasecmp strcasecmp Сравнивает строки
strcspn strcspn Возвращает длину участка в начале строки, не соответствующего маске
stristr stristr Находит первое совпадение строки в строке (нечуствительно к регистру)
strrev strrev Переворачивает строку задом наперед
strspn strspn Находит самый длинный сегмент строки заключенный в заданные символы
substr_replace substr_replace Производит замену символов в строке
ltrim ltrim Удаляет пробелы слевой части строки
rtrim rtrim Удаляет пробелы с правой части строки
trim trim Удаляет пробелы слева и справа
ucfirst ucfirst Переводит первый символ в верхний регистр
ucwords ucwords Переводит первый символ каждого слова в верхний регистр.
transcode Переводит строку из одной кодировки в другую. Требует iconv
Интересная статья? Поделись ей с другими: