Bug 7934 - Separate po file for help pages
Summary: Separate po file for help pages
Alias: None
Product: Koha
Classification: Unclassified
Component: I18N/L10N (show other bugs)
Version: master
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Bernardo Gonzalez Kriegel
QA Contact:
Depends on:
Blocks: 11571
  Show dependency treegraph
Reported: 2012-04-09 17:30 UTC by Katrin Fischer
Modified: 2015-06-04 23:23 UTC (History)
7 users (show)

See Also:
Change sponsored?: ---
Patch complexity: Small patch
Who signed the patch off:
Text to go in the release notes:
Version(s) released in:

Bug 7934 - Separate po file for help pages (6.14 KB, patch)
2013-12-05 00:04 UTC, Bernardo Gonzalez Kriegel
Details | Diff | Splinter Review
[SIGNED-OFF]Bug 7934 - Separate po file for help pages (6.20 KB, patch)
2013-12-09 16:32 UTC, Fridolin SOMERS
Details | Diff | Splinter Review
[PASSED QA] Bug 7934 - Separate po file for help pages (6.39 KB, patch)
2013-12-14 14:03 UTC, Katrin Fischer
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Katrin Fischer 2012-04-09 17:30:43 UTC
I propose to split the help files out of the po file for the staff interface. 

It would allow to prioritise while working on translations and reduce the size of our biggest po file.

A possible workflow for translators then could be:

1) Translate the OPAC, because patrons come first :)
2) Translate the staff interface, so staff can start using Koha and all buttons and links have their correct translated names
3) Translate help files while being able to look at the translated interfaces for the right names of elements
Comment 1 Magnus Enger 2012-04-10 12:26:30 UTC
This sounds like an excellent idea! And it reminded me of another old idea which is now Bug 7939 - Separate po files for different MARC dialects.
Comment 2 Viktor Sarge 2012-08-29 17:38:35 UTC
This sounds like a great idea - how much work is it, and who needs to have a say in this? We will start a paid transation this winter and it would be great to be able to secure that the interface is translated first.
Comment 3 Bernardo Gonzalez Kriegel 2013-12-05 00:04:50 UTC Comment hidden (obsolete)
Comment 4 Fridolin SOMERS 2013-12-09 16:32:32 UTC Comment hidden (obsolete)
Comment 5 Fridolin SOMERS 2013-12-09 16:34:12 UTC
Tested with fr-FR, works fine.
I had same false alert with string "• ".
Comment 6 Katrin Fischer 2013-12-14 14:03:58 UTC
Created attachment 23556 [details] [review]
[PASSED QA] Bug 7934 - Separate po file for help pages

This patch modifies LangInstaller.pm to enable separation
of translation for Staff UI and Staff Help files.

It's a move that make sense, Help strings accounts for
44% of total word count for Staff, and as stated on
Comment #1, it could enable a different workflow on
translation work.

It's more a hack than an elegant solution, but it works.
Feel free to suggest another approach.

To test:

We need to test complete functionality, i.e. create and update
translation files and install translation, and verify that no
string is missing.

1) Before applying the patch, we need some data from staff file.
Pick your language, say de_DE, and

cd misc/translator/
perl translate update de-DE
msginit -i po/de-DE-i-staff-t-prog-v-3006000.po -o de-old.po --no-translator --no-wrap --locale=de_DE
egrep ^msgid de-old.po | sort | tee s-old | wc -l > number-old

We have the file s-old with all strings, and the number of strings on number-old

2) Apply the patch

3) New help file is called de-DE-staff-help.po, so create one
cp'ing old staff on new help

cp po/de-DE-i-staff-t-prog-v-3006000.po po/de-DE-staff-help.po

4) Make a new update, and analize

perl translate update de-DE
msginit -i po/de-DE-i-staff-t-prog-v-3006000.po -o de-new.po --no-translator --no-wrap --locale=de_DE
msginit -i po/de-DE-staff-help.po -o de-help.po --no-translator --no-wrap --locale=de_DE
egrep ^msgid de-new.po | sort | tee s-new | wc -l > number-new
egrep ^msgid de-help.po | sort | tee s-help | wc -l > number-help
cat s-new s-help | sort | uniq | tee s-all | wc -l > number-all
cat s-new s-help | sort | uniq -d | tee s-dup | wc -l > number-dup

Ideally what we need to found is:

diff s-old s-all = zero lines (old strings vs new strings)

In my test I got one line, but it's a false positive (the string "• " is present on new staff)

On numbers,

number-old - number-new - nummber-help + number-dup = 0
number-old - number-all = 0

(in my test again I have 1 as result, same string. Also there are 137
repeated lines between new staff and help)

All this tells me that all string to translate are preserved

5) Install translation

perl translate install de-DE

Enable language on staff, and check that help files are translated

6) Finally, create translation files

rm po/de-DE-*
perl translate create de-DE

verify that all files are created. Tests of 4) can be repeated.

7) Verify that no strings from help are present on staff UI file

egrep help po/de-DE-i-staff-t-prog-v-3006000.po

Only results came from help-top and bottom, and a few "help" on staff strings

Signed-off-by: Fridolyn SOMERS <fridolyn.somers@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested according to test plan. Checked various pages in OPAC,
staff and intranet, translation was ok.
Passes QA script and tests.
Comment 7 Galen Charlton 2013-12-17 05:47:01 UTC
Pushed to master.  Thanks, Bernardo!
Comment 8 Jonathan Druart 2014-01-16 14:47:03 UTC
This patch introduces a regression. See bug 11571.
Comment 9 Fridolin SOMERS 2014-06-03 09:49:58 UTC
I've choosen to not backport this to 3.14.x to not impact the translators behaviors. This translation change is now in 3.16.