web/data/cubicweb.ajax.js
changeset 10074 ab956b780d4e
parent 10005 7769d0f61810
parent 10028 326fbc5c92b0
child 10164 2094262d6553
equal deleted inserted replaced
10068:1b0cb3c6c95e 10074:ab956b780d4e
   429         return result;
   429         return result;
   430     }
   430     }
   431 }
   431 }
   432 
   432 
   433 //============= higher level AJAX functions using remote calls ===============//
   433 //============= higher level AJAX functions using remote calls ===============//
       
   434 
       
   435 var _i18ncache = {};
       
   436 
   434 /**
   437 /**
   435  * .. function:: _(message)
   438  * .. function:: _(message)
   436  *
   439  *
   437  * emulation of gettext's _ shortcut
   440  * emulation of gettext's _ shortcut
   438  */
   441  */
   439 function _(message) {
   442 function _(message) {
   440     return loadRemote(AJAX_BASE_URL, ajaxFuncArgs('i18n', null, [message]), 'GET', true)[0];
   443     var form;
       
   444     if (!(message in _i18ncache)) {
       
   445         form = ajaxFuncArgs('i18n', null, [message]);
       
   446         _i18ncache[message] = loadRemote(AJAX_BASE_URL, form, 'GET', true)[0];
       
   447     }
       
   448     return _i18ncache[message];
   441 }
   449 }
   442 
   450 
   443 /**
   451 /**
   444  * .. function:: _loadDynamicFragments(node)
   452  * .. function:: _loadDynamicFragments(node)
   445  *
   453  *