You are here

private function PoItem::formatString in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/Gettext/PoItem.php \Drupal\Component\Gettext\PoItem::formatString()

Formats a string for output on multiple lines.

3 calls to PoItem::formatString()
PoItem::formatItem in core/lib/Drupal/Component/Gettext/PoItem.php
Format the POItem as a string.
PoItem::formatPlural in core/lib/Drupal/Component/Gettext/PoItem.php
Formats a plural translation.
PoItem::formatSingular in core/lib/Drupal/Component/Gettext/PoItem.php
Formats a singular translation.

File

core/lib/Drupal/Component/Gettext/PoItem.php, line 272

Class

PoItem
PoItem handles one translation.

Namespace

Drupal\Component\Gettext

Code

private function formatString($string) {

  // Escape characters for processing.
  $string = addcslashes($string, "\0..\37\\\"");

  // Always include a line break after the explicit \n line breaks from
  // the source string. Otherwise wrap at 70 chars to accommodate the extra
  // format overhead too.
  $parts = explode("\n", wordwrap(str_replace('\\n', "\\n\n", $string), 70, " \n"));

  // Multiline string should be exported starting with a "" and newline to
  // have all lines aligned on the same column.
  if (count($parts) > 1) {
    return "\"\"\n\"" . implode("\"\n\"", $parts) . "\"\n";
  }
  else {
    return "\"{$parts[0]}\"\n";
  }
}