[Koha-patches] [PATCH] Bug 9331 - Untranslatable strings in ajax.js

Owen Leonard oleonard at myacpl.org
Mon Dec 31 17:16:00 CET 2012


This patch moves untranslatable strings from ajax.js into the template
where they can be picked up by the translation script.

To test that preference-related error messages continue to work,
open the system preferences editor in two tabs. Log out in one tab and
try to save a system preference in the other. You should see correct
error messages.

To test that error strings are now translatable, run "perl translate update
 <lang>" from misc/translator, then check if the affected strings shows
up in the po file.
---
 koha-tmpl/intranet-tmpl/prog/en/js/ajax.js         |   16 ++++++++--------
 .../prog/en/modules/admin/preferences.tt           |   11 ++++++++---
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/ajax.js b/koha-tmpl/intranet-tmpl/prog/en/js/ajax.js
index dfc0444..71f8365 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/js/ajax.js
+++ b/koha-tmpl/intranet-tmpl/prog/en/js/ajax.js
@@ -7,7 +7,7 @@ KOHA.AJAX = {
             cache: false,
             dataType: 'json',
             type: 'POST',
-            error: function ( xhr, stat, error ) { KOHA.AJAX.BaseError( error_callback, xhr, stat, error ) }
+            error: function ( xhr, stat, error ) { KOHA.AJAX.BaseError( error_callback, xhr, stat, error ); }
         } );
         $.ajax( options );
     },
@@ -15,30 +15,30 @@ KOHA.AJAX = {
         KOHA.xhr = xhr;
         if ( !xhr.getResponseHeader( 'content-type' ).match( 'application/json' ) ) {
             // Something really failed
-            humanMsg.displayAlert( _( 'Internal Server Error, please reload the page' ) );
+            humanMsg.displayAlert( MSG_INTERNAL_SERVER_ERROR );
             return;
         }
 
         var error = eval( '(' + xhr.responseText + ')' );
 
         if ( error.type == 'auth' ) {
-            humanMsg.displayMsg( _( 'You need to log in again, your session has timed out' ) );
+            humanMsg.displayMsg( MSG_SESSION_TIMED_OUT );
         }
 
         if ( callback ) {
             callback( error );
         } else {
-            humanMsg.displayAlert( _( 'Error; your data might not have been saved' ) );
+            humanMsg.displayAlert( MSG_DATA_NOT_SAVED );
         }
     },
     MarkRunning: function ( selector, text ) {
-        text = text || _( 'Loading...' );
+        text = text || MSG_LOADING;
         $( selector )
             .attr( 'disabled', 'disabled' )
             .each( function () {
                 var $image = $( '<img src="/intranet-tmpl/prog/img/spinner-small.gif" alt="" class="spinner" />' );
                 var selector_type = this.localName;
-                if (selector_type == undefined) selector_type = this.nodeName; // IE only
+                if (selector_type === undefined) selector_type = this.nodeName; // IE only
                 switch ( selector_type.toLowerCase() ) {
                     case 'input':
                         $( this ).data( 'original-text', this.value );
@@ -65,7 +65,7 @@ KOHA.AJAX = {
             .removeAttr( 'disabled' )
             .each( function () {
                 var selector_type = this.localName;
-                if (selector_type == undefined) selector_type = this.nodeName; // IE only
+                if (selector_type === undefined) selector_type = this.nodeName; // IE only
                 switch ( selector_type.toLowerCase() ) {
                     case 'input':
                         this.value = $( this ).data( 'original-text' );
@@ -85,4 +85,4 @@ KOHA.AJAX = {
             } )
             .removeData( 'original-text' );
     }
-}
+};
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt
index 823a825..139c35e 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt
@@ -3,9 +3,6 @@
 [% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/preferences.css" />
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/humanmsg.css" />
-<script src="[% themelang %]/lib/jquery/plugins/humanmsg.js" type="text/javascript"></script>
-<script src="[% themelang %]/js/ajax.js" type="text/javascript"></script>
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
 <script type="text/javascript">
 //<![CDATA[
@@ -21,8 +18,16 @@
     var MSG_MADE_CHANGES = _("You have made changes to system preferences.");
     var MSG_CLICK_TO_EXPAND = _("Click to expand this section");
     var MSG_CLICK_TO_COLLAPSE = _("Click to collapse this section");
+    var MSG_INTERNAL_SERVER_ERROR = _( "Internal Server Error, please reload the page" );
+    var MSG_SESSION_TIMED_OUT = _( 'You need to log in again, your session has timed out' );
+    var MSG_DATA_NOT_SAVED = _( 'Error; your data might not have been saved' );
+    var MSG_LOADING = _( 'Loading...' );
+
 //]]>
 </script>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/humanmsg.css" />
+<script src="[% themelang %]/lib/jquery/plugins/humanmsg.js" type="text/javascript"></script>
+<script src="[% themelang %]/js/ajax.js" type="text/javascript"></script>
 <script src="[% themelang %]/js/pages/preferences.js" type="text/javascript"></script>
 <script src="[% themelang %]/lib/jquery/plugins/jquery.highlight-3.js" type="text/javascript"></script>
 </head>
-- 
1.7.9.5


More information about the Koha-patches mailing list