drupal 8 – ¿Está permitido llamar a t ($ variable)?

Pregunta:

En Drupal 7 t () esta advertencia estaba presente:

Nunca debes usar t () para traducir variables

En Drupal 8, bueno, es Drupal 8, ¿quién sabe dónde buscar?

Lo intenté

y no he encontrado una advertencia similar. Pero la ausencia de evidencia no es evidencia de ausencia. ¿Está bien ahora usar una variable?

Respuesta:

El consejo es el mismo, simplemente movido. Los documentos para t() dicen:

Consulte \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() para obtener información de seguridad importante y pautas de uso.

En esa página encontrará consejos familiares:

Traduciendo Variables $ string siempre debe ser una cadena literal en inglés.

$string nunca debe contener una variable, como:

new TranslatableMarkup($text);

Entonces, en general, no, no está bien pasar una variable como primer argumento a t() en Drupal 8. Utilice siempre una cadena literal.

Si necesita usar variables para t() , pase una cadena literal que contenga marcadores de posición y un segundo argumento que contenga sus reemplazos. Por ejemplo:

new TranslatableMarkup("@name's blog", [
  '@name' => $account
    ->getDisplayName(),
]);

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım