]> git.koha-community.org Git - koha.git/commit
Bug 12207: fix TTparser's handling of TT directives that contain "]"
authorPasi Kallinen <pasi.kallinen@pttk.fi>
Wed, 7 May 2014 06:49:01 +0000 (09:49 +0300)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 23 May 2014 15:27:31 +0000 (15:27 +0000)
commit6fee133c0aa5ff2c97d40d8329170fb4ac6f6565
tree6e031118df43619da8b583f53d68193ad31e3e0a
parente8cab725ba1b550edceca34ec974af75387b1649
Bug 12207: fix TTparser's handling of TT directives that contain "]"

This piece of TT code:

  [% SWITCH lang %]
   [% CASE ['en', 'eng'] %]English
   [% CASE ['fr', 'fre'] %]French
   [% CASE ['it', 'ita'] %]Italian
    ...
   [% CASE %][% lang %]
  [% END %]

is parsed by the TTparser.pm wrong. In the po-files, it shows up as:

   ...

All the "CASE [ ... ]" codes are shown as "ERROR".
This happens if any TT statement contains a ']' in it - the TTParser
looks for anything that starts with [% and ends with ].

This patch fixes it so that it expects TT directives to end
with '%]'.

To test:

1)  cd misc/translator/
2)  perl translate update xx-YY
3)  for x in po/xx-YY-*.po; do cp "$x" "${x/.po/.po.bak}"; done
4)  apply patch
5)  perl translate update xx-YY
6)  for x in po/xx-YY-*.po; do diff -Nurd "$x" "${x/.po/.po.bak}"; done
      the only changed lines should be those that apply to msgid's with
      ERROR-parameters.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described. No errors

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
C4/TTParser.pm