<?php
/* @var Loco_mvc_ViewParams $params */
/* @var string[] $lines */
echo $this->render('../common/inc-table-filter');?>
<div class="panel loco-loading" id="loco-po">
<ol class="msgcat"><?php
foreach( $lines as $i => $line ):?>
<li id="po-l<?php printf('%u',$i+1)?>"><?php
// may be totally blank line
if( '' === $line ){
echo '<span class="po-none"></span>';
continue;
}
// may be a comment line
if( '#' === substr($line,0,1) ){
// may be able to parse out references
$symbol = (string) substr($line,1,1);
if( '' !== $symbol ){
$line = substr($line,2);
if( ':' === $symbol ){
echo '<span class="po-refs">#:',preg_replace('/\\S+:\d+/', '<a href="#\\0" class="po-text">\\0</a>', $params->escape($line) ),'</span>';
}
// parse out flags and formatting directives
else if( ',' === $symbol ){
echo '<span class="po-flags">#,<span class="po-text">',preg_replace('/[-a-z]+/', '<em>\\0</em>', $params->escape($line) ),'</span></span>';
}
// else treat as normal comment even if empty
else {
echo '<span class="po-comment">#',$symbol,'<span class="po-text">',$params->escape($line),'</span></span>';
}
}
// else probably an empty comment
else {
echo '<span class="po-comment">',$params->escape($line),'</span>';
}
continue;
}
// grab keyword if there is one before quoted string
if( preg_match('/^(msg[_a-z0-9\\[\\]]+)(\\s+)/', $line, $r ) ){
echo '<span class="po-word">',$params->escape($r[1]),'</span><span class="po-space">',$params->escape($r[2]),'</span>';
$line = substr( $line, strlen($r[0]) );
}
// remainder of line (or whole line) should be a quoted string
if( preg_match('/^"(.*)"\s*$/', $line, $r ) ){
echo '<span class="po-string">"<span class="po-text">',$params->escape($r[1]),'</span>"</span>';
continue;
}
// else print whatever junk is left of line
echo '<span class="po-junk">',$params->escape($line),'</span>';
?></li><?php
endforeach?>
</ol>
</div>