Все о Joomla 1.5

...заметки Котофеича

 
  • Increase font size
  • Default font size
  • Decrease font size

Home Заметки Заметки Работа со строками в joomla! 1.5

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

E-mail Печать PDF
Одним из основных преимуществ в 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 методОписание
strposstrposНаходит первое совпадение строки в строке
substrsubstrВозвращает часть строки
strtolowerstrtolowerВозвращает строку в нижнем регистре
strtoupperstrtoupperВозвращает строку в верхнем регистре
strlenstrlenКолличество символов в строке
str_ireplacestr_ireplaceВозвращает строку, в которой все вхождения search (без учета регистра символов) заменены на replace
str_splitstr_splitРазбивает строку в массив по заданному символу
strcasecmpstrcasecmpСравнивает строки
strcspnstrcspnВозвращает длину участка в начале строки, не соответствующего маске
stristrstristrНаходит первое совпадение строки в строке (нечуствительно к регистру)
strrevstrrevПереворачивает строку задом наперед
strspnstrspnНаходит самый длинный сегмент строки заключенный в заданные символы
substr_replacesubstr_replaceПроизводит замену символов в строке
ltrimltrimУдаляет пробелы слевой части строки
rtrimrtrimУдаляет пробелы с правой части строки
trimtrimУдаляет пробелы слева и справа
ucfirstucfirstПереводит первый символ в верхний регистр
ucwordsucwordsПереводит первый символ каждого слова в верхний регистр.
transcodeПереводит строку из одной кодировки в другую. Требует iconv