diff --git a/JavaScriptApps/IndivLendHome.html b/JavaScriptApps/IndivLendHome.html deleted file mode 100644 index a21655502..000000000 --- a/JavaScriptApps/IndivLendHome.html +++ /dev/null @@ -1,1432 +0,0 @@ - - -
- - -
';
- htmlVar += ' ';
- htmlVar += '
| '; - htmlVar += ' | '; - htmlVar += ' | '; - htmlVar += ' | '; - htmlVar += ' | '; - htmlVar += ' '; - htmlVar += ' | '; - htmlVar += ''; - htmlVar += ' '; - htmlVar += ' | '; - htmlVar += '
" + doI18N('dialog.messages.functionality.not.available') + "
"); - - var okButton = doI18N('dialog.button.ok'); - - var buttonsOpts = {}; - buttonsOpts[okButton] = function() {$(this).dialog("close");}; - - dialogDiv.dialog({ - title: doI18N(titleCode), - width: 300, - height: 200, - modal: true, - buttons: buttonsOpts, - close: function() { - // if i dont do this, theres a problem with errors being appended to dialog view second time round - $(this).remove(); - } - }).dialog('open'); -} - -$.fn.serializeObject = function() - { - var o = {}; - var a = this.serializeArray(); - $.each(a, function() { - if (this.name === 'notSelectedCurrencies' || this.name === 'notSelectedPermissions' || this.name === 'notSelectedRoles') { - // do not serialize - } else { - - if (o[this.name] !== undefined) { - if (!o[this.name].push) { - o[this.name] = [o[this.name]]; - } - o[this.name].push(this.value || ''); - } else { - - if (this.name === 'selectedItems' || this.name === 'notSelectedItems' || this.name === 'currencies' || this.name === 'permissions' || this.name === 'roles') { - o[this.name] = new Array(); - o[this.name].push(this.value || ''); - } else { - o[this.name] = this.value || ''; - } - } - } - }); - return o; - }; - - - - - -//Error functions -function removeErrors(placeholderDiv) { - // remove error class from all input fields - var $inputs = $('#entityform :input'); - - $inputs.each(function() { - $(this).removeClass("ui-state-error"); - }); - - $(placeholderDiv).html(""); -} - -function handleXhrError(jqXHR, textStatus, errorThrown, templateSelector, placeholderDiv) { - if (jqXHR.status === 0) { - alert('No connection. Verify application is running.'); - } else if (jqXHR.status == 401) { - alert('Unauthorized. [401]'); - } else if (jqXHR.status == 404) { - alert('Requested page not found. [404]'); - } else if (jqXHR.status == 405) { - alert('HTTP verb not supported [405]: ' + errorThrown); - } else if (jqXHR.status == 500) { - alert('Internal Server Error [500].'); - } else if (errorThrown === 'parsererror') { - alert('Requested JSON parse failed.'); - } else if (errorThrown === 'timeout') { - alert('Time out error.'); - } else if (errorThrown === 'abort') { - alert('Ajax request aborted.'); - } else { - - removeErrors(placeholderDiv); - - var jsonErrors = JSON.parse(jqXHR.responseText); - console.log(jsonErrors); - var valErrors = jsonErrors.errors; - console.log(valErrors); - var errorArray = new Array(); - var arrayIndex = 0; - $.each(valErrors, function() { - var fieldId = '#' + this.parameterName; - $(fieldId).addClass("ui-state-error"); - - var errorObj = new Object(); - errorObj.field = this.parameterName; - errorObj.code = this.userMessageGlobalisationCode; - - var argArray = new Array(); - var argArrayIndex = 0; - $.each(this.args, function() { - argArray[argArrayIndex] = this.value; - argArrayIndex++; - }); - // hardcoded support for six arguments - errorObj.message = doI18N(this.userMessageGlobalisationCode, argArray[0], argArray[1], argArray[2], argArray[3], argArray[4], argArray[5]); - errorObj.value = this.value; - - errorArray[arrayIndex] = errorObj; - arrayIndex++ - }); - - var templateArray = new Array(); - var templateErrorObj = new Object(); - templateErrorObj.title = doI18N('error.msg.header'); - templateErrorObj.errors = errorArray; - - templateArray[0] = templateErrorObj; - - var formErrorsHtml = $(templateSelector).render(templateArray); - - $(placeholderDiv).append(formErrorsHtml); - } -} - - - - -// these helpers are registered for the jsViews and jsRender functionality to fix bug with display zero! -// plus some utility functions are added also for doI18N and currentLocale -function jsViewsRegisterHelpers() { - $.views.registerHelpers({ - - money: function(monetaryObj) { - - Globalize.culture().numberFormat.currency.symbol = monetaryObj.displaySymbol; - - var digits = monetaryObj.digitsAfterDecimal.toFixed(0); - return Globalize.format(monetaryObj.amount, "n" + digits); - }, - moneyWithCurrency: function(monetaryObj) { - - Globalize.culture().numberFormat.currency.symbol = monetaryObj.displaySymbol; - - var digits = monetaryObj.digitsAfterDecimal.toFixed(0); - return Globalize.format(monetaryObj.amount, "c" + digits); - }, - decimal: function(number, digits) { - try { - return Globalize.format(number, "n" + digits); - } catch(e) { - return number +"(NaN)"; - } - }, - number: function(number) { - try { - return Globalize.format(number, "n0"); - } catch(e) { - return number +"(NaN)"; - } - }, - numberGreaterThanZero: function(number) { - try { - var num = number.toFixed(0); - return num > 0; - } catch(e) { - return false; - } - }, - globalDate: function(dateParts) { - try { - if (undefined != dateParts) - { - var year = dateParts[0]; - var month = parseInt(dateParts[1]) - 1; // month is zero indexed - var day = dateParts[2]; - - var d = new Date(); - d.setFullYear(year,month,day); - - return Globalize.format(d,"dd MMMM yyyy"); - } - else return ""; - } catch(e) { - return "??"; - } - }, - globalDateAsISOString: function(localDateAsISOString) { - - try { - var dateParts = localDateAsISOString.split("-") - var year = dateParts[0]; - var month = parseInt(dateParts[1]) - 1; // month is zero indexed - var day = dateParts[2]; - - var d = new Date(); - d.setFullYear(year,month,day); - - return Globalize.format(d,"dd MMMM yyyy"); - } catch(e) { - return "??"; - } - }, - globalDateTime: function(dateInMillis) { - try { - var d = new Date(dateInMillis); - - return Globalize.format(d,"F"); - } catch(e) { - return "??"; - } - }, - currentLocale: function() { - try { - return Globalize.culture().name; - } catch(e) { - return "??"; - } - }, - doI18N: function(xlateStr, params) { - try { - return doI18N(xlateStr, params); - } catch(e) { - return xlateStr; - } - } - }); -} - diff --git a/JavaScriptApps/resources/allinone.css b/JavaScriptApps/resources/allinone.css deleted file mode 100644 index 01a585b81..000000000 --- a/JavaScriptApps/resources/allinone.css +++ /dev/null @@ -1,74 +0,0 @@ -/*reset*/ -html{color:#000;background:#FFF;}body{margin:0 auto;font-family:Arial, Helvetica, Sans-Serif; font-size:12px;},div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;} -strong{font-weight: bolder;} -/*General*/ -div#container {margin-top:0px;} -div#content {margin-left:5px; margin-right:5px;} -/*top navigation*/ -#nav, #nav ul {padding:0;margin:0;list-style:none;} -#nav a {display:block;padding:7px 7px 7px 7px;color:#ccc;text-decoration:none;} -#nav a.dmenu {} -#nav a.dmenu:hover {color:#3366CC !important;background-color: #fff !important;} -#navwrapper {background-color: #2D2D2D;height:30px;} -#nav {padding-top:0px;} -#nav li {float: left; } -#nav li {position: relative;} -#nav li {position: static; width: auto;}/* hide from IE, mac */ -#nav li ul {position: absolute;display: none;margin-left:-1px;padding-bottom:10px;background-color: #FFFFFF;border: 1px solid #bbb;border-top:none;-moz-box-shadow: 0 0 5px #ddd;-webkit-box-shadow: 0 0 5px #ddd;box-shadow: 0 0 5px #ddd;z-index:5000;} -#nav li:hover a, #nav a:focus, -#nav a:active {padding:7px 7px 7px 7px;color:#fff;background:#444;text-decoration:none;} -#nav li ul, #nav ul li {width: 10em;} -#nav ul li a {color: #3366CC !important;border-right: 0;} -#nav ul li a:hover {color:#3366CC !important;background-color: #eef3fb !important;border-right: 0;} -#nav a.current {color:#fff;font-weight:bold;background:#2D2D2D;text-decoration:none;border-top:2px solid #C33;padding-bottom:5px;} -#nav a.current:hover{padding-bottom:5px;} -#nav li:hover ul {display: block;} -#nav li:hover ul a{color: #000000;background-color: transparent;} -#nav ul a:hover {background-color: #606060!important;color: #FFFFFF !important;} -.menuseprator{border-bottom:1px solid #ddd; margin:10px 0 10px 0;} -.arrowdown{color#eee; font-size:0.5em;} -.floatleft{float:left;} -.floatright{float:right;} -.clear{clear:both;} -/*end of top navigation css*/ -/*simple vertical form*/ -label {display: block; font-size: 14px; padding-top: 3px;} -#formcontainer input {font-size:12px; padding:4px 2px; border:solid 1px #aacfe4; width: 402px;} -#formcontainer select {font-size:12px; padding:3px 2px; border:solid 1px #aacfe4; width: 402px;} -fieldset {border-top: 1px solid;} -legend {margin-left: 10px; font-size: 14px; font-weight: bold;} -#ignorefornow button {clear:both; margin-left:225px; width:125px; height:31px; - background:#666666 no-repeat; text-align:center; - line-height:31px; color:#FFFFFF; font-size:11px; font-weight:bold;} -#formcontainer {margin:0 auto; width: auto; border:solid 2px #b7ddf2; background:#ebf4fb; padding: 14px;} -a.multiselectwidget {display: block; border: 1px solid #aaa; text-decoration: none; - background-color: #fafafa; color: #123456; clear:both;} -div.multiselectwidget {float:left; text-align: center; margin-right: 10px;} -select.multiselectwidget {width: 450px; height: 80px;} - -/*display of information in label, attribute fashion*/ -.row .shortrowlabel {float: left; width: 6em; text-align: left; margin-right: 0.5em;} -.row .rowlabel {float: left; width: 8em; text-align: left; margin-right: 0.5em;} -.row .longrowlabel {float: left; width: 18em; text-align: left; margin-right: 0.5em;} -.row .rowvalue {text-align: left; display: inline-block;} -/**/ -#toolbar {padding: 9px 5px;} -/*datatables*/ -table.pretty {width:100%;} -table.pretty th, table.pretty td {border: 1px gainsboro solid;padding: 0.2em;} -table.pretty caption {margin-left: inherit;margin-right: inherit;font-style: italic;font-weight: bold;} -table.pretty thead tr th {text-align: center;font-weight: bold;border-bottom: 2px solid;} -table.pretty thead tr th.empty {border: 0px;} -table.pretty tfoot tr th {text-align: center;font-weight: bold;border-bottom: 2px solid;border-top: 2px solid;} -table.pretty tbody tr th {text-align: center;} -table.pretty tbody tr td {text-align: center; border-top: solid 1px;} -table.pretty tbody tr.odd td {background: #EBF4FB;} -table.pretty tbody tr.even td {background: #BCEEEE;} -table.pretty thead tr th.highlightcol {border-top: solid 2px #2E6E9E;border-left: solid 2px #2E6E9E;border-right: solid 2px #2E6E9E; border-bottom: 1px gainsboro solid;} -table.pretty tfoot tr th.highlightcol {border-left: solid 2px #2E6E9E;border-right: solid 2px #2E6E9E;} -table.pretty thead tr th.lefthighlightcol, table.pretty tbody tr td.lefthighlightcol, table.pretty tfoot tr th.lefthighlightcol{border-left: solid 2px #2E6E9E;} -table.pretty thead tr th.righthighlightcol, table.pretty tbody tr td.righthighlightcol, table.pretty tfoot tr th.righthighlightcol {border-right: solid 2px #2E6E9E;} -table.pretty thead tr th.lefthighlightcolheader, table.pretty tbody tr td.lefthighlightcolheader, table.pretty tfoot tr th.lefthighlightcolheader {border-left: solid 2px #2E6E9E;} -table.pretty thead tr th.righthighlightcolheader, table.pretty tbody tr td.righthighlightcolheader, table.pretty tfoot tr th.righthighlightcolheader {border-right: solid 2px #2E6E9E;} - -div.loantabs {margin-top: 5px;} \ No newline at end of file diff --git a/JavaScriptApps/resources/excel/excel-2007-header-bg.gif b/JavaScriptApps/resources/excel/excel-2007-header-bg.gif deleted file mode 100644 index cdecbe1eb..000000000 Binary files a/JavaScriptApps/resources/excel/excel-2007-header-bg.gif and /dev/null differ diff --git a/JavaScriptApps/resources/excel/excel-2007-header-left.gif b/JavaScriptApps/resources/excel/excel-2007-header-left.gif deleted file mode 100644 index 5e29ab7e6..000000000 Binary files a/JavaScriptApps/resources/excel/excel-2007-header-left.gif and /dev/null differ diff --git a/JavaScriptApps/resources/excel/excel-2007.css b/JavaScriptApps/resources/excel/excel-2007.css deleted file mode 100644 index 362069ed9..000000000 --- a/JavaScriptApps/resources/excel/excel-2007.css +++ /dev/null @@ -1,45 +0,0 @@ -.ExcelTable2007 { - border: 1px solid #B0CBEF; - border-width: 1px 0px 0px 1px; - font-size: 11pt; - font-family: Calibri; - font-weight: 100; - border-spacing: 0px; - border-collapse: collapse; -} - -.ExcelTable2007 TH { - background-image: url(excel-2007-header-bg.gif); - background-repeat: repeat-x; - font-weight: normal; - font-size: 14px; - border: 1px solid #9EB6CE; - border-width: 0px 1px 1px 0px; - height: 17px; -} - -.ExcelTable2007 TD { - border: 0px; - background-color: white; - padding: 0px 4px 0px 2px; - border: 1px solid #D0D7E5; - border-width: 0px 1px 1px 0px; -} - -.ExcelTable2007 TD B { - border: 0px; - background-color: white; - font-weight: bold; -} - -.ExcelTable2007 TD.heading { - background-color: #E4ECF7; - text-align: center; - border: 1px solid #9EB6CE; - border-width: 0px 1px 1px 0px; -} - -.ExcelTable2007 TH.heading { - background-image: url(excel-2007-header-left.gif); - background-repeat: none; -} diff --git a/JavaScriptApps/resources/favicon.ico b/JavaScriptApps/resources/favicon.ico deleted file mode 100644 index ec2bd72e6..000000000 Binary files a/JavaScriptApps/resources/favicon.ico and /dev/null differ diff --git a/JavaScriptApps/resources/formTempates.txt b/JavaScriptApps/resources/formTempates.txt deleted file mode 100644 index b38b73b1a..000000000 --- a/JavaScriptApps/resources/formTempates.txt +++ /dev/null @@ -1,831 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JavaScriptApps/resources/global-translations/messages.properties b/JavaScriptApps/resources/global-translations/messages.properties deleted file mode 100644 index 565ef876e..000000000 --- a/JavaScriptApps/resources/global-translations/messages.properties +++ /dev/null @@ -1,375 +0,0 @@ -# jQuery.1ln8 plugin seems to give first line of properties file as error for some reason. -app.name=Individual Lending -app.loading=Loading... - -reporting.decimals=Decimals -reporting.format=Format - -login.username=User Name -login.password=Password - -link.topnav.clients=Clients -link.topnav.users=User Administration -link.topnav.organisation=Organisation Administration -link.reports=Reports -link.signout=Sign out -link.topnav.account.settings=Account Settings -link.topnav.theme=Theme -link.topnav.culture=Culture - -page.home.title=Home -tab.search=Search -label.client.search=Choose client: -option.client.search.first.choice=--Select Client-- -link.add.new.client=Add a new client - -page.client.account.title=View Client Account Detailscon -page.admin.home.title=Administration Home -page.admin.settings.title=Account Settings - -dialog.title.add.client=Add client -label.office=Office: -option.office.first.choice=--Select Office-- -label.lastname=Last name: -label.firstname=First name: -label.longname=Client or Business name: -label.joiningdate=Joining date: - -error.msg.header=You have the following errors: -validation.msg.client.officeId.cannot.be.blank=A client must be associated with an office. -validation.msg.client.firstname.cannot.be.blank=First name cannot be blank. -validation.msg.client.lastname.cannot.be.blank=Last name cannot be blank. -validation.msg.client.joiningDate.cannot.be.blank=Joining date cannot be blank. -validation.msg.client.firstname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details. -validation.msg.client.lastname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details. - -error.msg.client.id.invalid=Client does not exist. -error.msg.office.id.invalid=Office does not exist. -error.msg.office.duplicate.externalId=An office with 'External Id' already exists. -error.msg.office.duplicate.name=An office with 'name' already exists. -error.msg.office.unknown.data.integrity.issue=An unknown data integrity issue occured. - -dialog.title.confirmation.required=Confirmation required -text.confirmation.required=Are you sure? -dialog.title.functionality.not.available=Functionality not yet available -dialog.messages.functionality.not.available=Functionality not yet available. - -dialog.button.submit=Submit -dialog.button.save=Save -dialog.button.cancel=Cancel -dialog.button.ok=Ok -dialog.button.confirm=Confirm -link.edit=Edit -widget.multiselect.button.add=Add -widget.multiselect.button.remove=Remove - -dialog.title.new.loan.application=New loan application -dialog.button.new.loan.application=New loan application -dialog.button.reject.loan=Reject -dialog.button.withdrawn.by.client.loan=Withdrawn by applicant -dialog.button.approve.loan=Approve -dialog.button.delete.loan=Delete -dialog.button.undo.loan.approval=Undo approval -dialog.button.undo.loan.disbursal=Undo disbursal -dialog.button.disburse.loan=Disburse -dialog.button.loan.repayment=Loan repayment -dialog.button.adjust.loan.repayment=Adjust -dialog.button.loan.waive=Waive - -dialog.button.add.note=Add note -label.client.account.name=Name: -label.client.account.branch=Branch: -label.client.account.joinedon=Joined on: -heading.client.account.account.overview=Account Overview -label.client.account.pending.approval.loans=Pending approval loans -label.client.account.pending.disbursal.loans=Awaiting disbursal loans -label.client.account.active.loans=Active loans -label.client.account.closed.loans=Closed loans -label.client.account.no.loans.exist=No accounts exist -heading.client.account.extra.information=Additional Information -dialog.title.edit.additional.client.information=Edit additional client information - -widget.notes.heading=You have the following notes: -widget.notes.label.client.note=Client note: -widget.notes.label.loan.note=Loan note: -widget.notes.label.loan.transaction.note=Loan transaction note: - -dialog.title.add.note=Add note -dialog.title.edit.note=Edit note -dialog.notes.form.label.note=Note: - -# error handling messages for loan event and transactions screens -error.msg.no.loan.with.identifier.exists=No loan with identifier {0} exists. -error.msg.no.permission=You do not have sufficient permissions to perform this action. -error.msg.no.permission.to.approve.loan.in.past=You do not have permission to approve a loan with a date in the past. -error.msg.no.permission.to.reject.loan.in.past=You do not have permission to reject a loan with a date in the past. -error.msg.no.permission.to.withdraw.loan.in.past=You do not have permission to withdraw a loan with a date in the past. -error.msg.no.permission.to.disburse.loan.in.past=You do not have permission to disburse a loan with a date in the past. -error.msg.no.permission.to.make.repayment.on.loan.in.past=You do not have permission to make a repayment on the loan with a date in the past. -error.msg.cannot.delete.loan.in.its.present.state=You cannot delete the loan in its current state. It must be pending approval. - -validation.msg.invalid.date.format=Invalid date format. -validation.msg.invalid.number.format=Invalid number format. -validation.msg.loan.id.is.invalid=Loan identifier is invalid. -validation.msg.loan.transaction.id.is.invalid=Loan transaction identifier is invalid. - -validation.msg.loan.state.transition.date.cannot.be.blank=A date must be provided when transitioning the loan into this state. -validation.msg.note.exceeds.max.length=The content of the note exceeds max length of 1000 characters. - -# loan event and transactions screens -label.loan.on=On: -label.loan.action.note=Note: -dialog.title.reject.loan=Reject loan -dialog.title.loan.withdrawn.by.client=Withdrawn by client -dialog.title.approve.loan=Approve loan -dialog.title.undo.loan.approval=Undo loan approval: confirmation required -dialog.title.disburse.loan=Disburse loan -dialog.title.undo.loan.disbursal=Undo loan disbursal: confirmation required -dialog.title.loan.repayment=Loan repayment -dialog.title.adjust.loan.repayment=Adjust loan repayment -dialog.title.waive.loan=Waive outstanding amount -label.loan.transaction.on=Repayment on: -label.loan.transaction.amount=Amount: - -tab.client.account.loan.details=Details -tab.client.account.loan.schedule=Schedule -tab.client.account.loan.repayments=Repayments - -tab.client.account.loan.schedule.table.summary.caption=Summary -tab.client.account.loan.schedule.table.repaymentschedule.caption=Repayment Schedule -tab.client.account.loan.schedule.table.repayments.caption=Repayment Activity - -tab.client.account.loan.schedule.table.summary.heading.original=Original Loan -tab.client.account.loan.schedule.table.summary.heading.paid=Paid -tab.client.account.loan.schedule.table.summary.heading.waived=Waived -tab.client.account.loan.schedule.table.heading.outstanding=Outstanding -tab.client.account.loan.schedule.table.column.heading.expected=Expected -tab.client.account.loan.schedule.table.column.heading.paid=Paid -tab.client.account.loan.schedule.table.column.heading.principal=Principal -tab.client.account.loan.schedule.table.column.heading.interest=Interest -tab.client.account.loan.schedule.table.column.heading.total=Total - -tab.client.account.loan.schedule.table.column.heading.date=Date -tab.client.account.loan.schedule.table.column.heading.paymentdate=Payment Date -tab.client.account.loan.schedule.table.column.heading.amountpaid=Amount Paid -tab.client.account.loan.schedule.table.column.heading.principal.portion=Principal Portion -tab.client.account.loan.schedule.table.column.heading.interest.portion=Interest Portion -tab.client.account.loan.schedule.table.column.heading.action=Action - -# client account screen -label.client.account.loan.status=Status: -label.client.account.loan.status.since=since -label.client.account.loan.status.arrears=In arrears by: -label.client.account.loan.submitted.on=Submitted on: -label.client.account.loan.approved.on=Approved on: -label.client.account.loan.expected.disbursement.on=Expected dibursement on: -label.client.account.loan.disbursed.on=Disbursed on: -label.client.account.loan.first.repayment.due.on=First repayment due on: -label.client.account.loan.interest.charged.from=Interest charged from: -label.client.account.loan.expected.maturity.on=Expected to mature on: -label.client.account.loan.closed.on=Closed on: -label.client.account.loan.term=Expected loan term: -label.client.account.loan.actual.term=Actual loan term: -label.months=Months -label.days=Days -label.client.account.loan.product=Product: -label.client.account.loan.externalid=External id: -label.client.account.loan.currency=Currency: -label.client.account.loan.principal=Principal: -label.client.account.loan.repayments=Repayments: -label.client.account.loan.amortization=Amortization: -label.client.account.loan.interest=Interest: - -# organisation administration screens -administration.link.view.products=View Products -administration.link.add.product=Add Product -administration.link.view.offices=View Offices -administration.link.add.office=Add Office -administration.link.currency.configuration=Currency Configuration - -administration.link.view.users=View Users -administration.link.add.user=Add User -administration.link.view.roles=View Roles -administration.link.add.role=Add Role -administration.link.view.permissions=View Permissions - -table.heading.product.name=Product Name -table.heading.product.created=Created -table.heading.product.modified=Last Modified -table.heading.product.active=Active - -link.action.product.deactivate=Deactivate -link.action.product.viewedit=View/Edit -link.action.product.delete=Delete - -dialog.title.add.loan.product=Add loan product -dialog.title.product.details=Loan product details - -form.label.loan.applicant=Applicant: -form.label.loan.submitted.on=Submitted on: -form.label.loan.submitted.on.note=Loan submittal note: -form.label.loan.annual.nominal.interestrate=Annual nominal rate %: -form.label.loan.interest.charged.from=Interest charged from: -form.label.loan.expected.disbursement.date.on=Expected disbursement on: -form.label.loan.first.repayment.on=First repayment on: - -validation.msg.loan.digitsAfterDecimal.cannot.be.blank=You must enter a number to represent number of digits after decimal to be supported for product. -validation.msg.loan.digitsAfterDecimal.is.not.within.expected.range=Decimal places must be a number between {1} and {2} inclusive. -validation.msg.loan.repaymentEvery.cannot.be.blank=Repaid every cannot be blank. -validation.msg.loan.repaymentEvery.not.greater.than.zero=Repaid every must be greater than 0. -validation.msg.loan.numberOfRepayments.cannot.be.blank=# of repayments cannot be blank. -validation.msg.loan.numberOfRepayments.not.greater.than.zero=# of repayments must be greater than 0. -validation.msg.loan.principal.cannot.be.blank=Loan amount cannot be blank. -validation.msg.loan.inArrearsTolerance.cannot.be.blank=Arrears tolerance cannot be blank. -validation.msg.loan.interestRatePerPeriod.cannot.be.blank=Nominal interest rate % cannot be blank. -validation.msg.loan.principal.not.greater.than.zero=Loan amount must be greater than zero. -validation.msg.loan.inArrearsTolerance.not.zero.or.greater=Arrears tolerance must be greater than or equal to zero. -validation.msg.loan.interest.rate.per.period.amount.cannot.be.negative=Nominal interest rate % cannot be negative. -validation.msg.loan.repayment.date.cannot.be.blank=The repayment date cannot be blank. -validation.msg.loan.repayment.must.be.greater.than.zero=The repayment amount must be a number greater than zero. -validation.msg.loan.adjustment.must.be.zero.or.greater=The repayment amount must be a number greater than or equal to zero. - -validation.msg.loan.expectedDisbursementDate.cannot.be.blank=Expected disbursement on field cannot be blank. -validation.msg.loan.expectedDisbursementDate.cannot.be.after.first.repayment.date=Expected disbursement date cannot be after the first repayment date. -validation.msg.loan.interestCalculatedFromDate.must.be.entered.when.using.repayments.startfrom.field=The date interest is to be calculated from cannot be left blank when a date is provided for when repayments start from. -validation.msg.loan.submitted.on.date.cannot.be.blank=Submitted on date cannot be blank. -validation.msg.loan.submitted.on.date.cannot.be.after.expectedDisbursementDate=Submitted on date cannot be after the expected disbursement date. - -form.legend.loan.information=Loan Information -form.legend.loan.product.information=Loan Product Information -form.label.product.dropdown=Product: -form.option.product.dropdown.first.choice=--Select Product-- -form.label.loan.product.name=Name: -form.label.loan.product.description=Description: -form.legend.loan.product.currency=Currency -form.label.loan.product.currency=Currency: -form.label.loan.product.decimalplaces=Decimal places: -form.legend.loan.product.loan.terms=Loan Terms -form.label.loan.product.loan.amount=Loan amount: -form.label.loan.product.repaidevery=Repaid every: -form.label.loan.product.numberof.repayments=# of repayments: -form.label.loan.product.amortization=Amortization: -form.label.loan.product.arrears.tolerance=Arrears tolerance: -form.label.loan.product.nominal.interestrate=Nominal interest rate %: -form.label.loan.product.interest.method=Interest method: -form.label.loan.product.interest.rate.calcutated.in.period=Interest calculation period: - -validation.msg.product.name.cannot.be.blank=Product name cannot be blank. -validation.msg.product.description.exceeds.max.length=The content of the description has exceeded max allowed length of 500 characters. -validation.msg.product.digitsAfterDecimal.cannot.be.blank=You must enter a number to represent number of digits after decimal to be supported for product. -validation.msg.product.digitsAfterDecimal.is.not.within.expected.range=Decimal places must be a number between {1} and {2} inclusive. - -validation.msg.product.repaymentEvery.cannot.be.blank=Repaid every cannot be blank. -validation.msg.product.repaymentEvery.not.greater.than.zero=Repaid every must be greater than 0. -validation.msg.product.numberOfRepayments.cannot.be.blank=# of repayments cannot be blank. -validation.msg.product.numberOfRepayments.not.greater.than.zero=# of repayments must be greater than 0. - -validation.msg.product.principal.cannot.be.blank=Loan amount cannot be blank. -validation.msg.product.inArrearsTolerance.cannot.be.blank=Arrears tolerance cannot be blank. -validation.msg.product.interestRatePerPeriod.cannot.be.blank=Nominal interest rate % cannot be blank. - -validation.msg.product.principal.not.greater.than.zero=Loan amount must be greater than zero. -validation.msg.product.inArrearsTolerance.not.zero.or.greater=Arrears tolerance must be greater than or equal to zero. -validation.msg.product.interest.rate.per.period.amount.cannot.be.negative=Nominal interest rate % cannot be negative. - -table.heading.office.name=Office Name -table.heading.office.externalid=External Id -table.heading.office.openedon=Opened on -table.heading.office.parent=Parent Office - -dialog.title.add.office=Add office -dialog.title.office.details=Office details - -form.legend.office.details=Office details -form.label.office.name=Name: -form.label.office.parent=Parent office: -form.label.office.openedon=Opened on: -form.label.office.externalid=External id: - -validation.msg.office.name.cannot.be.blank=Office name cannot be blank. -validation.msg.office.parentId.cannot.be.blank=You must select a parent office. -validation.msg.office.parentId.not.greater.than.zero=You must select a parent office. -validation.msg.office.openingDateFormatted.cannot.be.blank=You must choose a date to represent when the office commenced services. -validation.msg.office.externalId.exceeds.max.length=External id exceeds max length of {0} alpha-numeric characters - {1}. - -dialog.title.configuration.currencies=Currency Configuration -form.label.configuration.available.currencies=Available currencies: -form.label.configuration.allowed.currencies=Allowed currencies: - -validation.msg.configuration.currencies.cannot.be.empty=You must select at least one currency that is 'allowed' for your organisation. - -# user account settings and admin screens -tab.settings=Settings -dialog.title.update.password=Update password -dialog.title.update.details=Update details - -form.label.new.password=New password: -form.label.repeat.new.password=Repeat new password: - -form.label.username=Username: -form.label.firstname=First name: -form.label.lastname=Last name: -form.label.email=Email: - -form.label.heading.office=Office: -form.label.office=Office: - -form.label.heading.details=Details: -form.label.name=Name: -form.label.username=Username: -form.label.email=Email: -form.link.changedetails=Change details - -form.label.heading.security=Security: -form.label.password=Password: -form.link.changepassword=Change password - -form.label.heading.roles=Roles: - -error.msg.username.already.exists.in.organisation=An account with that username already exists. - -validation.msg.user.username.cannot.be.blank=Username cannot be blank. -validation.msg.username.already.exists.in.organisation=An account with that username already exists. -validation.msg.user.firstname.cannot.be.blank=Firstname cannot be blank. -validation.msg.user.lastname.cannot.be.blank=Lastname cannot be blank. -validation.msg.user.email.cannot.be.blank=Email cannot be blank. -validation.msg.user.officeId.cannot.be.blank=You must select an office. -validation.msg.user.officeId.not.greater.than.zero=You must select an office. -validation.msg.user.roles.cannot.be.empty=A user must have at least one role. -validation.msg.changepassword.password.cannot.be.blank=Password cannot be blank. -validation.msg.changepassword.passwordrepeat.cannot.be.blank=Repeated password cannot be blank. -validation.msg.changepassword.passwordrepeat.not.the.same=Password and Repeat password are not the same. - -dialog.title.add.user=Add user -dialog.title.add.role=Add role -dialog.title.edit.details=Edit details - -form.legend.role.details=Role Details -form.label.role.name=Name: -form.label.role.description=Description: -form.label.role.available.permissions=Available permissions: -form.label.role.selected.permissions=Selected permissions: - -form.legend.user.details=User Details -form.label.user.username=Username: -form.label.user.firstname=First name: -form.label.user.lastname=Last name: -form.label.user.email=Email: -form.label.user.office=Office: -form.label.user.available.roles=Available roles: -form.label.user.selected.roles=Selected roles: - -validation.msg.role.name.cannot.be.blank=Name cannot be blank. -validation.msg.role.description.cannot.be.blank=Description cannot be blank. -validation.msg.role.description.exceeds.max.length=The content of the description exceeds max allowed length of 500 characters. -validation.msg.role.permissions.cannot.be.empty=A role must have at least one permission associated with it. - -table.heading.officename=Office Name -table.heading.username=Username -table.heading.name=Name -table.heading.email=Email -table.heading.rolename=Role Name -table.heading.description=Description -table.heading.permission.type=Type -table.heading.permission.permission=Permission -table.heading.permission.description=Description \ No newline at end of file diff --git a/JavaScriptApps/resources/global-translations/messages_es.properties b/JavaScriptApps/resources/global-translations/messages_es.properties deleted file mode 100644 index 383e0fae9..000000000 --- a/JavaScriptApps/resources/global-translations/messages_es.properties +++ /dev/null @@ -1,365 +0,0 @@ - -app.name=Individual Lending (es) -app.loading=Loading...(es) - -reporting.decimals=Decimals (es) -reporting.format=Format (es) - -login.username=User Name (es) -login.password=Password (es) - -link.topnav.clients=Clients(es) -link.topnav.users=User Administration(es) -link.topnav.organisation=Organisation Administration(es) -link.reports=Reports(es) -link.signout=Sign out(es) -link.topnav.account.settings=Account Settings(es) -link.topnav.theme=Theme(es) -link.topnav.culture=Culture(es) - -page.home.title=Home(es) -tab.search=Search(es) -label.client.search=Choose client:(es): -option.client.search.first.choice=--Select Client--(es) -link.add.new.client=Add a new client(es) - -page.client.account.title=View Client Account Details(es) -page.admin.home.title=Administration Home(es) -page.admin.settings.title=Account Settings(es) - -dialog.title.add.client=Add client(es) -label.office=Office(es): -option.office.first.choice=--Select Office--(es) -label.lastname=Last name(es): -label.firstname=First name(es): -label.longname=Full name:(es) -label.joiningdate=Joining date(es): - -error.msg.header=You have the following errors:(es) -validation.msg.client.officeId.cannot.be.blank=A client must be associated with an office.(es) -validation.msg.client.firstname.cannot.be.blank=First name cannot be blank.(es) -validation.msg.client.lastname.cannot.be.blank=Last name cannot be blank.(es) -validation.msg.client.joiningDate.cannot.be.blank=Joining date cannot be blank.(es) -validation.msg.client.firstname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(es) -validation.msg.client.lastname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(es) - -error.msg.client.id.invalid=Client does not exist.(es) -error.msg.office.id.invalid=Office does not exist.(es) -error.msg.office.duplicate.externalId=An office with 'External Id' already exists.(es) -error.msg.office.duplicate.name=An office with 'name' already exists.(es) -error.msg.office.unknown.data.integrity.issue=An unknown data integrity issue occured.(es) - -dialog.title.confirmation.required=Confirmation required(es) -text.confirmation.required=Are you sure?(es) -dialog.title.functionality.not.available=Functionality not yet available(es) -dialog.messages.functionality.not.available=Functionality not yet available.(es) - -dialog.button.submit=Submit(es) -dialog.button.save=Save(es) -dialog.button.cancel=Cancel(es) -dialog.button.ok=Ok(es) -dialog.button.confirm=Confirm(es) -link.edit=Edit(es) -widget.multiselect.button.add=Add(es) -widget.multiselect.button.remove=Remove(es) - -dialog.title.new.loan.application=New loan application(es) -dialog.button.new.loan.application=New loan application(es) -dialog.button.reject.loan=Reject(es) -dialog.button.withdrawn.by.client.loan=Withdrawn by applicant(es) -dialog.button.approve.loan=Approve(es) -dialog.button.delete.loan=Delete(es) -dialog.button.undo.loan.approval=Undo approval(es) -dialog.button.undo.loan.disbursal=Undo disbursal(es) -dialog.button.disburse.loan=Disburse(es) -dialog.button.loan.repayment=Loan repayment(es) -dialog.button.adjust.loan.repayment=Adjust(es) -dialog.button.loan.waive=Waive(es) - -dialog.button.add.note=Add note(es) -label.client.account.name=Name:(es) -label.client.account.branch=Branch:(es) -label.client.account.joinedon=Joined on:(es) -heading.client.account.account.overview=Account Overview(es) -label.client.account.pending.approval.loans=Pending approval loans(es) -label.client.account.pending.disbursal.loans=Awaiting disbursal loans(es) -label.client.account.active.loans=Active loans(es) -label.client.account.closed.loans=Closed loans(es) -label.client.account.no.loans.exist=No accounts exist(es) -heading.client.account.extra.information=Additional Information(es) -dialog.title.edit.additional.client.information=Edit additional client information(es) - -widget.notes.heading=You have the following notes:(es) -widget.notes.label.client.note=Client note:(es) -widget.notes.label.loan.note=Loan note:(es) -widget.notes.label.loan.transaction.note=Loan transaction note:(es) - -dialog.title.add.note=Add note(es) -dialog.title.edit.note=Edit note(es) -dialog.notes.form.label.note=Note:(es) - -# error handling messages for loan event and transactions screens -error.msg.no.loan.with.identifier.exists=No loan with identifier {0} exists.(es) -error.msg.no.permission=You do not have sufficient permissions to perform this action.(es) -error.msg.no.permission.to.approve.loan.in.past=You do not have permission to approve a loan with a date in the past.(es) -error.msg.no.permission.to.reject.loan.in.past=You do not have permission to reject a loan with a date in the past.(es) -error.msg.no.permission.to.withdraw.loan.in.past=You do not have permission to withdraw a loan with a date in the past.(es) -error.msg.no.permission.to.disburse.loan.in.past=You do not have permission to disburse a loan with a date in the past.(es) -error.msg.no.permission.to.make.repayment.on.loan.in.past=You do not have permission to make a repayment on the loan with a date in the past.(es) -error.msg.cannot.delete.loan.in.its.present.state=You cannot delete the loan in its current state. It must be pending approval.(es) - -validation.msg.invalid.date.format=Invalid date format.(es) -validation.msg.invalid.number.format=Invalid number format.(es) -validation.msg.loan.id.is.invalid=Loan identifier is invalid.(es) -validation.msg.loan.transaction.id.is.invalid=Loan transaction identifier is invalid.(es) - -validation.msg.loan.state.transition.date.cannot.be.blank=A date must be provided when transitioning the loan into this state.(es) -validation.msg.note.exceeds.max.length=The content of the note exceeds max length of 1000 characters.(es) - -validation.msg.loan.repayment.date.cannot.be.blank=The repayment date cannot be blank.(es) -validation.msg.loan.repayment.must.be.greater.than.zero=The repayment amount must be a number greater than zero.(es) -validation.msg.loan.adjustment.must.be.zero.or.greater=The repayment amount must be a number greater than or equal to zero.(es) - -# loan event and transactions screens -label.loan.on=On:(es) -label.loan.action.note=Note:(es) -dialog.title.reject.loan=Reject loan(es) -dialog.title.loan.withdrawn.by.client=Withdrawn by client(es) -dialog.title.approve.loan=Approve loan(es) -dialog.title.undo.loan.approval=Undo loan approval: confirmation required(es) -dialog.title.disburse.loan=Disburse loan(es) -dialog.title.undo.loan.disbursal=Undo loan disbursal: confirmation required(es) -dialog.title.loan.repayment=Loan repayment(es) -dialog.title.adjust.loan.repayment=Adjust loan repayment(es) -dialog.title.waive.loan=Waive outstanding amount(es) -label.loan.transaction.on=Repayment on:(es) -label.loan.transaction.amount=Amount:(es) - -tab.client.account.loan.details=Details(es) -tab.client.account.loan.schedule=Schedule(es) -tab.client.account.loan.repayments=Repayments(es) - -tab.client.account.loan.schedule.table.summary.caption=Summary(es) -tab.client.account.loan.schedule.table.repaymentschedule.caption=Repayment Schedule(es) -tab.client.account.loan.schedule.table.repayments.caption=Repayment Activity(es) - -tab.client.account.loan.schedule.table.summary.heading.original=Original Loan(es) -tab.client.account.loan.schedule.table.summary.heading.paid=Paid(es) -tab.client.account.loan.schedule.table.summary.heading.waived=Waived(es) -tab.client.account.loan.schedule.table.heading.outstanding=Outstanding(es) -tab.client.account.loan.schedule.table.column.heading.expected=Expected(es) -tab.client.account.loan.schedule.table.column.heading.paid=Paid(es) -tab.client.account.loan.schedule.table.column.heading.principal=Principal(es) -tab.client.account.loan.schedule.table.column.heading.interest=Interest(es) -tab.client.account.loan.schedule.table.column.heading.total=Total(es) - -tab.client.account.loan.schedule.table.column.heading.date=Date(es) -tab.client.account.loan.schedule.table.column.heading.paymentdate=Payment Date(es) -tab.client.account.loan.schedule.table.column.heading.amountpaid=Amount Paid(es) -tab.client.account.loan.schedule.table.column.heading.principal.portion=Principal Portion(es) -tab.client.account.loan.schedule.table.column.heading.interest.portion=Interest Portion(es) -tab.client.account.loan.schedule.table.column.heading.action=Action(es) - -# client account screen -label.client.account.loan.status=Status:(es) -label.client.account.loan.status.since=since(es) -label.client.account.loan.status.arrears=In arrears by:(es) -label.client.account.loan.submitted.on=Sumbitted on:(es) -label.client.account.loan.approved.on=Approved on:(es) -label.client.account.loan.expected.disbursement.on=Expected dibursement on:(es) -label.client.account.loan.disbursed.on=Disbursed on:(es) -label.client.account.loan.first.repayment.due.on=First repayment due on:(es) -label.client.account.loan.interest.charged.from=Interest charged from:(es) -label.client.account.loan.expected.maturity.on=Expected to mature on:(es) -label.client.account.loan.closed.on=Closed on:(es) -label.client.account.loan.term=Expected loan term:(es) -label.client.account.loan.actual.term=Actual loan term:(es) -label.months=Months(es) -label.days=Days(es) -label.client.account.loan.product=Product:(es) -label.client.account.loan.externalid=External id:(es) -label.client.account.loan.currency=Currency:(es) -label.client.account.loan.principal=Principal:(es) -label.client.account.loan.repayments=Repayments:(es) -label.client.account.loan.amortization=Amortization:(es) -label.client.account.loan.interest=Interest:(es) - -# organisation administration screens -administration.link.view.products=View Products(es) -administration.link.add.product=Add Product(es) -administration.link.view.offices=View Offices(es) -administration.link.add.office=Add Office(es) -administration.link.currency.configuration=Currency Configuration(es) - -administration.link.view.users=View Users(es) -administration.link.add.user=Add User(es) -administration.link.view.roles=View Roles(es) -administration.link.add.role=Add Role(es) -administration.link.view.permissions=View Permissions(es) - -table.heading.product.name=Product Name(es) -table.heading.product.created=Created(es) -table.heading.product.modified=Last Modified(es) -table.heading.product.active=Active(es) - -link.action.product.deactivate=Deactivate(es) -link.action.product.viewedit=View/Edit(es) -link.action.product.delete=Delete(es) - -dialog.title.add.loan.product=Add loan product(es) -dialog.title.product.details=Loan product details(es) - -form.label.loan.applicant=Applicant:(es) -form.label.loan.submitted.on=Submitted on:(es) -form.label.loan.submitted.on.note=Loan submittal note:(es) -form.label.loan.annual.nominal.interestrate=Annual nominal rate %:(es) -form.label.loan.interest.charged.from=Interest charged from:(es) -form.label.loan.expected.disbursement.date.on=Expected disbursement on:(es) -form.label.loan.first.repayment.on=First repayment on:(es) - -validation.msg.loan.expectedDisbursementDate.method.cannot.be.blank=Expected disbursement on field cannot be blank.(es) -validation.msg.loan.expectedDisbursementDate.cannot.be.after.first.repayment.date=Expected disbursement date cannot be after the first repayment date.(es) -validation.msg.loan.interestCalculatedFromDate.must.be.entered.when.using.repayments.startfrom.field=The date interest is to be calculated from cannot be left blank when a date is provided for when repayments start from.(es) -validation.msg.loan.submitted.on.date.cannot.be.blank=Submitted on date cannot be blank.(es) -validation.msg.loan.submitted.on.date.cannot.be.after.expectedDisbursementDate=Submitted on date cannot be after the expected disbursement date.(es) - -form.legend.loan.information=Loan Information(es) -form.legend.loan.product.information=Loan Product Information(es) -form.label.product.dropdown=Product:(es) -form.option.product.dropdown.first.choice=--Select Product--(es) -form.label.loan.product.name=Name:(es) -form.label.loan.product.description=Description:(es) -form.legend.loan.product.currency=Currency(es) -form.label.loan.product.currency=Currency:(es) -form.label.loan.product.decimalplaces=Decimal places:(es) -form.legend.loan.product.loan.terms=Loan Terms(es) -form.label.loan.product.loan.amount=Loan amount:(es) -form.label.loan.product.repaidevery=Repaid every:(es) -form.label.loan.product.numberof.repayments=# of repayments:(es) -form.label.loan.product.amortization=Amortization:(es) -form.label.loan.product.arrears.tolerance=Arrears tolerance:(es) -form.label.loan.product.nominal.interestrate=Nominal interest rate %:(es) -form.label.loan.product.interest.method=Interest method:(es) -form.label.loan.product.interest.rate.calcutated.in.period=Interest calculation period:(es) - - -validation.msg.product.name.cannot.be.blank=Product name cannot be blank.(es) -validation.msg.product.description.exceeds.max.length=The content of the description has exceeded max allowed length of 500 characters.(es) -validation.msg.product.digitsAfterDecimal.cannot.be.blank=You must enter a number to represent number of digits after decimal to be supported for product.(es) -validation.msg.product.digitsAfterDecimal.is.not.within.expected.range=Decimal places must be a number between {1} and {2} inclusive.(es) - -validation.msg.product.repaymentEvery.cannot.be.blank=Repaid every cannot be blank.(es) -validation.msg.product.repaymentEvery.not.greater.than.zero=Repaid every must be greater than 0.(es) -validation.msg.product.numberOfRepayments.cannot.be.blank=# of repayments cannot be blank.(es) -validation.msg.product.numberOfRepayments.not.greater.than.zero=# of repayments must be greater than 0.(es) - -validation.msg.product.principal.cannot.be.blank=Loan amount cannot be blank.(es) -validation.msg.product.inArrearsTolerance.cannot.be.blank=Arrears tolerance cannot be blank.(es) -validation.msg.product.interestRatePerPeriod.cannot.be.blank=Nominal interest rate % cannot be blank.(es) - -validation.msg.product.principal.not.greater.than.zero=Loan amount must be greater than zero.(es) -validation.msg.product.inArrearsTolerance.not.zero.or.greater=Arrears tolerance must be greater than or equal to zero.(es) -validation.msg.product.interest.rate.per.period.amount.cannot.be.negative=Nominal interest rate % cannot be negative.(es) - -table.heading.office.name=Office Name(es) -table.heading.office.externalid=External Id(es) -table.heading.office.openedon=Opened on(es) -table.heading.office.parent=Parent Office(es) - -dialog.title.add.office=Add office(es) -dialog.title.office.details=Office details(es) - -form.legend.office.details=Office details(es) -form.label.office.name=Name:(es) -form.label.office.parent=Parent office:(es) -form.label.office.openedon=Opened on:(es) -form.label.office.externalid=External id:(es) - -validation.msg.office.name.cannot.be.blank=Office name cannot be blank.(es) -validation.msg.office.parentId.cannot.be.blank=You must select a parent office.(es) -validation.msg.office.parentId.not.greater.than.zero=You must select a parent office.(es) -validation.msg.office.openingDateFormatted.cannot.be.blank=You must choose a date to represent when the office commenced services.(es) -validation.msg.office.externalId.exceeds.max.length=External id exceeds max length of {0} alpha-numeric characters - {1}.(es) - - -dialog.title.configuration.currencies=Currency Configuration (es) -form.label.configuration.available.currencies=Available currencies:(es) -form.label.configuration.allowed.currencies=Allowed currencies:(es) - -validation.msg.configuration.currencies.cannot.be.empty=You must select at least one currency that is 'allowed' for your organisation.(es) - -# user account settings and admin screens -tab.settings=Settings(es) -dialog.title.update.password=Update password(es) -dialog.title.update.details=Update details(es) - -form.label.new.password=New password:(es) -form.label.repeat.new.password=Repeat new password:(es) - -form.label.username=Username:(es) -form.label.firstname=First name:(es) -form.label.lastname=Last name:(es) -form.label.email=Email:(es) - -form.label.heading.office=Office:(es) -form.label.office=Office:(es) - -form.label.heading.details=Details:(es) -form.label.name=Name:(es) -form.label.username=Username:(es) -form.label.email=Email:(es) -form.link.changedetails=Change details(es) - -form.label.heading.security=Security:(es) -form.label.password=Password:(es) -form.link.changepassword=Change password(es) - -form.label.heading.roles=Roles:(es) - -error.msg.username.already.exists.in.organisation=An account with that username already exists.(es) - -validation.msg.user.username.cannot.be.blank=Username cannot be blank.(es) -validation.msg.username.already.exists.in.organisation=An account with that username already exists.(es) -validation.msg.user.firstname.cannot.be.blank=Firstname cannot be blank.(es) -validation.msg.user.lastname.cannot.be.blank=Lastname cannot be blank.(es) -validation.msg.user.email.cannot.be.blank=Email cannot be blank.(es) -validation.msg.user.officeId.cannot.be.blank=You must select an office.(es) -validation.msg.user.officeId.not.greater.than.zero=You must select an office.(es) -validation.msg.user.roles.cannot.be.blank=A user must have at least one role.(es) -validation.msg.changepassword.password.cannot.be.blank=Password cannot be blank.(es) -validation.msg.changepassword.passwordrepeat.cannot.be.blank=Repeated password cannot be blank.(es) -validation.msg.changepassword.passwordrepeat.not.the.same=Password and Repeat password are not the same.(es) - -dialog.title.add.user=Add user(es) -dialog.title.add.role=Add role(es) -dialog.title.edit.details=Edit details(es) - -form.legend.role.details=Role Details(es) -form.label.role.name=Name:(es) -form.label.role.description=Description:(es) -form.label.role.available.permissions=Available permissions:(es) -form.label.role.selected.permissions=Selected permissions:(es) - -form.legend.user.details=User Details(es) -form.label.user.username=Username:(es) -form.label.user.firstname=First name:(es) -form.label.user.lastname=Last name:(es) -form.label.user.email=Email:(es) -form.label.user.office=Office:(es) -form.label.user.available.roles=Available roles:(es) -form.label.user.selected.roles=Selected roles:(es) - -validation.msg.role.name.cannot.be.blank=Name cannot be blank.(es) -validation.msg.role.description.cannot.be.blank=Description cannot be blank.(es) -validation.msg.role.description.exceeds.max.length=The content of the description exceeds max allowed length of 500 characters.(es) -validation.msg.role.permissions.cannot.be.empty=A role must have at least one permission associated with it.(es) - -table.heading.officename=Office Name(es) -table.heading.username=Username(es) -table.heading.name=Name(es) -table.heading.email=Email(es) -table.heading.rolename=Role Name(es) -table.heading.description=Description(es) -table.heading.permission.type=Type(es) -table.heading.permission.permission=Permission(es) -table.heading.permission.description=Description(es) \ No newline at end of file diff --git a/JavaScriptApps/resources/global-translations/messages_fr.properties b/JavaScriptApps/resources/global-translations/messages_fr.properties deleted file mode 100644 index fadb2393c..000000000 --- a/JavaScriptApps/resources/global-translations/messages_fr.properties +++ /dev/null @@ -1,364 +0,0 @@ - -app.name=Individual Lending (fr) -app.loading=Loading...(fr) - -reporting.decimals=Decimals (fr) -reporting.format=Format (fr) - -login.username=User Name (fr) -login.password=Password (fr) - -link.topnav.clients=Clients(fr) -link.topnav.users=User Administration(fr) -link.topnav.organisation=Organisation Administration(fr) -link.reports=Reports(fr) -link.signout=Sign out(fr) -link.topnav.account.settings=Account Settings(fr) -link.topnav.theme=Theme(fr) -link.topnav.culture=Culture(fr) - -page.home.title=Home(fr) -tab.search=Search(fr) -label.client.search=Choose client:(fr): -option.client.search.first.choice=--Select Client--(fr) -link.add.new.client=Add a new client(fr) - -page.client.account.title=View Client Account Details(fr) -page.admin.home.title=Administration Home(fr) -page.admin.settings.title=Account Settings(fr) - -dialog.title.add.client=Add client(fr) -label.office=Office(fr): -option.office.first.choice=--Select Office--(fr) -label.lastname=Last name(fr): -label.firstname=First name(fr): -label.longname=Full name:(fr) -label.joiningdate=Joining date(fr): - -error.msg.header=You have the following errors:(fr) -validation.msg.client.officeId.cannot.be.blank=A client must be associated with an office.(fr) -validation.msg.client.firstname.cannot.be.blank=First name cannot be blank.(fr) -validation.msg.client.lastname.cannot.be.blank=Last name cannot be blank.(fr) -validation.msg.client.joiningDate.cannot.be.blank=Joining date cannot be blank.(fr) -validation.msg.client.firstname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(fr) -validation.msg.client.lastname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(fr) - -error.msg.client.id.invalid=Client does not exist.(fr) -error.msg.office.id.invalid=Office does not exist.(fr) -error.msg.office.duplicate.externalId=An office with 'External Id' already exists.(fr) -error.msg.office.duplicate.name=An office with 'name' already exists.(fr) -error.msg.office.unknown.data.integrity.issue=An unknown data integrity issue occured.(fr) - -dialog.title.confirmation.required=Confirmation required(fr) -text.confirmation.required=Are you sure?(fr) -dialog.title.functionality.not.available=Functionality not yet available(fr) -dialog.messages.functionality.not.available=Functionality not yet available.(fr) - -dialog.button.submit=Submit(fr) -dialog.button.save=Save(fr) -dialog.button.cancel=Cancel(fr) -dialog.button.ok=Ok(fr) -dialog.button.confirm=Confirm(fr) -link.edit=Edit(fr) -widget.multiselect.button.add=Add(fr) -widget.multiselect.button.remove=Remove(fr) - -dialog.title.new.loan.application=New loan application(fr) -dialog.button.new.loan.application=New loan application(fr) -dialog.button.reject.loan=Reject(fr) -dialog.button.withdrawn.by.client.loan=Withdrawn by applicant(fr) -dialog.button.approve.loan=Approve(fr) -dialog.button.delete.loan=Delete(fr) -dialog.button.undo.loan.approval=Undo approval(fr) -dialog.button.undo.loan.disbursal=Undo disbursal(fr) -dialog.button.disburse.loan=Disburse(fr) -dialog.button.loan.repayment=Loan repayment(fr) -dialog.button.adjust.loan.repayment=Adjust(fr) -dialog.button.loan.waive=Waive(fr) - -dialog.button.add.note=Add note(fr) -label.client.account.name=Name:(fr) -label.client.account.branch=Branch:(fr) -label.client.account.joinedon=Joined on:(fr) -heading.client.account.account.overview=Account Overview(fr) -label.client.account.pending.approval.loans=Pending approval loans(fr) -label.client.account.pending.disbursal.loans=Awaiting disbursal loans(fr) -label.client.account.active.loans=Active loans(fr) -label.client.account.closed.loans=Closed loans(fr) -label.client.account.no.loans.exist=No accounts exist(fr) -heading.client.account.extra.information=Additional Information(fr) -dialog.title.edit.additional.client.information=Edit additional client information(fr) - -widget.notes.heading=You have the following notes:(fr) -widget.notes.label.client.note=Client note:(fr) -widget.notes.label.loan.note=Loan note:(fr) -widget.notes.label.loan.transaction.note=Loan transaction note:(fr) - -dialog.title.add.note=Add note(fr) -dialog.title.edit.note=Edit note(fr) -dialog.notes.form.label.note=Note:(fr) - -# error handling messages for loan event and transactions screens -error.msg.no.loan.with.identifier.exists=No loan with identifier {0} exists.(fr) -error.msg.no.permission=You do not have sufficient permissions to perform this action.(fr) -error.msg.no.permission.to.approve.loan.in.past=You do not have permission to approve a loan with a date in the past.(fr) -error.msg.no.permission.to.reject.loan.in.past=You do not have permission to reject a loan with a date in the past.(fr) -error.msg.no.permission.to.withdraw.loan.in.past=You do not have permission to withdraw a loan with a date in the past.(fr) -error.msg.no.permission.to.disburse.loan.in.past=You do not have permission to disburse a loan with a date in the past.(fr) -error.msg.no.permission.to.make.repayment.on.loan.in.past=You do not have permission to make a repayment on the loan with a date in the past.(fr) -error.msg.cannot.delete.loan.in.its.present.state=You cannot delete the loan in its current state. It must be pending approval.(fr) - -validation.msg.invalid.date.format=Invalid date format.(fr) -validation.msg.invalid.number.format=Invalid number format.(fr) -validation.msg.loan.id.is.invalid=Loan identifier is invalid.(fr) -validation.msg.loan.transaction.id.is.invalid=Loan transaction identifier is invalid.(fr) - -validation.msg.loan.state.transition.date.cannot.be.blank=A date must be provided when transitioning the loan into this state.(fr) -validation.msg.note.exceeds.max.length=The content of the note exceeds max length of 1000 characters.(fr) - -validation.msg.loan.repayment.date.cannot.be.blank=The repayment date cannot be blank.(fr) -validation.msg.loan.repayment.must.be.greater.than.zero=The repayment amount must be a number greater than zero.(fr) -validation.msg.loan.adjustment.must.be.zero.or.greater=The repayment amount must be a number greater than or equal to zero.(fr) - -# loan event and transactions screens -label.loan.on=On:(fr) -label.loan.action.note=Note:(fr) -dialog.title.reject.loan=Reject loan(fr) -dialog.title.loan.withdrawn.by.client=Withdrawn by client(fr) -dialog.title.approve.loan=Approve loan(fr) -dialog.title.undo.loan.approval=Undo loan approval: confirmation required(fr) -dialog.title.disburse.loan=Disburse loan(fr) -dialog.title.undo.loan.disbursal=Undo loan disbursal: confirmation required(fr) -dialog.title.loan.repayment=Loan repayment(fr) -dialog.title.adjust.loan.repayment=Adjust loan repayment(fr) -dialog.title.waive.loan=Waive outstanding amount(fr) -label.loan.transaction.on=Repayment on:(fr) -label.loan.transaction.amount=Amount:(fr) - -tab.client.account.loan.details=Details(fr) -tab.client.account.loan.schedule=Schedule(fr) -tab.client.account.loan.repayments=Repayments(fr) - -tab.client.account.loan.schedule.table.summary.caption=Summary(fr) -tab.client.account.loan.schedule.table.repaymentschedule.caption=Repayment Schedule(fr) -tab.client.account.loan.schedule.table.repayments.caption=Repayment Activity(fr) - -tab.client.account.loan.schedule.table.summary.heading.original=Original Loan(fr) -tab.client.account.loan.schedule.table.summary.heading.paid=Paid(fr) -tab.client.account.loan.schedule.table.summary.heading.waived=Waived(fr) -tab.client.account.loan.schedule.table.heading.outstanding=Outstanding(fr) -tab.client.account.loan.schedule.table.column.heading.expected=Expected(fr) -tab.client.account.loan.schedule.table.column.heading.paid=Paid(fr) -tab.client.account.loan.schedule.table.column.heading.principal=Principal(fr) -tab.client.account.loan.schedule.table.column.heading.interest=Interest(fr) -tab.client.account.loan.schedule.table.column.heading.total=Total(fr) - -tab.client.account.loan.schedule.table.column.heading.date=Date(fr) -tab.client.account.loan.schedule.table.column.heading.paymentdate=Payment Date(fr) -tab.client.account.loan.schedule.table.column.heading.amountpaid=Amount Paid(fr) -tab.client.account.loan.schedule.table.column.heading.principal.portion=Principal Portion(fr) -tab.client.account.loan.schedule.table.column.heading.interest.portion=Interest Portion(fr) -tab.client.account.loan.schedule.table.column.heading.action=Action(fr) - -# client account screen -label.client.account.loan.status=Status:(fr) -label.client.account.loan.status.since=since(fr) -label.client.account.loan.status.arrears=In arrears by:(fr) -label.client.account.loan.submitted.on=Submitted on:(fr) -label.client.account.loan.approved.on=Approved on:(fr) -label.client.account.loan.expected.disbursement.on=Expected dibursement on:(fr) -label.client.account.loan.disbursed.on=Disbursed on:(fr) -label.client.account.loan.first.repayment.due.on=First repayment due on:(fr) -label.client.account.loan.interest.charged.from=Interest charged from:(fr) -label.client.account.loan.expected.maturity.on=Expected to mature on:(fr) -label.client.account.loan.closed.on=Closed on:(fr) -label.client.account.loan.term=Expected loan term:(fr) -label.client.account.loan.actual.term=Actual loan term:(fr) -label.months=Months(fr) -label.days=Days(fr) -label.client.account.loan.product=Product:(fr) -label.client.account.loan.externalid=External id:(fr) -label.client.account.loan.currency=Currency:(fr) -label.client.account.loan.principal=Principal:(fr) -label.client.account.loan.repayments=Repayments:(fr) -label.client.account.loan.amortization=Amortization:(fr) -label.client.account.loan.interest=Interest:(fr) - -# organisation administration screens -administration.link.view.products=View Products(fr) -administration.link.add.product=Add Product(fr) -administration.link.view.offices=View Offices(fr) -administration.link.add.office=Add Office(fr) -administration.link.currency.configuration=Currency Configuration(fr) - -administration.link.view.users=View Users(fr) -administration.link.add.user=Add User(fr) -administration.link.view.roles=View Roles(fr) -administration.link.add.role=Add Role(fr) -administration.link.view.permissions=View Permissions(fr) - -table.heading.product.name=Product Name(fr) -table.heading.product.created=Created(fr) -table.heading.product.modified=Last Modified(fr) -table.heading.product.active=Active(fr) - -link.action.product.deactivate=Deactivate(fr) -link.action.product.viewedit=View/Edit(fr) -link.action.product.delete=Delete(fr) - -dialog.title.add.loan.product=Add loan product(fr) -dialog.title.product.details=Loan product details(fr) - -form.label.loan.applicant=Applicant:(fr) -form.label.loan.submitted.on=Submitted on:(fr) -form.label.loan.submitted.on.note=Loan submittal note:(fr) -form.label.loan.annual.nominal.interestrate=Annual nominal rate %:(fr) -form.label.loan.interest.charged.from=Interest charged from:(fr) -form.label.loan.expected.disbursement.date.on=Expected disbursement on:(fr) -form.label.loan.first.repayment.on=First repayment on:(fr) - -validation.msg.loan.expectedDisbursementDate.method.cannot.be.blank=Expected disbursement on field cannot be blank.(fr) -validation.msg.loan.expectedDisbursementDate.cannot.be.after.first.repayment.date=Expected disbursement date cannot be after the first repayment date.(fr) -validation.msg.loan.interestCalculatedFromDate.must.be.entered.when.using.repayments.startfrom.field=The date interest is to be calculated from cannot be left blank when a date is provided for when repayments start from.(fr) -validation.msg.loan.submitted.on.date.cannot.be.blank=Submitted on date cannot be blank.(fr) -validation.msg.loan.submitted.on.date.cannot.be.after.expectedDisbursementDate=Submitted on date cannot be after the expected disbursement date.(fr) - -form.legend.loan.information=Loan Information(fr) -form.legend.loan.product.information=Loan Product Information(fr) -form.label.product.dropdown=Product:(fr) -form.option.product.dropdown.first.choice=--Select Product--(fr) -form.label.loan.product.name=Name:(fr) -form.label.loan.product.description=Description:(fr) -form.legend.loan.product.currency=Currency(fr) -form.label.loan.product.currency=Currency:(fr) -form.label.loan.product.decimalplaces=Decimal places:(fr) -form.legend.loan.product.loan.terms=Loan Terms(fr) -form.label.loan.product.loan.amount=Loan amount:(fr) -form.label.loan.product.repaidevery=Repaid every:(fr) -form.label.loan.product.numberof.repayments=# of repayments:(fr) -form.label.loan.product.amortization=Amortization:(fr) -form.label.loan.product.arrears.tolerance=Arrears tolerance:(fr) -form.label.loan.product.nominal.interestrate=Nominal interest rate %:(fr) -form.label.loan.product.interest.method=Interest method:(fr) -form.label.loan.product.interest.rate.calcutated.in.period=Interest calculation period:(fr) - - -validation.msg.product.name.cannot.be.blank=Product name cannot be blank.(fr) -validation.msg.product.description.exceeds.max.length=The content of the description has exceeded max allowed length of 500 characters.(fr) -validation.msg.product.digitsAfterDecimal.cannot.be.blank=You must enter a number to represent number of digits after decimal to be supported for product.(fr) -validation.msg.product.digitsAfterDecimal.is.not.within.expected.range=Decimal places must be a number between {1} and {2} inclusive.(fr) - -validation.msg.product.repaymentEvery.cannot.be.blank=Repaid every cannot be blank.(fr) -validation.msg.product.repaymentEvery.not.greater.than.zero=Repaid every must be greater than 0.(fr) -validation.msg.product.numberOfRepayments.cannot.be.blank=# of repayments cannot be blank.(fr) -validation.msg.product.numberOfRepayments.not.greater.than.zero=# of repayments must be greater than 0.(fr) - -validation.msg.product.principal.cannot.be.blank=Loan amount cannot be blank.(fr) -validation.msg.product.inArrearsTolerance.cannot.be.blank=Arrears tolerance cannot be blank.(fr) -validation.msg.product.interestRatePerPeriod.cannot.be.blank=Nominal interest rate % cannot be blank.(fr) - -validation.msg.product.principal.not.greater.than.zero=Loan amount must be greater than zero.(fr) -validation.msg.product.inArrearsTolerance.not.zero.or.greater=Arrears tolerance must be greater than or equal to zero.(fr) -validation.msg.product.interest.rate.per.period.amount.cannot.be.negative=Nominal interest rate % cannot be negative.(fr) - -table.heading.office.name=Office Name(fr) -table.heading.office.externalid=External Id(fr) -table.heading.office.openedon=Opened on(fr) -table.heading.office.parent=Parent Office(fr) - -dialog.title.add.office=Add office(fr) -dialog.title.office.details=Office details(fr) - -form.legend.office.details=Office details(fr) -form.label.office.name=Name:(fr) -form.label.office.parent=Parent office:(fr) -form.label.office.openedon=Opened on:(fr) -form.label.office.externalid=External id:(fr) - -validation.msg.office.name.cannot.be.blank=Office name cannot be blank.(fr) -validation.msg.office.parentId.cannot.be.blank=You must select a parent office.(fr) -validation.msg.office.parentId.not.greater.than.zero=You must select a parent office.(fr) -validation.msg.office.openingDateFormatted.cannot.be.blank=You must choose a date to represent when the office commenced services.(fr) -validation.msg.office.externalId.exceeds.max.length=External id exceeds max length of {0} alpha-numeric characters - {1}.(fr) - -dialog.title.configuration.currencies=Currency Configuration (fr) -form.label.configuration.available.currencies=Available currencies:(fr) -form.label.configuration.allowed.currencies=Allowed currencies:(fr) - -validation.msg.configuration.currencies.cannot.be.empty=You must select at least one currency that is 'allowed' for your organisation.(fr) - -# user account settings and admin screens -tab.settings=Settings(fr) -dialog.title.update.password=Update password(fr) -dialog.title.update.details=Update details(fr) - -form.label.new.password=New password:(fr) -form.label.repeat.new.password=Repeat new password:(fr) - -form.label.username=Username:(fr) -form.label.firstname=First name:(fr) -form.label.lastname=Last name:(fr) -form.label.email=Email:(fr) - -form.label.heading.office=Office:(fr) -form.label.office=Office:(fr) - -form.label.heading.details=Details:(fr) -form.label.name=Name:(fr) -form.label.username=Username:(fr) -form.label.email=Email:(fr) -form.link.changedetails=Change details(fr) - -form.label.heading.security=Security:(fr) -form.label.password=Password:(fr) -form.link.changepassword=Change password(fr) - -form.label.heading.roles=Roles:(fr) - -error.msg.username.already.exists.in.organisation=An account with that username already exists.(fr) - -validation.msg.user.username.cannot.be.blank=Username cannot be blank.(fr) -validation.msg.username.already.exists.in.organisation=An account with that username already exists.(fr) -validation.msg.user.firstname.cannot.be.blank=Firstname cannot be blank.(fr) -validation.msg.user.lastname.cannot.be.blank=Lastname cannot be blank.(fr) -validation.msg.user.email.cannot.be.blank=Email cannot be blank.(fr) -validation.msg.user.officeId.cannot.be.blank=You must select an office.(fr) -validation.msg.user.officeId.not.greater.than.zero=You must select an office.(fr) -validation.msg.user.roles.cannot.be.blank=A user must have at least one role.(fr) -validation.msg.changepassword.password.cannot.be.blank=Password cannot be blank.(fr) -validation.msg.changepassword.passwordrepeat.cannot.be.blank=Repeated password cannot be blank.(fr) -validation.msg.changepassword.passwordrepeat.not.the.same=Password and Repeat password are not the same.(fr) - -dialog.title.add.user=Add user(fr) -dialog.title.add.role=Add role(fr) -dialog.title.edit.details=Edit details(fr) - -form.legend.role.details=Role Details(fr) -form.label.role.name=Name:(fr) -form.label.role.description=Description:(fr) -form.label.role.available.permissions=Available permissions:(fr) -form.label.role.selected.permissions=Selected permissions:(fr) - -form.legend.user.details=User Details(fr) -form.label.user.username=Username:(fr) -form.label.user.firstname=First name:(fr) -form.label.user.lastname=Last name:(fr) -form.label.user.email=Email:(fr) -form.label.user.office=Office:(fr) -form.label.user.available.roles=Available roles:(fr) -form.label.user.selected.roles=Selected roles:(fr) - -validation.msg.role.name.cannot.be.blank=Name cannot be blank.(fr) -validation.msg.role.description.cannot.be.blank=Description cannot be blank.(fr) -validation.msg.role.description.exceeds.max.length=The content of the description exceeds max allowed length of 500 characters.(fr) -validation.msg.role.permissions.cannot.be.empty=A role must have at least one permission associated with it.(fr) - -table.heading.officename=Office Name(fr) -table.heading.username=Username(fr) -table.heading.name=Name(fr) -table.heading.email=Email(fr) -table.heading.rolename=Role Name(fr) -table.heading.description=Description(fr) -table.heading.permission.type=Type(fr) -table.heading.permission.permission=Permission(fr) -table.heading.permission.description=Description(fr) \ No newline at end of file diff --git a/JavaScriptApps/resources/global-translations/messages_pt.properties b/JavaScriptApps/resources/global-translations/messages_pt.properties deleted file mode 100644 index 2dc338e71..000000000 --- a/JavaScriptApps/resources/global-translations/messages_pt.properties +++ /dev/null @@ -1,364 +0,0 @@ - -app.name=Individual Lending (pt) -app.loading=Loading...(pt) - -reporting.decimals=Decimals (pt) -reporting.format=Format (pt) - -login.username=User Name (pt) -login.password=Password (pt) - -link.topnav.clients=Clients(pt) -link.topnav.users=User Administration(pt) -link.topnav.organisation=Organisation Administration(pt) -link.reports=Reports(pt) -link.signout=Sign out(pt) -link.topnav.account.settings=Account Settings(pt) -link.topnav.theme=Theme(pt) -link.topnav.culture=Culture(pt) - -page.home.title=Home(pt) -tab.search=Search(pt) -label.client.search=Choose client:(pt): -option.client.search.first.choice=--Select Client--(pt) -link.add.new.client=Add a new client(pt) - -page.client.account.title=View Client Account Details(pt) -page.admin.home.title=Administration Home(pt) -page.admin.settings.title=Account Settings(pt) - -dialog.title.add.client=Add client(pt) -label.office=Office(pt): -option.office.first.choice=--Select Office--(pt) -label.lastname=Last name(pt): -label.firstname=First name(pt): -label.longname=Full name:(pt) -label.joiningdate=Joining date(pt): - -error.msg.header=You have the following errors:(pt) -validation.msg.client.officeId.cannot.be.blank=A client must be associated with an office.(pt) -validation.msg.client.firstname.cannot.be.blank=First name cannot be blank.(pt) -validation.msg.client.lastname.cannot.be.blank=Last name cannot be blank.(pt) -validation.msg.client.joiningDate.cannot.be.blank=Joining date cannot be blank.(pt) -validation.msg.client.firstname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(pt) -validation.msg.client.lastname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(pt) - -error.msg.client.id.invalid=Client does not exist.(pt) -error.msg.office.id.invalid=Office does not exist.(pt) -error.msg.office.duplicate.externalId=An office with 'External Id' already exists.(pt) -error.msg.office.duplicate.name=An office with 'name' already exists.(pt) -error.msg.office.unknown.data.integrity.issue=An unknown data integrity issue occured.(pt) - -dialog.title.confirmation.required=Confirmation required(pt) -text.confirmation.required=Are you sure?(pt) -dialog.title.functionality.not.available=Functionality not yet available(pt) -dialog.messages.functionality.not.available=Functionality not yet available.(pt) - -dialog.button.submit=Submit(pt) -dialog.button.save=Save(pt) -dialog.button.cancel=Cancel(pt) -dialog.button.ok=Ok(pt) -dialog.button.confirm=Confirm(pt) -link.edit=Edit(pt) -widget.multiselect.button.add=Add(pt) -widget.multiselect.button.remove=Remove(pt) - -dialog.title.new.loan.application=New loan application(pt) -dialog.button.new.loan.application=New loan application(pt) -dialog.button.reject.loan=Reject(pt) -dialog.button.withdrawn.by.client.loan=Withdrawn by applicant(pt) -dialog.button.approve.loan=Approve(pt) -dialog.button.delete.loan=Delete(pt) -dialog.button.undo.loan.approval=Undo approval(pt) -dialog.button.undo.loan.disbursal=Undo disbursal(pt) -dialog.button.disburse.loan=Disburse(pt) -dialog.button.loan.repayment=Loan repayment(pt) -dialog.button.adjust.loan.repayment=Adjust(pt) -dialog.button.loan.waive=Waive(pt) - -dialog.button.add.note=Add note(pt) -label.client.account.name=Name:(pt) -label.client.account.branch=Branch:(pt) -label.client.account.joinedon=Joined on:(pt) -heading.client.account.account.overview=Account Overview(pt) -label.client.account.pending.approval.loans=Pending approval loans(pt) -label.client.account.pending.disbursal.loans=Awaiting disbursal loans(pt) -label.client.account.active.loans=Active loans(pt) -label.client.account.closed.loans=Closed loans(pt) -label.client.account.no.loans.exist=No accounts exist(pt) -heading.client.account.extra.information=Additional Information(pt) -dialog.title.edit.additional.client.information=Edit additional client information(pt) - -widget.notes.heading=You have the following notes:(pt) -widget.notes.label.client.note=Client note:(pt) -widget.notes.label.loan.note=Loan note:(pt) -widget.notes.label.loan.transaction.note=Loan transaction note:(pt) - -dialog.title.add.note=Add note(pt) -dialog.title.edit.note=Edit note(pt) -dialog.notes.form.label.note=Note:(pt) - -# error handling messages for loan event and transactions screens -error.msg.no.loan.with.identifier.exists=No loan with identifier {0} exists.(pt) -error.msg.no.permission=You do not have sufficient permissions to perform this action.(pt) -error.msg.no.permission.to.approve.loan.in.past=You do not have permission to approve a loan with a date in the past.(pt) -error.msg.no.permission.to.reject.loan.in.past=You do not have permission to reject a loan with a date in the past.(pt) -error.msg.no.permission.to.withdraw.loan.in.past=You do not have permission to withdraw a loan with a date in the past.(pt) -error.msg.no.permission.to.disburse.loan.in.past=You do not have permission to disburse a loan with a date in the past.(pt) -error.msg.no.permission.to.make.repayment.on.loan.in.past=You do not have permission to make a repayment on the loan with a date in the past.(pt) -error.msg.cannot.delete.loan.in.its.present.state=You cannot delete the loan in its current state. It must be pending approval.(pt) - -validation.msg.invalid.date.format=Invalid date format.(pt) -validation.msg.invalid.number.format=Invalid number format.(pt) -validation.msg.loan.id.is.invalid=Loan identifier is invalid.(pt) -validation.msg.loan.transaction.id.is.invalid=Loan transaction identifier is invalid.(pt) - -validation.msg.loan.state.transition.date.cannot.be.blank=A date must be provided when transitioning the loan into this state.(pt) -validation.msg.note.exceeds.max.length=The content of the note exceeds max length of 1000 characters.(pt) - -validation.msg.loan.repayment.date.cannot.be.blank=The repayment date cannot be blank.(pt) -validation.msg.loan.repayment.must.be.greater.than.zero=The repayment amount must be a number greater than zero.(pt) -validation.msg.loan.adjustment.must.be.zero.or.greater=The repayment amount must be a number greater than or equal to zero.(pt) - -# loan event and transactions screens -label.loan.on=On:(pt) -label.loan.action.note=Note:(pt) -dialog.title.reject.loan=Reject loan(pt) -dialog.title.loan.withdrawn.by.client=Withdrawn by client(pt) -dialog.title.approve.loan=Approve loan(pt) -dialog.title.undo.loan.approval=Undo loan approval: confirmation required(pt) -dialog.title.disburse.loan=Disburse loan(pt) -dialog.title.undo.loan.disbursal=Undo loan disbursal: confirmation required(pt) -dialog.title.loan.repayment=Loan repayment(pt) -dialog.title.adjust.loan.repayment=Adjust loan repayment(pt) -dialog.title.waive.loan=Waive outstanding amount(pt) -label.loan.transaction.on=Repayment on:(pt) -label.loan.transaction.amount=Amount:(pt) - -tab.client.account.loan.details=Details(pt) -tab.client.account.loan.schedule=Schedule(pt) -tab.client.account.loan.repayments=Repayments(pt) - -tab.client.account.loan.schedule.table.summary.caption=Summary(pt) -tab.client.account.loan.schedule.table.repaymentschedule.caption=Repayment Schedule(pt) -tab.client.account.loan.schedule.table.repayments.caption=Repayment Activity(pt) - -tab.client.account.loan.schedule.table.summary.heading.original=Original Loan(pt) -tab.client.account.loan.schedule.table.summary.heading.paid=Paid(pt) -tab.client.account.loan.schedule.table.summary.heading.waived=Waived(pt) -tab.client.account.loan.schedule.table.heading.outstanding=Outstanding(pt) -tab.client.account.loan.schedule.table.column.heading.expected=Expected(pt) -tab.client.account.loan.schedule.table.column.heading.paid=Paid(pt) -tab.client.account.loan.schedule.table.column.heading.principal=Principal(pt) -tab.client.account.loan.schedule.table.column.heading.interest=Interest(pt) -tab.client.account.loan.schedule.table.column.heading.total=Total(pt) - -tab.client.account.loan.schedule.table.column.heading.date=Date(pt) -tab.client.account.loan.schedule.table.column.heading.paymentdate=Payment Date(pt) -tab.client.account.loan.schedule.table.column.heading.amountpaid=Amount Paid(pt) -tab.client.account.loan.schedule.table.column.heading.principal.portion=Principal Portion(pt) -tab.client.account.loan.schedule.table.column.heading.interest.portion=Interest Portion(pt) -tab.client.account.loan.schedule.table.column.heading.action=Action(pt) - -# client account screen -label.client.account.loan.status=Status:(pt) -label.client.account.loan.status.since=since(pt) -label.client.account.loan.status.arrears=In arrears by:(pt) -label.client.account.loan.submitted.on=Submitted on:(pt) -label.client.account.loan.approved.on=Approved on:(pt) -label.client.account.loan.expected.disbursement.on=Expected dibursement on:(pt) -label.client.account.loan.disbursed.on=Disbursed on:(pt) -label.client.account.loan.first.repayment.due.on=First repayment due on:(pt) -label.client.account.loan.interest.charged.from=Interest charged from:(pt) -label.client.account.loan.expected.maturity.on=Expected to mature on:(pt) -label.client.account.loan.closed.on=Closed on:(pt) -label.client.account.loan.term=Expected loan term:(pt) -label.client.account.loan.actual.term=Actual loan term:(pt) -label.months=Months(pt) -label.days=Days(pt) -label.client.account.loan.product=Product:(pt) -label.client.account.loan.externalid=External id:(pt) -label.client.account.loan.currency=Currency:(pt) -label.client.account.loan.principal=Principal:(pt) -label.client.account.loan.repayments=Repayments:(pt) -label.client.account.loan.amortization=Amortization:(pt) -label.client.account.loan.interest=Interest:(pt) - -# organisation administration screens -administration.link.view.products=View Products(pt) -administration.link.add.product=Add Product(pt) -administration.link.view.offices=View Offices(pt) -administration.link.add.office=Add Office(pt) -administration.link.currency.configuration=Currency Configuration(pt) - -administration.link.view.users=View Users(pt) -administration.link.add.user=Add User(pt) -administration.link.view.roles=View Roles(pt) -administration.link.add.role=Add Role(pt) -administration.link.view.permissions=View Permissions(pt) - -table.heading.product.name=Product Name(pt) -table.heading.product.created=Created(pt) -table.heading.product.modified=Last Modified(pt) -table.heading.product.active=Active(pt) - -link.action.product.deactivate=Deactivate(pt) -link.action.product.viewedit=View/Edit(pt) -link.action.product.delete=Delete(pt) - -dialog.title.add.loan.product=Add loan product(pt) -dialog.title.product.details=Loan product details(pt) - -form.label.loan.applicant=Applicant:(pt) -form.label.loan.submitted.on=Submitted on:(pt) -form.label.loan.submitted.on.note=Loan submittal note:(pt) -form.label.loan.annual.nominal.interestrate=Annual nominal rate %:(pt) -form.label.loan.interest.charged.from=Interest charged from:(pt) -form.label.loan.expected.disbursement.date.on=Expected disbursement on:(pt) -form.label.loan.first.repayment.on=First repayment on:(pt) - -validation.msg.loan.expectedDisbursementDate.method.cannot.be.blank=Expected disbursement on field cannot be blank.(pt) -validation.msg.loan.expectedDisbursementDate.cannot.be.after.first.repayment.date=Expected disbursement date cannot be after the first repayment date.(pt) -validation.msg.loan.interestCalculatedFromDate.must.be.entered.when.using.repayments.startfrom.field=The date interest is to be calculated from cannot be left blank when a date is provided for when repayments start from.(pt) -validation.msg.loan.submitted.on.date.cannot.be.blank=Submitted on date cannot be blank.(pt) -validation.msg.loan.submitted.on.date.cannot.be.after.expectedDisbursementDate=Submitted on date cannot be after the expected disbursement date.(pt) - -form.legend.loan.information=Loan Information(pt) -form.legend.loan.product.information=Loan Product Information(pt) -form.label.product.dropdown=Product:(pt) -form.option.product.dropdown.first.choice=--Select Product--(pt) -form.label.loan.product.name=Name:(pt) -form.label.loan.product.description=Description:(pt) -form.legend.loan.product.currency=Currency(pt) -form.label.loan.product.currency=Currency:(pt) -form.label.loan.product.decimalplaces=Decimal places:(pt) -form.legend.loan.product.loan.terms=Loan Terms(pt) -form.label.loan.product.loan.amount=Loan amount:(pt) -form.label.loan.product.repaidevery=Repaid every:(pt) -form.label.loan.product.numberof.repayments=# of repayments:(pt) -form.label.loan.product.amortization=Amortization:(pt) -form.label.loan.product.arrears.tolerance=Arrears tolerance:(pt) -form.label.loan.product.nominal.interestrate=Nominal interest rate %:(pt) -form.label.loan.product.interest.method=Interest method:(pt) -form.label.loan.product.interest.rate.calcutated.in.period=Interest calculation period:(pt) - - -validation.msg.product.name.cannot.be.blank=Product name cannot be blank.(pt) -validation.msg.product.description.exceeds.max.length=The content of the description has exceeded max allowed length of 500 characters.(pt) -validation.msg.product.digitsAfterDecimal.cannot.be.blank=You must enter a number to represent number of digits after decimal to be supported for product.(pt) -validation.msg.product.digitsAfterDecimal.is.not.within.expected.range=Decimal places must be a number between {1} and {2} inclusive.(pt) - -validation.msg.product.repaymentEvery.cannot.be.blank=Repaid every cannot be blank.(pt) -validation.msg.product.repaymentEvery.not.greater.than.zero=Repaid every must be greater than 0.(pt) -validation.msg.product.numberOfRepayments.cannot.be.blank=# of repayments cannot be blank.(pt) -validation.msg.product.numberOfRepayments.not.greater.than.zero=# of repayments must be greater than 0.(pt) - -validation.msg.product.principal.cannot.be.blank=Loan amount cannot be blank.(pt) -validation.msg.product.inArrearsTolerance.cannot.be.blank=Arrears tolerance cannot be blank.(pt) -validation.msg.product.interestRatePerPeriod.cannot.be.blank=Nominal interest rate % cannot be blank.(pt) - -validation.msg.product.principal.not.greater.than.zero=Loan amount must be greater than zero.(pt) -validation.msg.product.inArrearsTolerance.not.zero.or.greater=Arrears tolerance must be greater than or equal to zero.(pt) -validation.msg.product.interest.rate.per.period.amount.cannot.be.negative=Nominal interest rate % cannot be negative.(pt) - -table.heading.office.name=Office Name(pt) -table.heading.office.externalid=External Id(pt) -table.heading.office.openedon=Opened on(pt) -table.heading.office.parent=Parent Office(pt) - -dialog.title.add.office=Add office(pt) -dialog.title.office.details=Office details(pt) - -form.legend.office.details=Office details(pt) -form.label.office.name=Name:(pt) -form.label.office.parent=Parent office:(pt) -form.label.office.openedon=Opened on:(pt) -form.label.office.externalid=External id:(pt) - -validation.msg.office.name.cannot.be.blank=Office name cannot be blank.(pt) -validation.msg.office.parentId.cannot.be.blank=You must select a parent office.(pt) -validation.msg.office.parentId.not.greater.than.zero=You must select a parent office.(pt) -validation.msg.office.openingDateFormatted.cannot.be.blank=You must choose a date to represent when the office commenced services.(pt) -validation.msg.office.externalId.exceeds.max.length=External id exceeds max length of {0} alpha-numeric characters - {1}.(pt) - -dialog.title.configuration.currencies=Currency Configuration (pt) -form.label.configuration.available.currencies=Available currencies:(pt) -form.label.configuration.allowed.currencies=Allowed currencies:(pt) - -validation.msg.configuration.currencies.cannot.be.empty=You must select at least one currency that is 'allowed' for your organisation.(pt) - -# user account settings and admin screens -tab.settings=Settings(pt) -dialog.title.update.password=Update password(pt) -dialog.title.update.details=Update details(pt) - -form.label.new.password=New password:(pt) -form.label.repeat.new.password=Repeat new password:(pt) - -form.label.username=Username:(pt) -form.label.firstname=First name:(pt) -form.label.lastname=Last name:(pt) -form.label.email=Email:(pt) - -form.label.heading.office=Office:(pt) -form.label.office=Office:(pt) - -form.label.heading.details=Details:(pt) -form.label.name=Name:(pt) -form.label.username=Username:(pt) -form.label.email=Email:(pt) -form.link.changedetails=Change details(pt) - -form.label.heading.security=Security:(pt) -form.label.password=Password:(pt) -form.link.changepassword=Change password(pt) - -form.label.heading.roles=Roles:(pt) - -error.msg.username.already.exists.in.organisation=An account with that username already exists.(pt) - -validation.msg.user.username.cannot.be.blank=Username cannot be blank.(pt) -validation.msg.username.already.exists.in.organisation=An account with that username already exists.(pt) -validation.msg.user.firstname.cannot.be.blank=Firstname cannot be blank.(pt) -validation.msg.user.lastname.cannot.be.blank=Lastname cannot be blank.(pt) -validation.msg.user.email.cannot.be.blank=Email cannot be blank.(pt) -validation.msg.user.officeId.cannot.be.blank=You must select an office.(pt) -validation.msg.user.officeId.not.greater.than.zero=You must select an office.(pt) -validation.msg.user.roles.cannot.be.blank=A user must have at least one role.(pt) -validation.msg.changepassword.password.cannot.be.blank=Password cannot be blank.(pt) -validation.msg.changepassword.passwordrepeat.cannot.be.blank=Repeated password cannot be blank.(pt) -validation.msg.changepassword.passwordrepeat.not.the.same=Password and Repeat password are not the same.(pt) - -dialog.title.add.user=Add user(pt) -dialog.title.add.role=Add role(pt) -dialog.title.edit.details=Edit details(pt) - -form.legend.role.details=Role Details(pt) -form.label.role.name=Name:(pt) -form.label.role.description=Description:(pt) -form.label.role.available.permissions=Available permissions:(pt) -form.label.role.selected.permissions=Selected permissions:(pt) - -form.legend.user.details=User Details(pt) -form.label.user.username=Username:(pt) -form.label.user.firstname=First name:(pt) -form.label.user.lastname=Last name:(pt) -form.label.user.email=Email:(pt) -form.label.user.office=Office:(pt) -form.label.user.available.roles=Available roles:(pt) -form.label.user.selected.roles=Selected roles:(pt) - -validation.msg.role.name.cannot.be.blank=Name cannot be blank.(pt) -validation.msg.role.description.cannot.be.blank=Description cannot be blank.(pt) -validation.msg.role.description.exceeds.max.length=The content of the description exceeds max allowed length of 500 characters.(pt) -validation.msg.role.permissions.cannot.be.empty=A role must have at least one permission associated with it.(pt) - -table.heading.officename=Office Name(pt) -table.heading.username=Username(pt) -table.heading.name=Name(pt) -table.heading.email=Email(pt) -table.heading.rolename=Role Name(pt) -table.heading.description=Description(pt) -table.heading.permission.type=Type(pt) -table.heading.permission.permission=Permission(pt) -table.heading.permission.description=Description(pt) \ No newline at end of file diff --git a/JavaScriptApps/resources/global-translations/messages_zh.properties b/JavaScriptApps/resources/global-translations/messages_zh.properties deleted file mode 100644 index 1996e9169..000000000 --- a/JavaScriptApps/resources/global-translations/messages_zh.properties +++ /dev/null @@ -1,364 +0,0 @@ - -app.name=Individual Lending (zh) -app.loading=Loading...(zh) - -reporting.decimals=Decimals (zh) -reporting.format=Format (zh) - -login.username=User Name (zh) -login.password=Password (zh) - -link.topnav.clients=Clients(zh) -link.topnav.users=User Administration(zh) -link.topnav.organisation=Organisation Administration(zh) -link.reports=Reports(zh) -link.signout=Sign out(zh) -link.topnav.account.settings=Account Settings(zh) -link.topnav.theme=Theme(zh) -link.topnav.culture=Culture(zh) - -page.home.title=Home(zh) -tab.search=Search(zh) -label.client.search=Choose client:(zh): -option.client.search.first.choice=--Select Client--(zh) -link.add.new.client=Add a new client(zh) - -page.client.account.title=View Client Account Details(zh) -page.admin.home.title=Administration Home(zh) -page.admin.settings.title=Account Settings(zh) - -dialog.title.add.client=Add client(zh) -label.office=Office(zh): -option.office.first.choice=--Select Office--(zh) -label.lastname=Last name(zh): -label.firstname=First name(zh): -label.longname=Full name:(zh) -label.joiningdate=Joining date(zh): - -error.msg.header=You have the following errors:(zh) -validation.msg.client.officeId.cannot.be.blank=A client must be associated with an office.(zh) -validation.msg.client.firstname.cannot.be.blank=First name cannot be blank.(zh) -validation.msg.client.lastname.cannot.be.blank=Last name cannot be blank.(zh) -validation.msg.client.joiningDate.cannot.be.blank=Joining date cannot be blank.(zh) -validation.msg.client.firstname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(zh) -validation.msg.client.lastname.cannot.also.be.provided.when.clientOrBusinessName.is.populated=You cannot provide both fullname and firstname or lastname details. A fullname must be provided or else both firstname and lastname details.(zh) - -error.msg.client.id.invalid=Client does not exist.(zh) -error.msg.office.id.invalid=Office does not exist.(zh) -error.msg.office.duplicate.externalId=An office with 'External Id' already exists.(zh) -error.msg.office.duplicate.name=An office with 'name' already exists.(zh) -error.msg.office.unknown.data.integrity.issue=An unknown data integrity issue occured.(zh) - -dialog.title.confirmation.required=Confirmation required(zh) -text.confirmation.required=Are you sure?(zh) -dialog.title.functionality.not.available=Functionality not yet available(zh) -dialog.messages.functionality.not.available=Functionality not yet available.(zh) - -dialog.button.submit=Submit(zh) -dialog.button.save=Save(zh) -dialog.button.cancel=Cancel(zh) -dialog.button.ok=Ok(zh) -dialog.button.confirm=Confirm(zh) -link.edit=Edit(zh) -widget.multiselect.button.add=Add(zh) -widget.multiselect.button.remove=Remove(zh) - -dialog.title.new.loan.application=New loan application(zh) -dialog.button.new.loan.application=New loan application(zh) -dialog.button.reject.loan=Reject(zh) -dialog.button.withdrawn.by.client.loan=Withdrawn by applicant(zh) -dialog.button.approve.loan=Approve(zh) -dialog.button.delete.loan=Delete(zh) -dialog.button.undo.loan.approval=Undo approval(zh) -dialog.button.undo.loan.disbursal=Undo disbursal(zh) -dialog.button.disburse.loan=Disburse(zh) -dialog.button.loan.repayment=Loan repayment(zh) -dialog.button.adjust.loan.repayment=Adjust(zh) -dialog.button.loan.waive=Waive(zh) - -dialog.button.add.note=Add note(zh) -label.client.account.name=Name:(zh) -label.client.account.branch=Branch:(zh) -label.client.account.joinedon=Joined on:(zh) -heading.client.account.account.overview=Account Overview(zh) -label.client.account.pending.approval.loans=Pending approval loans(zh) -label.client.account.pending.disbursal.loans=Awaiting disbursal loans(zh) -label.client.account.active.loans=Active loans(zh) -label.client.account.closed.loans=Closed loans(zh) -label.client.account.no.loans.exist=No accounts exist(zh) -heading.client.account.extra.information=Additional Information(zh) -dialog.title.edit.additional.client.information=Edit additional client information(zh) - -widget.notes.heading=You have the following notes:(zh) -widget.notes.label.client.note=Client note:(zh) -widget.notes.label.loan.note=Loan note:(zh) -widget.notes.label.loan.transaction.note=Loan transaction note:(zh) - -dialog.title.add.note=Add note(zh) -dialog.title.edit.note=Edit note(zh) -dialog.notes.form.label.note=Note:(zh) - -# error handling messages for loan event and transactions screens -error.msg.no.loan.with.identifier.exists=No loan with identifier {0} exists.(zh) -error.msg.no.permission=You do not have sufficient permissions to perform this action.(zh) -error.msg.no.permission.to.approve.loan.in.past=You do not have permission to approve a loan with a date in the past.(zh) -error.msg.no.permission.to.reject.loan.in.past=You do not have permission to reject a loan with a date in the past.(zh) -error.msg.no.permission.to.withdraw.loan.in.past=You do not have permission to withdraw a loan with a date in the past.(zh) -error.msg.no.permission.to.disburse.loan.in.past=You do not have permission to disburse a loan with a date in the past.(zh) -error.msg.no.permission.to.make.repayment.on.loan.in.past=You do not have permission to make a repayment on the loan with a date in the past.(zh) -error.msg.cannot.delete.loan.in.its.present.state=You cannot delete the loan in its current state. It must be pending approval.(zh) - -validation.msg.invalid.date.format=Invalid date format.(zh) -validation.msg.invalid.number.format=Invalid number format.(zh) -validation.msg.loan.id.is.invalid=Loan identifier is invalid.(zh) -validation.msg.loan.transaction.id.is.invalid=Loan transaction identifier is invalid.(zh) - -validation.msg.loan.state.transition.date.cannot.be.blank=A date must be provided when transitioning the loan into this state.(zh) -validation.msg.note.exceeds.max.length=The content of the note exceeds max length of 1000 characters.(zh) - -validation.msg.loan.repayment.date.cannot.be.blank=The repayment date cannot be blank.(zh) -validation.msg.loan.repayment.must.be.greater.than.zero=The repayment amount must be a number greater than zero.(zh) -validation.msg.loan.adjustment.must.be.zero.or.greater=The repayment amount must be a number greater than or equal to zero.(zh) - -# loan event and transactions screens -label.loan.on=On:(zh) -label.loan.action.note=Note:(zh) -dialog.title.reject.loan=Reject loan(zh) -dialog.title.loan.withdrawn.by.client=Withdrawn by client(zh) -dialog.title.approve.loan=Approve loan(zh) -dialog.title.undo.loan.approval=Undo loan approval: confirmation required(zh) -dialog.title.disburse.loan=Disburse loan(zh) -dialog.title.undo.loan.disbursal=Undo loan disbursal: confirmation required(zh) -dialog.title.loan.repayment=Loan repayment(zh) -dialog.title.adjust.loan.repayment=Adjust loan repayment(zh) -dialog.title.waive.loan=Waive outstanding amount(zh) -label.loan.transaction.on=Repayment on:(zh) -label.loan.transaction.amount=Amount:(zh) - -tab.client.account.loan.details=Details(zh) -tab.client.account.loan.schedule=Schedule(zh) -tab.client.account.loan.repayments=Repayments(zh) - -tab.client.account.loan.schedule.table.summary.caption=Summary(zh) -tab.client.account.loan.schedule.table.repaymentschedule.caption=Repayment Schedule(zh) -tab.client.account.loan.schedule.table.repayments.caption=Repayment Activity(zh) - -tab.client.account.loan.schedule.table.summary.heading.original=Original Loan(zh) -tab.client.account.loan.schedule.table.summary.heading.paid=Paid(zh) -tab.client.account.loan.schedule.table.summary.heading.waived=Waived(zh) -tab.client.account.loan.schedule.table.heading.outstanding=Outstanding(zh) -tab.client.account.loan.schedule.table.column.heading.expected=Expected(zh) -tab.client.account.loan.schedule.table.column.heading.paid=Paid(zh) -tab.client.account.loan.schedule.table.column.heading.principal=Principal(zh) -tab.client.account.loan.schedule.table.column.heading.interest=Interest(zh) -tab.client.account.loan.schedule.table.column.heading.total=Total(zh) - -tab.client.account.loan.schedule.table.column.heading.date=Date(zh) -tab.client.account.loan.schedule.table.column.heading.paymentdate=Payment Date(zh) -tab.client.account.loan.schedule.table.column.heading.amountpaid=Amount Paid(zh) -tab.client.account.loan.schedule.table.column.heading.principal.portion=Principal Portion(zh) -tab.client.account.loan.schedule.table.column.heading.interest.portion=Interest Portion(zh) -tab.client.account.loan.schedule.table.column.heading.action=Action(zh) - -# client account screen -label.client.account.loan.status=Status:(zh) -label.client.account.loan.status.since=since(zh) -label.client.account.loan.status.arrears=In arrears by:(zh) -label.client.account.loan.submitted.on=Submitted on:(zh) -label.client.account.loan.approved.on=Approved on:(zh) -label.client.account.loan.expected.disbursement.on=Expected dibursement on:(zh) -label.client.account.loan.disbursed.on=Disbursed on:(zh) -label.client.account.loan.first.repayment.due.on=First repayment due on:(zh) -label.client.account.loan.interest.charged.from=Interest charged from:(zh) -label.client.account.loan.expected.maturity.on=Expected to mature on:(zh) -label.client.account.loan.closed.on=Closed on:(zh) -label.client.account.loan.term=Expected loan term:(zh) -label.client.account.loan.actual.term=Actual loan term:(zh) -label.months=Months(zh) -label.days=Days(zh) -label.client.account.loan.product=Product:(zh) -label.client.account.loan.externalid=External id:(zh) -label.client.account.loan.currency=Currency:(zh) -label.client.account.loan.principal=Principal:(zh) -label.client.account.loan.repayments=Repayments:(zh) -label.client.account.loan.amortization=Amortization:(zh) -label.client.account.loan.interest=Interest:(zh) - -# organisation administration screens -administration.link.view.products=View Products(zh) -administration.link.add.product=Add Product(zh) -administration.link.view.offices=View Offices(zh) -administration.link.add.office=Add Office(zh) -administration.link.currency.configuration=Currency Configuration(zh) - -administration.link.view.users=View Users(zh) -administration.link.add.user=Add User(zh) -administration.link.view.roles=View Roles(zh) -administration.link.add.role=Add Role(zh) -administration.link.view.permissions=View Permissions(zh) - -table.heading.product.name=Product Name(zh) -table.heading.product.created=Created(zh) -table.heading.product.modified=Last Modified(zh) -table.heading.product.active=Active(zh) - -link.action.product.deactivate=Deactivate(zh) -link.action.product.viewedit=View/Edit(zh) -link.action.product.delete=Delete(zh) - -dialog.title.add.loan.product=Add loan product(zh) -dialog.title.product.details=Loan product details(zh) - -form.label.loan.applicant=Applicant:(zh) -form.label.loan.submitted.on=Submitted on:(zh) -form.label.loan.submitted.on.note=Loan submittal note:(zh) -form.label.loan.annual.nominal.interestrate=Annual nominal rate %:(zh) -form.label.loan.interest.charged.from=Interest charged from:(zh) -form.label.loan.expected.disbursement.date.on=Expected disbursement on:(zh) -form.label.loan.first.repayment.on=First repayment on:(zh) - -validation.msg.loan.expectedDisbursementDate.method.cannot.be.blank=Expected disbursement on field cannot be blank.(zh) -validation.msg.loan.expectedDisbursementDate.cannot.be.after.first.repayment.date=Expected disbursement date cannot be after the first repayment date.(zh) -validation.msg.loan.interestCalculatedFromDate.must.be.entered.when.using.repayments.startfrom.field=The date interest is to be calculated from cannot be left blank when a date is provided for when repayments start from.(zh) -validation.msg.loan.submitted.on.date.cannot.be.blank=Submitted on date cannot be blank.(zh) -validation.msg.loan.submitted.on.date.cannot.be.after.expectedDisbursementDate=Submitted on date cannot be after the expected disbursement date.(zh) - -form.legend.loan.information=Loan Information(zh) -form.legend.loan.product.information=Loan Product Information(zh) -form.label.product.dropdown=Product:(zh) -form.option.product.dropdown.first.choice=--Select Product--(zh) -form.label.loan.product.name=Name:(zh) -form.label.loan.product.description=Description:(zh) -form.legend.loan.product.currency=Currency(zh) -form.label.loan.product.currency=Currency:(zh) -form.label.loan.product.decimalplaces=Decimal places:(zh) -form.legend.loan.product.loan.terms=Loan Terms(zh) -form.label.loan.product.loan.amount=Loan amount:(zh) -form.label.loan.product.repaidevery=Repaid every:(zh) -form.label.loan.product.numberof.repayments=# of repayments:(zh) -form.label.loan.product.amortization=Amortization:(zh) -form.label.loan.product.arrears.tolerance=Arrears tolerance:(zh) -form.label.loan.product.nominal.interestrate=Nominal interest rate %:(zh) -form.label.loan.product.interest.method=Interest method:(zh) -form.label.loan.product.interest.rate.calcutated.in.period=Interest calculation period:(zh) - - -validation.msg.product.name.cannot.be.blank=Product name cannot be blank.(zh) -validation.msg.product.description.exceeds.max.length=The content of the description has exceeded max allowed length of 500 characters.(zh) -validation.msg.product.digitsAfterDecimal.cannot.be.blank=You must enter a number to represent number of digits after decimal to be supported for product.(zh) -validation.msg.product.digitsAfterDecimal.is.not.within.expected.range=Decimal places must be a number between {1} and {2} inclusive.(zh) - -validation.msg.product.repaymentEvery.cannot.be.blank=Repaid every cannot be blank.(zh) -validation.msg.product.repaymentEvery.not.greater.than.zero=Repaid every must be greater than 0.(zh) -validation.msg.product.numberOfRepayments.cannot.be.blank=# of repayments cannot be blank.(zh) -validation.msg.product.numberOfRepayments.not.greater.than.zero=# of repayments must be greater than 0.(zh) - -validation.msg.product.principal.cannot.be.blank=Loan amount cannot be blank.(zh) -validation.msg.product.inArrearsTolerance.cannot.be.blank=Arrears tolerance cannot be blank.(zh) -validation.msg.product.interestRatePerPeriod.cannot.be.blank=Nominal interest rate % cannot be blank.(zh) - -validation.msg.product.principal.not.greater.than.zero=Loan amount must be greater than zero.(zh) -validation.msg.product.inArrearsTolerance.not.zero.or.greater=Arrears tolerance must be greater than or equal to zero.(zh) -validation.msg.product.interest.rate.per.period.amount.cannot.be.negative=Nominal interest rate % cannot be negative.(zh) - -table.heading.office.name=Office Name(zh) -table.heading.office.externalid=External Id(zh) -table.heading.office.openedon=Opened on(zh) -table.heading.office.parent=Parent Office(zh) - -dialog.title.add.office=Add office(zh) -dialog.title.office.details=Office details(zh) - -form.legend.office.details=Office details(zh) -form.label.office.name=Name:(zh) -form.label.office.parent=Parent office:(zh) -form.label.office.openedon=Opened on:(zh) -form.label.office.externalid=External id:(zh) - -validation.msg.office.name.cannot.be.blank=Office name cannot be blank.(zh) -validation.msg.office.parentId.cannot.be.blank=You must select a parent office.(zh) -validation.msg.office.parentId.not.greater.than.zero=You must select a parent office.(zh) -validation.msg.office.openingDateFormatted.cannot.be.blank=You must choose a date to represent when the office commenced services.(zh) -validation.msg.office.externalId.exceeds.max.length=External id exceeds max length of {0} alpha-numeric characters - {1}.(zh) - -dialog.title.configuration.currencies=Currency Configuration (zh) -form.label.configuration.available.currencies=Available currencies:(zh) -form.label.configuration.allowed.currencies=Allowed currencies:(zh) - -validation.msg.configuration.currencies.cannot.be.empty=You must select at least one currency that is 'allowed' for your organisation.(zh) - -# user account settings and admin screens -tab.settings=Settings(zh) -dialog.title.update.password=Update password(zh) -dialog.title.update.details=Update details(zh) - -form.label.new.password=New password:(zh) -form.label.repeat.new.password=Repeat new password:(zh) - -form.label.username=Username:(zh) -form.label.firstname=First name:(zh) -form.label.lastname=Last name:(zh) -form.label.email=Email:(zh) - -form.label.heading.office=Office:(zh) -form.label.office=Office:(zh) - -form.label.heading.details=Details:(zh) -form.label.name=Name:(zh) -form.label.username=Username:(zh) -form.label.email=Email:(zh) -form.link.changedetails=Change details(zh) - -form.label.heading.security=Security:(zh) -form.label.password=Password:(zh) -form.link.changepassword=Change password(zh) - -form.label.heading.roles=Roles:(zh) - -error.msg.username.already.exists.in.organisation=An account with that username already exists.(zh) - -validation.msg.user.username.cannot.be.blank=Username cannot be blank.(zh) -validation.msg.username.already.exists.in.organisation=An account with that username already exists.(zh) -validation.msg.user.firstname.cannot.be.blank=Firstname cannot be blank.(zh) -validation.msg.user.lastname.cannot.be.blank=Lastname cannot be blank.(zh) -validation.msg.user.email.cannot.be.blank=Email cannot be blank.(zh) -validation.msg.user.officeId.cannot.be.blank=You must select an office.(zh) -validation.msg.user.officeId.not.greater.than.zero=You must select an office.(zh) -validation.msg.user.roles.cannot.be.blank=A user must have at least one role.(zh) -validation.msg.changepassword.password.cannot.be.blank=Password cannot be blank.(zh) -validation.msg.changepassword.passwordrepeat.cannot.be.blank=Repeated password cannot be blank.(zh) -validation.msg.changepassword.passwordrepeat.not.the.same=Password and Repeat password are not the same.(zh) - -dialog.title.add.user=Add user(zh) -dialog.title.add.role=Add role(zh) -dialog.title.edit.details=Edit details(zh) - -form.legend.role.details=Role Details(zh) -form.label.role.name=Name:(zh) -form.label.role.description=Description:(zh) -form.label.role.available.permissions=Available permissions:(zh) -form.label.role.selected.permissions=Selected permissions:(zh) - -form.legend.user.details=User Details(zh) -form.label.user.username=Username:(zh) -form.label.user.firstname=First name:(zh) -form.label.user.lastname=Last name:(zh) -form.label.user.email=Email:(zh) -form.label.user.office=Office:(zh) -form.label.user.available.roles=Available roles:(zh) -form.label.user.selected.roles=Selected roles:(zh) - -validation.msg.role.name.cannot.be.blank=Name cannot be blank.(zh) -validation.msg.role.description.cannot.be.blank=Description cannot be blank.(zh) -validation.msg.role.description.exceeds.max.length=The content of the description exceeds max allowed length of 500 characters.(zh) -validation.msg.role.permissions.cannot.be.empty=A role must have at least one permission associated with it.(zh) - -table.heading.officename=Office Name(zh) -table.heading.username=Username(zh) -table.heading.name=Name(zh) -table.heading.email=Email(zh) -table.heading.rolename=Role Name(zh) -table.heading.description=Description(zh) -table.heading.permission.type=Type(zh) -table.heading.permission.permission=Permission(zh) -table.heading.permission.description=Description(zh) \ No newline at end of file diff --git a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/aes-min.js b/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/aes-min.js deleted file mode 100644 index 4a33a39d2..000000000 --- a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/aes-min.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -CryptoJS v3.0.1 -code.google.com/p/crypto-js -(c) 2009-2012 by Jeff Mott. All rights reserved. -code.google.com/p/crypto-js/wiki/License -*/ -(function(){var r=CryptoJS,u=r.lib.BlockCipher,o=r.algo,g=[],v=[],w=[],x=[],y=[],z=[],p=[],q=[],s=[],t=[];(function(){for(var b=[],c=0;256>c;c++)b[c]=128>c?c<<1:c<<1^283;for(var a=0,f=0,c=0;256>c;c++){var d=f^f<<1^f<<2^f<<3^f<<4,d=d>>>8^d&255^99;g[a]=d;v[d]=a;var e=b[a],A=b[e],h=b[A],i=257*b[d]^16843008*d;w[a]=i<<24|i>>>8;x[a]=i<<16|i>>>16;y[a]=i<<8|i>>>24;z[a]=i;i=16843009*h^65537*A^257*e^16843008*a;p[d]=i<<24|i>>>8;q[d]=i<<16|i>>>16;s[d]=i<<8|i>>>24;t[d]=i;a?(a=e^b[b[b[h^e]]],f^=b[b[f]]):a=f=1}})(); -var B=[0,1,2,4,8,16,32,64,128,27,54],o=o.AES=u.extend({_doReset:function(){for(var b=this._key,c=b.words,a=b.sigBytes/4,b=4*((this._nRounds=a+6)+1),f=this._keySchedule=[],d=0;d>>24]<<24|g[e>>>16&255]<<16|g[e>>>8&255]<<8|g[e&255]):(e=e<<8|e>>>24,e=g[e>>>24]<<24|g[e>>>16&255]<<16|g[e>>>8&255]<<8|g[e&255],e^=B[d/a|0]<<24);f[d]=f[d-a]^e}c=this._invKeySchedule=[];for(a=0;aa||4>=d?e:p[g[e>>>24]]^q[g[e>>> -16&255]]^s[g[e>>>8&255]]^t[g[e&255]]},encryptBlock:function(b,c){this._doCryptBlock(b,c,this._keySchedule,w,x,y,z,g)},decryptBlock:function(b,c){var a=b[c+1];b[c+1]=b[c+3];b[c+3]=a;this._doCryptBlock(b,c,this._invKeySchedule,p,q,s,t,v);a=b[c+1];b[c+1]=b[c+3];b[c+3]=a},_doCryptBlock:function(b,c,a,f,d,e,g,h){for(var i=this._nRounds,k=b[c]^a[0],l=b[c+1]^a[1],m=b[c+2]^a[2],j=b[c+3]^a[3],n=4,r=1;r>>24]^d[l>>>16&255]^e[m>>>8&255]^g[j&255]^a[n++],p=f[l>>>24]^d[m>>>16&255]^e[j>>>8&255]^ -g[k&255]^a[n++],q=f[m>>>24]^d[j>>>16&255]^e[k>>>8&255]^g[l&255]^a[n++],j=f[j>>>24]^d[k>>>16&255]^e[l>>>8&255]^g[m&255]^a[n++],k=o,l=p,m=q;o=(h[k>>>24]<<24|h[l>>>16&255]<<16|h[m>>>8&255]<<8|h[j&255])^a[n++];p=(h[l>>>24]<<24|h[m>>>16&255]<<16|h[j>>>8&255]<<8|h[k&255])^a[n++];q=(h[m>>>24]<<24|h[j>>>16&255]<<16|h[k>>>8&255]<<8|h[l&255])^a[n++];j=(h[j>>>24]<<24|h[k>>>16&255]<<16|h[l>>>8&255]<<8|h[m&255])^a[n++];b[c]=o;b[c+1]=p;b[c+2]=q;b[c+3]=j},keySize:8});r.AES=u._createHelper(o)})(); diff --git a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/aes.js b/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/aes.js deleted file mode 100644 index cb90e1bae..000000000 --- a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/aes.js +++ /dev/null @@ -1,213 +0,0 @@ -/* -CryptoJS v3.0.1 -code.google.com/p/crypto-js -(c) 2009-2012 by Jeff Mott. All rights reserved. -code.google.com/p/crypto-js/wiki/License -*/ -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var BlockCipher = C_lib.BlockCipher; - var C_algo = C.algo; - - // Lookup tables - var SBOX = []; - var INV_SBOX = []; - var SUB_MIX_0 = []; - var SUB_MIX_1 = []; - var SUB_MIX_2 = []; - var SUB_MIX_3 = []; - var INV_SUB_MIX_0 = []; - var INV_SUB_MIX_1 = []; - var INV_SUB_MIX_2 = []; - var INV_SUB_MIX_3 = []; - - // Compute lookup tables - (function () { - // Compute double table - var d = []; - for (var i = 0; i < 256; i++) { - if (i < 128) { - d[i] = i << 1; - } else { - d[i] = (i << 1) ^ 0x11b; - } - } - - // Walk GF(2^8) - var x = 0; - var xi = 0; - for (var i = 0; i < 256; i++) { - // Compute sbox - var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); - sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; - SBOX[x] = sx; - INV_SBOX[sx] = x; - - // Compute multiplication - var x2 = d[x]; - var x4 = d[x2]; - var x8 = d[x4]; - - // Compute sub bytes, mix columns tables - var t = (d[sx] * 0x101) ^ (sx * 0x1010100); - SUB_MIX_0[x] = (t << 24) | (t >>> 8); - SUB_MIX_1[x] = (t << 16) | (t >>> 16); - SUB_MIX_2[x] = (t << 8) | (t >>> 24); - SUB_MIX_3[x] = t; - - // Compute inv sub bytes, inv mix columns tables - var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); - INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8); - INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16); - INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24); - INV_SUB_MIX_3[sx] = t; - - // Compute next counter - if (!x) { - x = xi = 1; - } else { - x = x2 ^ d[d[d[x8 ^ x2]]]; - xi ^= d[d[xi]]; - } - } - }()); - - // Precomputed Rcon lookup - var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; - - /** - * AES block cipher algorithm. - */ - var AES = C_algo.AES = BlockCipher.extend({ - _doReset: function () { - // Shortcuts - var key = this._key; - var keyWords = key.words; - var keySize = key.sigBytes / 4; - - // Compute number of rounds - var nRounds = this._nRounds = keySize + 6 - - // Compute number of key schedule rows - var ksRows = (nRounds + 1) * 4; - - // Compute key schedule - var keySchedule = this._keySchedule = []; - for (var ksRow = 0; ksRow < ksRows; ksRow++) { - if (ksRow < keySize) { - keySchedule[ksRow] = keyWords[ksRow]; - } else { - var t = keySchedule[ksRow - 1]; - - if (!(ksRow % keySize)) { - // Rot word - t = (t << 8) | (t >>> 24); - - // Sub word - t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; - - // Mix Rcon - t ^= RCON[(ksRow / keySize) | 0] << 24; - } else if (keySize > 6 && ksRow % keySize == 4) { - // Sub word - t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; - } - - keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; - } - } - - // Compute inv key schedule - var invKeySchedule = this._invKeySchedule = []; - for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) { - var ksRow = ksRows - invKsRow; - - if (invKsRow % 4) { - var t = keySchedule[ksRow]; - } else { - var t = keySchedule[ksRow - 4]; - } - - if (invKsRow < 4 || ksRow <= 4) { - invKeySchedule[invKsRow] = t; - } else { - invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^ - INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; - } - } - }, - - encryptBlock: function (M, offset) { - this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX); - }, - - decryptBlock: function (M, offset) { - // Swap 2nd and 4th rows - var t = M[offset + 1]; - M[offset + 1] = M[offset + 3]; - M[offset + 3] = t; - - this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX); - - // Inv swap 2nd and 4th rows - var t = M[offset + 1]; - M[offset + 1] = M[offset + 3]; - M[offset + 3] = t; - }, - - _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) { - // Shortcut - var nRounds = this._nRounds; - - // Get input, add round key - var s0 = M[offset] ^ keySchedule[0]; - var s1 = M[offset + 1] ^ keySchedule[1]; - var s2 = M[offset + 2] ^ keySchedule[2]; - var s3 = M[offset + 3] ^ keySchedule[3]; - - // Key schedule row counter - var ksRow = 4; - - // Rounds - for (var round = 1; round < nRounds; round++) { - // Shift rows, sub bytes, mix columns, add round key - var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; - var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; - var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; - var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; - - // Update state - s0 = t0; - s1 = t1; - s2 = t2; - s3 = t3; - } - - // Shift rows, sub bytes, add round key - var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; - var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; - var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; - var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; - - // Set output - M[offset] = t0; - M[offset + 1] = t1; - M[offset + 2] = t2; - M[offset + 3] = t3; - }, - - keySize: 256/32 - }); - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg); - * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg); - */ - C.AES = BlockCipher._createHelper(AES); -}()); diff --git a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/cipher-core-min.js b/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/cipher-core-min.js deleted file mode 100644 index 9c377d6ab..000000000 --- a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/components/cipher-core-min.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -CryptoJS v3.0.1 -code.google.com/p/crypto-js -(c) 2009-2012 by Jeff Mott. All rights reserved. -code.google.com/p/crypto-js/wiki/License -*/ -CryptoJS.lib.Cipher||function(r){var f=CryptoJS,e=f.lib,i=e.Base,j=e.WordArray,o=e.BufferedBlockAlgorithm,p=f.enc.Base64,s=f.algo.EvpKDF,l=e.Cipher=o.extend({cfg:i.extend(),createEncryptor:function(a,b){return this.create(this._ENC_XFORM_MODE,a,b)},createDecryptor:function(a,b){return this.create(this._DEC_XFORM_MODE,a,b)},init:function(a,b,c){this.cfg=this.cfg.extend(c);this._xformMode=a;this._key=b;this.reset()},reset:function(){o.reset.call(this);this._doReset()},process:function(a){this._append(a); -return this._process()},finalize:function(a){a&&this._append(a);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){return function(a){return{encrypt:function(b,c,d){return("string"==typeof c?q:g).encrypt(a,b,c,d)},decrypt:function(b,c,d){return("string"==typeof c?q:g).decrypt(a,b,c,d)}}}}()});e.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var k=f.mode={},t=e.BlockCipherMode=i.extend({createEncryptor:function(a, -b){return this.Encryptor.create(a,b)},createDecryptor:function(a,b){return this.Decryptor.create(a,b)},init:function(a,b){this._cipher=a;this._iv=b}}),k=k.CBC=function(){function a(a,b,m){var h=this._iv;h?this._iv=r:h=this._prevBlock;for(var e=0;e>>0?1:0);o.high=i;o.low=b}var W=k&Q^~k&R,p=h&z^~h&A,o=j&w^j&x^w&x,S=g&t^g&u^t&u,m=(j>>>28|g<<4)^(j<<30|g>>>2)^(j<<25|g>>>7),q=(g>>>28|j<<4)^(g<<30|j>>>2)^(g<<25|j>>>7),c=da[l],ea=c.high,ca=c.low,c=B+((h>>>14|k<<18)^(h>>>18|k<<14)^(h<<23|k>>>9)),n=V+((k>>>14|h<<18)^(k>>>18|h<<14)^(k<<23|h>>>9))+(c>>>0>>0?1:0),c=c+p,n=n+W+(c>>>0
>>0?1:0),c=c+ca,n=n+ea+
-(c>>>0 >>24]^f[n>>>16&255]^h[o>>>8&255]^l[q&255]^d[r++],v=e[n>>>24]^f[o>>>16&255]^h[q>>>8&255]^
-l[m&255]^d[r++],w=e[o>>>24]^f[q>>>16&255]^h[m>>>8&255]^l[n&255]^d[r++],q=e[q>>>24]^f[m>>>16&255]^h[n>>>8&255]^l[o&255]^d[r++],m=u,n=v,o=w;u=(i[m>>>24]<<24|i[n>>>16&255]<<16|i[o>>>8&255]<<8|i[q&255])^d[r++];v=(i[n>>>24]<<24|i[o>>>16&255]<<16|i[q>>>8&255]<<8|i[m&255])^d[r++];w=(i[o>>>24]<<24|i[q>>>16&255]<<16|i[m>>>8&255]<<8|i[n&255])^d[r++];q=(i[q>>>24]<<24|i[m>>>16&255]<<16|i[n>>>8&255]<<8|i[o&255])^d[r++];a[c]=u;a[c+1]=v;a[c+2]=w;a[c+3]=q},keySize:8});q.AES=i._createHelper(f)})();
diff --git a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/rollups/hmac-md5.js b/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/rollups/hmac-md5.js
deleted file mode 100644
index 23f0f795d..000000000
--- a/JavaScriptApps/resources/libs/CryptoJS-v3.0.1/rollups/hmac-md5.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-CryptoJS v3.0.1
-code.google.com/p/crypto-js
-(c) 2009-2012 by Jeff Mott. All rights reserved.
-code.google.com/p/crypto-js/wiki/License
-*/
-var CryptoJS=CryptoJS||function(l,q){var g={},i=g.lib={},p=i.Base=function(){function a(){}return{extend:function(f){a.prototype=this;var c=new a;f&&c.mixIn(f);c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.$super.extend(this)}}}(),m=i.WordArray=p.extend({init:function(a,f){a=
-this.words=a||[];this.sigBytes=f!=q?f:4*a.length},toString:function(a){return(a||r).stringify(this)},concat:function(a){var f=this.words,c=a.words,d=this.sigBytes,a=a.sigBytes;this.clamp();if(d%4)for(var b=0;b>>2]|=(c[b>>>2]>>>24-8*(b%4)&255)<<24-8*((d+b)%4);else if(65535 >>0?1:0);P=k.low=P+G;k.high=ba+S+(P>>>0>>0?1:0),V=R,B=A,R=Q,A=z,Q=k,z=h,h=y+c|0,k=U+n+(h>>>0