From: Galen Charlton Date: Thu, 29 Jun 2017 21:09:54 +0000 (-0400) Subject: LP#1708291: introduce egI18N X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fe1cfbce2fa4e718d6d4c2e7b3a1483c1877b841;p=working%2FEvergreen.git LP#1708291: introduce egI18N egI18N is a module that will serve as a grab-bag of functions related to I18N and L10N. The initial function it provides takes a acpl IDL object and returns a formatted name qualified by the org unit, with the underlying template accessible to the translation subsystem. Signed-off-by: Galen Charlton --- diff --git a/Open-ILS/src/templates/staff/base_js.tt2 b/Open-ILS/src/templates/staff/base_js.tt2 index 82b662e432..88f9d15689 100644 --- a/Open-ILS/src/templates/staff/base_js.tt2 +++ b/Open-ILS/src/templates/staff/base_js.tt2 @@ -43,6 +43,7 @@ + @@ -87,6 +88,7 @@ s.OP_CHANGE_PERM_MESSAGE = "[% l('Another staff member with the above permission may authorize this specific action. Please notify your library administrator if you need this permission. If you feel you have received this exception in error, please inform your friendly Evergreen developers or helpdesk staff of the above permission.') %]"; s.PERM_OP_CHANGE_SUCCESS = "[% l('Permission Override Login Succeeded') %]"; s.PERM_OP_CHANGE_FAILURE = "[% l('Permission Override Login Failed') %]"; + s.LOCATION_NAME_OU_QUALIFIED = "[% l('{{location_name}} ({{owning_lib_shortname}})') %]"; }]); diff --git a/Open-ILS/web/js/ui/default/staff/Gruntfile.js b/Open-ILS/web/js/ui/default/staff/Gruntfile.js index e5941960fa..502f74dbda 100644 --- a/Open-ILS/web/js/ui/default/staff/Gruntfile.js +++ b/Open-ILS/web/js/ui/default/staff/Gruntfile.js @@ -168,6 +168,7 @@ module.exports = function(grunt) { 'services/ui.js', 'services/date.js', 'services/op_change.js', + 'services/i18n.js' ], dest: 'build/js/<%= pkg.name %>.<%= pkg.version %>.min.js' }, diff --git a/Open-ILS/web/js/ui/default/staff/services/coresvc.js b/Open-ILS/web/js/ui/default/staff/services/coresvc.js index f75477047a..c1218cc80a 100644 --- a/Open-ILS/web/js/ui/default/staff/services/coresvc.js +++ b/Open-ILS/web/js/ui/default/staff/services/coresvc.js @@ -10,10 +10,10 @@ angular.module('egCoreMod') .factory('egCore', ['egIDL','egNet','egEnv','egOrg','egPCRUD','egEvent','egAuth', 'egPerm','egHatch','egPrint','egStartup','egStrings','egAudio', - 'egDate', + 'egDate','egI18N', function(egIDL , egNet , egEnv , egOrg , egPCRUD , egEvent , egAuth , egPerm , egHatch , egPrint , egStartup , egStrings , egAudio , - egDate) { + egDate , egI18N) { return { idl : egIDL, @@ -29,7 +29,8 @@ function(egIDL , egNet , egEnv , egOrg , egPCRUD , egEvent , egAuth , startup : egStartup, strings : egStrings, audio : egAudio, - date : egDate + date : egDate, + i18n : egI18N }; }]); diff --git a/Open-ILS/web/js/ui/default/staff/services/i18n.js b/Open-ILS/web/js/ui/default/staff/services/i18n.js new file mode 100644 index 0000000000..2c521d0630 --- /dev/null +++ b/Open-ILS/web/js/ui/default/staff/services/i18n.js @@ -0,0 +1,22 @@ +/** + * egI18N : service for I18N and L10N functions + * + * This is a grab-bag of stuff related to I18N. + * + */ + +angular.module('egCoreMod') +.factory('egI18N', ['egStrings', + function(egStrings) { + return { + ou_qualified_location_name : function(loc) { + return egStrings.$replace( + egStrings.LOCATION_NAME_OU_QUALIFIED, + { + location_name : loc.name(), + owning_lib_shortname : loc.owning_lib().shortname() + } + ); + } + } +}]); diff --git a/Open-ILS/web/js/ui/default/staff/test/karma.conf.js b/Open-ILS/web/js/ui/default/staff/test/karma.conf.js index 87d673130d..900cb67ddf 100644 --- a/Open-ILS/web/js/ui/default/staff/test/karma.conf.js +++ b/Open-ILS/web/js/ui/default/staff/test/karma.conf.js @@ -45,6 +45,7 @@ module.exports = function(config){ 'services/grid.js', 'services/op_change.js', 'services/navbar.js', 'services/date.js', + 'services/i18n.js', // load app scripts 'app.js', 'circ/**/*.js',