Commit graph

46 commits

Author SHA1 Message Date
Jonathan Druart
37234811a5 Bug 9161: Followup: the -f param does not work correctly
Without this patch, the -f param (for the translate script) add the
modified line in the po file BUT comment all lines from others files.

This patch concat the generated file with the previous one and merge
them. This way produce a pretty po file with all our strings :)

+ Modification in LangInstaller.pm to fix a bug when the -f param was not
given.

Test plan:
1/ Update your po file :
cd misc/translator
perl translate update fr-FR
git commit -a -m"TMP PO"
2/ Modification on 2 files:
ie.
catalogue/advsearch.tt:32 <h1>Advanced search Foo</h1>
catalogue/issuehistory.tt:38 <th>Patron Bar</th>

3/ Update your po file with only the first file:
perl translate update fr-FR -f advsearch.tt

4/ Edit your po file and check that only the foo string is present (or
git diff).

5/ Update your po file with only the second file:
perl translate update fr-FR -f issuehistory

6/ Edit your po file and check that 2 strings are present (or git diff).

7/ Change the translation for these 2 strings and delete the fuzzy
lines.

8/ Install the first file for your language:
perl translate install fr-FR -f advsearch.tt

9/ Edit your translated file and verify the string is translated. Check
that the issuehistory.tt file is not changed.

10/ Same for issuehistory:
perl translate install fr-FR -f issuehistory

11/ stash your modification in your tt files (or reset --hard):
git stash

12/ Check in your po file that the 2 strings are commented (git diff).

13/ To finish, install all template files and check that they are
replaced correctly:
perl translate install fr-FR

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

I have squashed the both follow-up patches.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-05-24 09:08:27 -07:00
Jonathan Druart
6525818076 Bug 9161: Translate only specific files
The previous version of tmpl_process3.pl says in the pod:

  -i, --input=SOURCE          Get or update strings from SOURCE file.
                              SOURCE is a directory if -r is also specified.

But is was not possible to specify one or more files.

This patch allows us to give one or more specific file with the -f
parameter.

for eg.:

perl tmpl_process3.pl install -i /home/koha/koha-tmpl/opac-tmpl/prog/en/modules/
    -o /home/koha/koha-tmpl/opac-tmpl/prog/fr-FR/modules/
    -s /home/koha/misc/translator/po/fr-FR-i-opac-t-prog-v-3006000.po
    -r
    -f opac-account.tt
    -f opac-main.tt

You can specify:
  -f advsearch.tt => translate all files with a filename containing
  'advsearch.tt'
or
  -f search => will translate acqui/histsearch.tt, acqui/z3950_search.tt, etc.

Bug 9161: Followup: Add a -f param for the translate script

Now you can directly call the translate script
(misc/translator/translate) with the -f parameter

eg.:
./translate install|create|update -f search.tt -f main.tt

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

I've squashed the 3 patches, and reported doc into 'translate' script.
It works as advertised.

Side note: It would be great to extend this functionnality in order to
be able to apply the translation to XSL files stored outside Koha
directories hierarchy. Useful to translate site-specific XSLs defined
with XSLTResultsDisplay, and other sysprefs.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-05-24 09:08:25 -07:00
Chris Cormack
3588e2820e Bug 6709 : Patch for testing translating .xml files
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Comment on second patch.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 06:53:38 -04:00
koha-preprod
bc36e5ac5c Bug 5709: Add the ability to translate HTML5 placeholder text in an input field
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-13 10:34:57 -05:00
Paul Poulain
d029ec835d Bug 7780: make silent/verbose flag for translation installing
This patch deal with the -v flag that you can put on translate script.
If you run without -v, the process should be silent
if you run with -v, the process should be verbose

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

I've refactored your patch to handle verbosity directly via a translator
attribute, rather than with parameter which has to be send to each object call
method.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-26 11:01:40 +02:00
Chris Cormack
873091dcc8 Bug 6958 : Fix for leading spaces being stripped on translation
This will re-add any leading spaces, so formatting is not messed

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
- all examples from the bug report are fixed now
- verified system preferences are still translated
- verified xslt displays are still translated
- verified javascript alerts are still translated
- verified switching languages works

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
2011-10-07 09:42:13 +13:00
a41100a445 Bug 6458 Template Toolkit files test case
This test validate Template Toolkit (TT) Koha files.

