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

Определен в

/libraries/joomla/methods.php

 

Переменные:

  1. array $strings = array()

    Строки javascript.

Методы

  1. alt
    - преобразовывает строку в текущем языке.
    строка  для замены составляется по схеме: $string.'_'.$alt и вставляется в метод _

 

string  alt(string $string, string $alt, [mixed $jsSafe = false], [boolean  $interpretBackSlashes = true], [boolean $script = false])

 

    • string $string - строка для преобразования
    • string $alt - альтернативная настройка для глобальной строки
    • mixed $jsSafe - Возвращает результат выполнения javascript в безопасном режиме, массив из массива опций, как описано в функции sprintf
    • boolean $interpretBackSlashes - для интерпретации слеша (\\ ->\, \n ->возврат корретки, \t -> табуляция)
    • boolean $script - указывает, что в строку будет вставлен javascript код.
  1. plural
    - тоже самое, что и sprintf, только делает множественную форму 
       Примеры:
          `<script>alert(Joomla.JText._('<?php echo JText::plural("COM_PLUGINS_N_ITEMS_UNPUBLISHED", 1, array("script"=>true)); ?>'));</script>`
          сгенерирует предупреждающее сообщение, содержащее '1 плагин успешно отключен'
         `<?php echo JText::plural('COM_PLUGINS_N_ITEMS_UNPUBLISHED', 1); ?>`
         будет генерировать строкe '1 плагин успешно отключен'

 

string plural (string $string, integer $n, mixed 2, array 3)

 

    • string $string -формат строки
    • integer     $n - число пунктов
    • mixed 2 - Смешанное число аргументов для функции sprintf, первый аргумент должен быть целым числом
    • array 3 - дополнительный массив опций
  1. printf
    - прохождение строки через printf

 

mixed sprintf (format $string, mixed 1)

 

    • mixed 1 - смешанное число аргументов для функции sprintf
    • format $string - формат строки
  1. script
    - преобразует строку в текущем языке и сохраняет его как JavaScript

 

void script ([string $string = null], [ $jsSafe = false], [ $interpretBackSlashes = true])

 

    • string $string - Ключ JText
    • $jsSafe
    • $interpretBackSlashes
  1. sprintf
    - прохождение строки через sprintf

 

string sprintf (string $string, mixed 1, array 2)

 

    • string $string - формат строки
    • mixed 1 - смешанное число аргументов для sprintf
    • array 2 - дополнительный массив опций
  1. _
    - преобразование строки в текущем языке

 

string _(string $string, [mixed $jsSafe = false], [boolean $interpretBackSlashes = true], [boolean $script = false])

 

    • string $string - строка для преобразования
    • mixed $jsSafe - Возвращает результат выполнения javascript в безопасном режиме, массив из массива опций, как описано в функции sprintf
    • boolean $interpretBackSlashes - для интерпретации слеша (\\ ->\, \n ->возврат корретки, \t -> табуляция
    • boolean $script - указывает, что в строку будет вставлен javascript код

 

Подключение

jimport( 'joomla.methods' );



Описание функций php

sprintf


sprintf -- Возвращает отформатированную строку

Описание

string sprintf ( string format [, mixed args] )

Возвращает строку, созданную с использованием строки формата format.

Строка формата состоит из директив: обычных символов (за исключением %), которые копируются в результирующую строку, и описатели преобразований, каждый из которых заменяется на один из параметров. Это относится также к   printf().

Каждый описатель прреобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):

  1. Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0. По умолчанию используется пробел. Альтернативный символ может быть указан с помощью '. См. примеры ниже.

  2. Необязательный описатель выравнивания, определяющий выранивание влево или вправо. По умолчанию выравнивается вправо, - используется для выравнивания влево.

  3. Необязательное число, описатель ширины, определяющий минимальное число символов, которое будет содержать результат этого преобразования.

  4. Необязательный описатель точности, определяющий, сколько десятичных разрядов отображать для чисел с плавающей точкой. Имеет смысл только для числовых данных типа float. (Для форматирования чисел удобно также использовать функцию number_format().)

  5. Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:

    % - символ процента. Аргумент не используется.
    b - аргумент трактуется как целое и выводится в виде двоичного числа.
    c - аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
    d - аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
    e - аргумент трактуется как float и выводится в научной нотации (например 1.2e+2).
    u - аргумент трактуется как целое и выводится в виде десятичного числа без знака.
    f - аргумент трактуется как float и выводится в виде десятичного числа с плавающей точкой.
    o - аргумент трактуется как целое и выводится в виде восьмеричного числа.
    s - аргумент трактуется как строка.
    x - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в нижнем регистре букв).
    X - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в верхнем регистре букв).

Пример 1. Изменение порядка параметров

<?php
$format = "There are %d monkeys in the %s";
printf($format, $num, $location);
?>

Этот код выведет "There are 5 monkeys in the tree". Теперь представьте, что строка формата содержится в отдельном файле, который потом будет переведен на другой язык, и мы переписываем ее в таком виде:

Пример 2. Изменение порядка параметров

<?php
$format = "The %s contains %d monkeys";
printf($format, $num, $location);
?>

Появляется проблема: порядок описателей преобразования не соответствует порядку аргументов. Мы не хотим менять код, и нам нужно указать, какому аргументу соответствует тот или иной описатель преобразования.

Пример 3. Изменение порядка параметров

<?php
$format = "The %2\$s contains %1\$d monkeys";
JText::printf($format, $num, $location);
?>

Нумерация аргументов имеет еще одно применение: она позволят вывести один и тот же аргумент несколько раз без передачи функции дополнительных параметров.

Пример 4. Изменение порядка параметров

<?php
$format = "The %2\$s contains %1\$d monkeys.
           That's a nice %2\$s full of %1\$d monkeys.";
JText::printf($format, $num, $location);
?>

Примеры



Пример 5. sprintf(): заполнение нулями

<?php
$isodate = JText::sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Пример 6. sprintf(): форматирование денежных величин

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1";
$formatted = JText::sprintf("%01.2f", $money);
// echo $formatted выведет "123.10"
?>

Пример 7. sprintf(): научная нотация

<?php
$number = 362525200;

echo JText::sprintf("%.3e", $number); // выведет 3.63e+8
?>