code: def _normalize(string, prefix="", width=76):
      r"""Convert a string into a format that is appropriate for .po files.
      >>> print(normalize('''Say:
      ...   "hello, world!"
      ... ''', width=None))
      ""
      "Say:\n"
      "  \"hello, world!\"\n"
      >>> print(normalize('''Say:
      ...   "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "
      ... ''', width=32))
      ""
      "Say:\n"
      "  \"Lorem ipsum dolor sit "
      "amet, consectetur adipisicing"
      " elit, \"\n"
      :param string: the string to normalize
      :param prefix: a string that should be prepended to every line
      :param width: the maximum line width; use `None`, 0, or a negative number
                    to completely disable line wrapping
      """
  
      if width and width > 0:
          prefixlen = _zh_len(prefix)
          lines = []
          for line in string.splitlines(True):
              if _zh_len(escape(line)) + prefixlen > width:
                  chunks = _zh_split(line)
                  chunks.reverse()
                  while chunks:
                      buf = []
                      size = 2
                      while chunks:
                          l = (
                              _zh_len(escape(chunks[-1]))
                              - 2
                              + prefixlen
                          )  # noqa: E741
                          if size + l < width:
                              buf.append(chunks.pop())
                              size += l
                          else:
                              if not buf:
                                  # handle long chunks by putting them on a
                                  # separate line
                                  buf.append(chunks.pop())
                              break
                      lines.append("".join(buf))
              else:
                  lines.append(line)
      else:
          lines = string.splitlines(True)
  
      if len(lines) <= 1:
          return escape(string)
  
      # Remove empty trailing line
      if lines and not lines[-1]:
          del lines[-1]
          lines[-1] += "\n"
      return '""\n' + "\n".join(
          [(prefix + escape(line)) for line in lines]
      )
  
file_path: mars/docs/source/norm_zh.py
imports: import datetime
  import os
  from babel.messages import pofile
  from babel.messages.pofile import escape
label_desc: Use image node_id 3 for calling a global function with example usage: _normalize(string, prefix, width) and returns: unknown, escape