For the time being an unique validation is done: Test if TT files
contain TT directive within HTML tag. For example:

  <li[% IF

This kind of constuction MUST be avoided because it break Koha
translation process.

This patch transform also translation specific modules into C4 modules
in order to be able to use them in test case:

  C4::TTPaser
  C4::TmplToken
  C4::TmplTokenType

This patch is a Perl adaptation of a Haskell script from Frère Sébastien
Marie.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Notes on testing:
- translate install de-DE - worked ok
- translate update de-DE > translate install de-DE - worked ok
- running the test xt/tt_valid.t - worked ok and pointed out lots of problems.
Found no problems.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-18 21:11:50 +12:00
2281350b6e Bug 6464 Check inconsistent placeholders in translated strings
Display a warning for strings that don't have the same count of %s placeholders
that the English original strings. Don't warn for not translated string and
'fuzzy' string because those strings are not installed, and this is the
translator responsability to examine them.

Based on Frère Sébastien Marie work.

Signed-off-by: Frère Sébastien Marie <semarie-koha@latrappe.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-09 19:48:48 +12:00
Chris Cormack
3fdf627c19 Bug 5917 : Fix for translating XSLT
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-11 21:12:10 +12:00
Chris Cormack
241846c62c Bug 5917 : Fixing the translation script
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-11 20:37:31 +12:00
Chris Cormack
256cc9196c Bug 6085 : setting the binmode broke the files rather than fixing them
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-11 14:47:25 +12:00
Chris Cormack
5a23a45e32 Bug 6085 : utf8 fixed for xslt, and parameters, broken for utf8 included in templates
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-11 12:58:05 +12:00
Christopher Hall
ff532faaa6 Bug 5917 : initial work on translation tool conversion 2011-03-30 09:04:34 +13:00
f7570c461a Bug 4472 Fix how &nbsp; are injected into XSL files
tmpl_process is patched to handle properly specific XML directives.
UNIMARC XSL files are modified to gain knowledge of HTML &nbsp; entity
which isn't the case by default. It may be necessary to do the same
thing for MARC21 XSL.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 13:23:31 -04:00
Chris Cormack
e0c72d37fa Bug 4472 - Missing / in img tags breaking xslt (and other img tags)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-17 19:37:57 -04:00
Donovan Jones
5e0b850d49 Bug 2505 - Add commented use warnings where missing in the misc/ directory 2010-04-21 20:26:44 +12:00
Henri-Damien LAURENT
db4c107c73 Adding optgroup labels to translations 2010-01-28 15:11:45 +01:00
Henri-Damien LAURENT
3330226470 Reintroducing submit value buttons in po files
Submit values need to be translated.
2009-10-29 09:52:16 +01:00
Henri-Damien LAURENT
01b7b518f8 Fixing translation process
Removing checkbox values from po generation

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-10-21 13:13:27 +02:00
Henri-Damien LAURENT
5e66f2d927 Followup updating translation process
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-10-21 11:43:28 +02:00
Henri-Damien LAURENT
c04f833db0 Adding xsl strings to po
xsl strings are now taken into account.
This is a first draft.
Some parameters of the functions will be taken into account
and <xsl> tags are not translated

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-30 11:30:13 +02:00
Joshua Ferraro
e3f6202979 retab translation script
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-07 02:23:38 -06:00
Joshua Ferraro
80af6de885 fixing encoding declarations to make it easier to translate
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-12 09:00:52 -06:00
tipaul
a3999812e6 rel_3_0 moved to HEAD 2007-03-09 14:52:58 +00:00
tipaul
64cd740d2b synch'ing 2.2 and head 2005-05-04 08:58:30 +00:00
acli
0fbc036392 Some changes from rel_2_2:
Make the generated pot file (i.e., result of "create") look more "real",
but using msgmerge to reformat the output

Script failed to create intermediate directories if the directory of the
target does not exist and the parent of that directory does not exist
either. This should fix that.
2005-02-04 03:49:33 +00:00
acli
2d132d2b6b Added hack to extract and translate strings inside JavaScript CDATA blocks,
using C-like _("some translatable string") notation. English templates will
need to be modified.
2004-03-10 07:00:27 +00:00
acli
db1660f512 Fixed some bugs which caused some context to be not recognized, and some
spurious context to be recognized.  In particular, the bugs fixed are:

1. Failure to recognize INPUT element at the end, e.g., if the input has
   the form "Item number:%S", then the pattern was recognized as only
   "Item number".

2. Failure to remove matching <foo></foo> tags if the pattern contains
   INPUT or TMPL_VAR; e.g., if the input has the form "<h1>%s %s</h1>",
   the form would not be simplified to "%s %s".

Unfortunately, fixing these 2 bugs will cause about 40 fuzzies to appear.
2004-03-08 04:59:38 +00:00
acli
aaeb2d8895 More perldoc updates 2004-03-01 18:46:43 +00:00
acli
15ecec16d9 Perldoc update 2004-03-01 18:16:30 +00:00
acli
66775a8646 - Consider <INPUT type=text> and <INPUT type=text> part of strings.
- If a string is enclosed by a tag, remove that tag from the extracted string
- Generate automatic comments to provide more information for the translator
- A couple bug fixes
2004-02-27 13:26:07 +00:00
acli
09b4e498e2 Bug in previous checkin, because we can't get the number of warnings from
the child.
2004-02-25 03:39:49 +00:00
acli
a399dcefad Benedict wants some message at the end that says success or failure.
It's a good idea too.
2004-02-25 03:37:27 +00:00
acli
f6fa24c75d tmpl_process3.pl did not know how to handle absolute pathnames in -i.
(Actually, xgettext.pl did not know how to handle them in the files listed
in the list of files.)

If the po file is empty (corrupted), $href->{'""'} will be undefined.
We just blindly dereferenced this null value without checking.
2004-02-24 14:20:46 +00:00
acli
8eca8478bb We now have a --help option.
Minor comment update

Removed forced backups and the comment about interrupting xgettext.pl
corrupting the po file, now that we seem to be detecting the situation.
2004-02-24 00:47:53 +00:00
acli
c33a411129 The timestamps in the generated PO file should make a little bit more sense
this way. In any case hard-coding a date didn't make any sense at all.
2004-02-23 22:16:08 +00:00
acli
7975e2ad2e Fixed bug in "create" action reported by Benedict 2004-02-23 20:04:04 +00:00
acli
d03a71a5e2 More bugs that prevented some strings from being translated properly.
This time it's a trimming bug.
2004-02-23 05:51:30 +00:00
acli
dae8ab184b Bug that prevented msgid's with French characters from being translated
should now be really fixed.
2004-02-23 04:26:04 +00:00
acli
ec6562b7d3 Oops, forgot to take out some debugging print statements 2004-02-23 04:02:06 +00:00
acli
77a1d8682d Fold all consecutive whitespaces into single blanks. This avoids problems
when minor whitespace changes occur in the original templates; it also
makes the strings much easier to read (e.g., instead of "foo\n\n\t\t  bar",
xgettext.pl will now always generate "foo bar" and tmpl_process3.pl will
understand it to be the same as the original string).
2004-02-23 01:21:03 +00:00
acli
10a00d1b50 Preliminary support for "analysis" of strings with <a> tags.
Early termination of analysis if we encounter some strings, such as </h1>
or | or ||, in order to avoid extracting strings that are unnecessarily
long and which doesn't add any meaningful context.
2004-02-22 21:34:40 +00:00
acli
9268d4e11c The French character handling fix for tmpl_process3 was not checked in
for some reason.

Try to remove trailing ( in strings too.
2004-02-22 08:18:27 +00:00
acli
b2138f5d0d Handle the iso8859-1 charset somewhat, so that when the po file is in
either iso8859-1 or utf8, msgmerge(1) won't crap out. The code is ugly;
the conversion table is hard-coded, and in some place not very appropriate.

However, this does fix the case where a few strings containing French
characters can't be translated. As a side effect, tmpl_process3 can now
also be used for French or other languages using iso8859-1.
2004-02-22 05:18:52 +00:00
acli
14a62cc0c4 Forgot to check for fuzzy-ness. 2004-02-19 21:28:14 +00:00
acli
8b57901d85 New scripts for translation into Chinese and other languages where English
word order is too different than the word order of the target language to
yield meaningful translations.

The new scripts use a different translation file format (namely standard
gettext-style PO files).

This seems to reasonably work (e.g., producing an empty en_GB translation
then installing seems to not corrupt the "translated" files), but it likely
will still contain some bugs. There is also little documentation, but try
to run perldoc on the .p[lm] files to see what's there. There are also some
spurious warnings (both from bugs in the new scripts and from buggy third-
party Locale::PO module).
2004-02-19 21:24:30 +00:00