Koha/koha-tmpl/opac-tmpl/bootstrap/js
Julian Maurice 9d6ec5c64b
Bug 21156: Add plural translation capabilities to JS files
It adds Javascript equivalent of Koha::I18N's exported subroutines, and
they are used the same way.

String extraction is done only on *.js files and require gettext 0.19
(available in Debian jessie, and also in wheezy-backports)

It adds Javascript library Gettext.js for handling translation and a
Perl script po2json to transform PO file into JSON.

Gettext.js and po2json both come from Locale::Simple.
There are several tools named po2json. It's simpler to integrate this
one into Koha than to check if the good one is installed on the system.
Locale::Simple is not needed.

To avoid polluting the global namespace too much, this patch also
introduce a global JS object named Koha and add some stuff in Koha.i18n

Test plan:
1. Add a translatable string in a JS file. For example, add this:
     alert(__nx("There is one item", "There are {count} items", 3,
     {count: 3}));
   to staff-global.js
2. cd misc/translator && ./translate update fr-FR
3. Open misc/translator/po/fr-FR-messages-js.po, verify that your
   string is present, and translate it
4. cd misc/translator && ./translate install fr-FR
5. (Optional) Verify that
   koha-tmpl/intranet-tmpl/prog/fr-FR/js/locale_data.js exists and
   contains your translation
6. Open your browser on the staff main page, change language and verify
   that the message is translated
7. Repeat 1-6 on OPAC side

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works well, translation is OK and test message is displayed correctly.
Current qa-tool error is a false positive.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-02-10 10:14:46 +00:00
..
amazonimages.js
authtoresults.js
bakertaylorimages.js
basket.js Bug 23903: Replace OPAC icons with Font Awesome 2019-10-31 15:40:25 +00:00
browserid_include.js
coce.js
datatables.js
Gettext.js Bug 21156: Add plural translation capabilities to JS files 2020-02-10 10:14:46 +00:00
global.js Bug 24341: Allow for more complex markup in OPAC confirmation dialogs 2020-01-20 14:03:50 +00:00
google-jackets.js
googleindictransliteration.js
i18n.js Bug 21156: Add plural translation capabilities to JS files 2020-02-10 10:14:46 +00:00
localcovers.js
openlibrary.js
overdrive.js Bug 22804: OPAC Overdrive JavaScript contains untranslatable strings 2019-10-01 07:35:03 +01:00
recordedbooks.js
script.js Bug 18084: Language selector hidden in user menu on mobile interfaces 2019-10-03 10:51:03 +01:00
tags.js
verovio.js Bug 22581: Show and play musical inscripts 2019-11-03 08:11:38 +00:00