LP#1710512 - OPAC js strings need to be i18n-izable
authorCesar Velez <cesar.velez@equinoxinitiative.org>
Thu, 24 Aug 2017 21:17:11 +0000 (17:17 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Tue, 29 Aug 2017 22:11:12 +0000 (18:11 -0400)
Adds a way to translate displayed string messages, in OPAC
JS source code alerts and other outputs. This is done by having
js.tt2 include i18n-strings.tt2 which contains an explosed/global
JS blob variable called eg_opac_i18n. This is intended to work
in similar fashion as base_js.tt2 in the webstaff ng client.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>

Open-ILS/src/templates/opac/i18n_strings.tt2 [new file with mode: 0644]
Open-ILS/src/templates/opac/parts/js.tt2
Open-ILS/web/js/ui/default/opac/holds-validation.js

diff --git a/Open-ILS/src/templates/opac/i18n_strings.tt2 b/Open-ILS/src/templates/opac/i18n_strings.tt2
new file mode 100644 (file)
index 0000000..d92c2b5
--- /dev/null
@@ -0,0 +1,9 @@
+<!--
+This file allows us to bring TT2 i18n'ized strings
+to js source files, via js blob.
+-->
+<script>
+    var eg_opac_i18n = {};
+
+    eg_opac_i18n.EG_MISSING_REQUIRED_INPUT = "[% l('Please fill out all required fields') %]";
+</script>
index e581b07..d4c588f 100644 (file)
@@ -1,6 +1,6 @@
 <!-- JS imports, etc.  -->
 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/simple.js[% ctx.cache_key %]"></script>
-
+[% INCLUDE "opac/i18n_strings.tt2" %]
 <!-- DOB validation for Patron Registration in OPAC -->
 <script type="text/javascript">
     function dobValidate(input) {
index 842366c..ef3c4cd 100644 (file)
@@ -66,7 +66,7 @@ function validateHoldForm() {
     {
         return true;
     } else {
-        alert ("Please complete hold notification method info.");
+        alert(eg_opac_i18n.EG_MISSING_REQUIRED_INPUT);
         res.culpritNames.forEach(function(n){
             document.getElementsByName(n)[0].style.backgroundColor  = "yellow";
         });