#!/usr/bin/perl -lp s|^(__?\()| $1|; # add a blank at the beginning (?!) s|_\(\[(.*),\s*(.*),\s*(.*)\]|ngettext($2,$3,$1)|; # special plural form handling s,\Qs/#.*//,,; # ugly special case s,(^|[^\$])#([^+].*),"$1/*" . simpl($2) . "*/",e; # rewrite comments to C format except for: # - ``#+ xxx'' comments which are kept # - ``$#xxx'' which are not comments s|//|/""/|g; # ensure // or not understood as comments s|$|\\n\\|; # multi-line strings not handled in C sub simpl { local $_ = $_[0]; s,\*/,,g; $_; }