Here's a Rogier 190

Code:

;!
Function m($)

dim $a

if $=$+0
$m = iif($ mod 20,split(' . : .: ::')[$ mod 5],'-') + left('|||',$ mod 20/5)
$=$/20
if $
$m = m($) + ' ' + $m
endif
else
for each $ in split($)
$a = 0
while m($a)<>$
$a = $a + 1
loop
$m = $m * 20 + $a
;next
;endif

EndFunction
;!