wip javascript

This commit is contained in:
John Woodlock
2012-07-06 17:39:57 +10:00
parent 136136f6b4
commit 96deb22a31
833 changed files with 74 additions and 63 deletions
@@ -0,0 +1,368 @@
# jQuery.1ln8 plugin seems to give first line of properties file as error for some reason.
app.name=Mifos - Individual Lending:
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=Sumbitted 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
@@ -0,0 +1,355 @@
app.name=Mifos - Individual Lending (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=Sumbitted 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)
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)