Exemple #1
0
 /**
  * Builds a string from the entry for inclusion in PO file
  *
  * @static
  * @param object &$entry the entry to convert to po string
  * @return string|bool PO-style formatted string for the entry or
  * 	false if the entry is empty
  */
 function export_entry(&$entry)
 {
     if (is_null($entry->singular)) {
         return false;
     }
     $po = array();
     if (!empty($entry->translator_comments)) {
         $po[] = PO::comment_block($entry->translator_comments);
     }
     if (!empty($entry->extracted_comments)) {
         $po[] = PO::comment_block($entry->extracted_comments, '.');
     }
     if (!empty($entry->references)) {
         $po[] = PO::comment_block(implode(' ', $entry->references), ':');
     }
     if (!empty($entry->flags)) {
         $po[] = PO::comment_block(implode(", ", $entry->flags), ',');
     }
     if (!is_null($entry->context)) {
         $po[] = 'msgctxt ' . PO::poify($entry->context);
     }
     $po[] = 'msgid ' . PO::poify($entry->singular);
     if (!$entry->is_plural) {
         $translation = empty($entry->translations) ? '' : $entry->translations[0];
         $po[] = 'msgstr ' . PO::poify($translation);
     } else {
         $po[] = 'msgid_plural ' . PO::poify($entry->plural);
         $translations = empty($entry->translations) ? array('', '') : $entry->translations;
         foreach ($translations as $i => $translation) {
             $po[] = "msgstr[{$i}] " . PO::poify($translation);
         }
     }
     return implode("\n", $po);
 }