diff --git a/src/app/accounting/chart-of-accounts/chart-of-accounts.component.html b/src/app/accounting/chart-of-accounts/chart-of-accounts.component.html index 5b264770b..0a1e250e1 100644 --- a/src/app/accounting/chart-of-accounts/chart-of-accounts.component.html +++ b/src/app/accounting/chart-of-accounts/chart-of-accounts.component.html @@ -44,7 +44,7 @@ {{"labels.inputs.Type" | translate}} - {{ glAccount.type.value }} + {{ 'labels.inputs.accounting.' + glAccount.type.value | translate }} @@ -104,7 +104,7 @@
  • - {{ '(' + node.glCode + ')' }}   + {{ '(' + node.glCode + ')' }} {{ node.name }}
  • @@ -117,7 +117,7 @@ - {{ '(' + node.glCode + ')' }}   + {{ '(' + node.glCode + ')' }} {{ node.name }} @@ -160,7 +160,7 @@
    - {{ glAccount.type }} + {{ 'labels.inputs.accounting.' + glAccount.type | translate }}
    diff --git a/src/app/accounting/chart-of-accounts/create-gl-account/create-gl-account.component.html b/src/app/accounting/chart-of-accounts/create-gl-account/create-gl-account.component.html index f811901c9..a935008b1 100644 --- a/src/app/accounting/chart-of-accounts/create-gl-account/create-gl-account.component.html +++ b/src/app/accounting/chart-of-accounts/create-gl-account/create-gl-account.component.html @@ -12,7 +12,7 @@ {{"labels.inputs.Account Type" | translate}} - {{ accountType.value }} + {{ 'labels.inputs.accounting.' + accountType.value | translate }} diff --git a/src/app/accounting/chart-of-accounts/gl-account-tree.service.ts b/src/app/accounting/chart-of-accounts/gl-account-tree.service.ts index 113395c22..3877517df 100644 --- a/src/app/accounting/chart-of-accounts/gl-account-tree.service.ts +++ b/src/app/accounting/chart-of-accounts/gl-account-tree.service.ts @@ -6,6 +6,8 @@ import { BehaviorSubject } from 'rxjs'; /** Custom Components */ import { GLAccountNode } from './gl-account-node.model'; +import { TranslateService } from '@ngx-translate/core'; +import { GLAccount } from 'app/shared/models/general.model'; /** * GL Account tree service. @@ -25,7 +27,8 @@ export class GlAccountTreeService { */ get treeData(): GLAccountNode[] { return this.treeDataChange.value; } - constructor() { } + constructor( + private translateService: TranslateService) { } /** * Builds the chart of accounts tree and emits the value. @@ -41,19 +44,22 @@ export class GlAccountTreeService { * @param {any} glAccountData Chart of accounts data. * @returns {GLAccountNode[]} Chart of accounts tree nodes. */ - buildGLAccountTree(glAccountData: any): GLAccountNode[] { + buildGLAccountTree(glAccountData: GLAccount[]): GLAccountNode[] { const glAccountTree: GLAccountNode[] = []; // Header nodes - glAccountTree.push(new GLAccountNode('GL ACCOUNTS')); - glAccountTree[0].children.push(new GLAccountNode('ASSET')); - glAccountTree[0].children.push(new GLAccountNode('EQUITY')); - glAccountTree[0].children.push(new GLAccountNode('EXPENSE')); - glAccountTree[0].children.push(new GLAccountNode('INCOME')); - glAccountTree[0].children.push(new GLAccountNode('LIABILITY')); + glAccountTree.push(new GLAccountNode('ACCOUNTS')); + glAccountTree[0].children.push(new GLAccountNode(this.translateService.instant('labels.inputs.accounting.ASSET'))); + glAccountTree[0].children.push(new GLAccountNode(this.translateService.instant('labels.inputs.accounting.EQUITY'))); + glAccountTree[0].children.push(new GLAccountNode(this.translateService.instant('labels.inputs.accounting.EXPENSE'))); + glAccountTree[0].children.push(new GLAccountNode(this.translateService.instant('labels.inputs.accounting.INCOME'))); + glAccountTree[0].children.push(new GLAccountNode(this.translateService.instant('labels.inputs.accounting.LIABILITY'))); // Sort by parent id (so that child nodes can be added properly) - glAccountData.sort((glAccountOne: any, glAccountTwo: any) => { + if (!glAccountData[0].parentId) { + glAccountData[0].parentId = 0; + } + glAccountData.sort((glAccountOne: GLAccount, glAccountTwo: GLAccount) => { if (!glAccountOne.parentId) { glAccountOne.parentId = 0; } @@ -72,6 +78,7 @@ export class GlAccountTreeService { // and rest as children to respective parent nodes. for (const glAccount of glAccountData) { if (glAccount.parentId === 0) { + console.log(glAccount.type.value); if (glAccount.type.value === 'ASSET') { glAccountTree[0].children[0].children.push(glAccounts[glAccount.id]); } else if (glAccount.type.value === 'EQUITY') { diff --git a/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.html b/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.html index 29a4b5ba9..6a939b378 100644 --- a/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.html +++ b/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.html @@ -42,7 +42,7 @@
    - {{ glAccount.type?.value }} + {{ 'labels.inputs.accounting.' + glAccount.type?.value | translate }}
    @@ -99,6 +99,9 @@ + + +
    diff --git a/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.ts b/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.ts index 0c0583e64..dccccd370 100644 --- a/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.ts +++ b/src/app/accounting/chart-of-accounts/view-gl-account/view-gl-account.component.ts @@ -8,6 +8,7 @@ import { DeleteDialogComponent } from '../../../shared/delete-dialog/delete-dial /** Custom Services */ import { AccountingService } from '../../accounting.service'; +import { Location } from '@angular/common'; /** * View gl account component. @@ -32,7 +33,8 @@ export class ViewGlAccountComponent implements OnInit { constructor(private accountingService: AccountingService, private route: ActivatedRoute, private router: Router, - public dialog: MatDialog) { + private dialog: MatDialog, + private location: Location) { this.route.data.subscribe((data: { glAccountAndChartOfAccountsTemplate: any }) => { this.glAccount = data.glAccountAndChartOfAccountsTemplate; }); @@ -68,4 +70,8 @@ export class ViewGlAccountComponent implements OnInit { }); } + goBack(): void { + this.location.back(); + } + } diff --git a/src/app/core/utils/dates.ts b/src/app/core/utils/dates.ts index 5eeca28c4..01bbfafdb 100644 --- a/src/app/core/utils/dates.ts +++ b/src/app/core/utils/dates.ts @@ -21,6 +21,10 @@ export class Dates { return datePipe.transform(timestamp, dateFormat); } + public formatDateAsString(value: Date, dateFormat: string): string { + return moment(value).format(dateFormat); + } + public parseDate(value: any): Date { if (value instanceof Array) { return moment(value.join('-'), 'YYYY-MM-DD').toDate(); diff --git a/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.html b/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.html index e5cbfb637..770b39c61 100644 --- a/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.html +++ b/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.html @@ -3,31 +3,31 @@
    - Attribute + {{'labels.inputs.Attribute' | translate}} {{ attributeName.value }} - Attribute is required + {{'labels.inputs.Attribute' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Condition + {{'labels.inputs.Condition' | translate}} {{ conditionType.value }} - Condition is required + {{'labels.inputs.Condition' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Value + {{'labels.inputs.Value' | translate}} {{ attributeValue.name }} @@ -35,33 +35,35 @@ - Value is required + {{'labels.inputs.Value' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Type + {{'labels.inputs.Type' | translate}} {{ incentiveType.value }} - Type is required + {{'labels.inputs.Type' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Interest + {{'labels.inputs.Interest' | translate}} - Interest is required + {{'labels.inputs.Interest' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}}
    - - + + diff --git a/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.ts b/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.ts index 247a79dd2..d6a694b89 100644 --- a/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.ts +++ b/src/app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit, Inject } from '@angular/core'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'mifosx-deposit-product-incentive-form-dialog', @@ -27,7 +28,8 @@ export class DepositProductIncentiveFormDialogComponent implements OnInit { constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any, - private formBuilder: UntypedFormBuilder) { + private formBuilder: UntypedFormBuilder, + private translateService: TranslateService) { this.createDepositProductIncentiveForm(); this.setConditionalControls(); this.layout = { ...this.layout, ...data.layout }; @@ -56,8 +58,7 @@ export class DepositProductIncentiveFormDialogComponent implements OnInit { 'entityType': this.data.entityType }); } - - this.title = `Incentives: ${this.entityTypeData.find((entityType: any) => this.depositProductIncentiveForm.get('entityType').value === entityType.id).value} Attributes`; + this.title = this.translateService.instant('labels.heading.Incentives'); } setConditionalControls() { diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-interest-rate-chart-step/fixed-deposit-product-interest-rate-chart-step.component.html b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-interest-rate-chart-step/fixed-deposit-product-interest-rate-chart-step.component.html index 37d0ca4d4..3b3379bba 100644 --- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-interest-rate-chart-step/fixed-deposit-product-interest-rate-chart-step.component.html +++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-interest-rate-chart-step/fixed-deposit-product-interest-rate-chart-step.component.html @@ -66,7 +66,7 @@
    -

    It's required to add at least one Slab

    +

    It is required to add at least one Slab

    -

    Loan Products

    -

    Add new loan product or modify or inactivate loan product

    +

    {{'labels.heading.Loan Products' | translate}}

    +

    {{'labels.text.Add new loan product or modify or inactivate loan product' | translate}}

    @@ -23,8 +23,8 @@ -

    Savings Products

    -

    Add new savings product or modify or inactivate savings product

    +

    {{'labels.heading.Savings Products' | translate}}

    +

    {{'labels.text.Add new savings product or modify or inactivate savings product' | translate}}

    @@ -33,8 +33,8 @@ -

    Share Products

    -

    Add new share product or modify or inactivate share product

    +

    {{'labels.heading.Share Products' | translate}}

    +

    {{'labels.text.Add new share product or modify or inactivate share product' | translate}}

    @@ -43,8 +43,8 @@ -

    Charges

    -

    Define charges/penalties for loan products, savings and deposit products

    +

    {{'labels.heading.Charges' | translate}}

    +

    {{'labels.text.Define charges/penalties for loan products, savings and deposit products' | translate}}

    @@ -52,16 +52,16 @@ -

    Collateral Management

    -

    Define collaterals for Collateral Management

    +

    {{'labels.heading.Collateral Management' | translate}}

    +

    {{'labels.text.Define collaterals for Collateral Management' | translate}}

    -

    Delinquency Buckets

    -

    Define delinquency day ranges and bucket set for loan products

    +

    {{'labels.heading.Delinquency Buckets' | translate}}

    +

    {{'labels.text.Define delinquency day ranges and bucket set for loan products' | translate}}

    @@ -76,8 +76,8 @@ -

    Products Mix

    -

    Defines rules for taking multiple rules

    +

    {{'labels.heading.Products Mix' | translate}}

    +

    {{'labels.text.Defines rules for taking multiple rules' | translate}}

    @@ -85,8 +85,8 @@ -

    Fixed Deposit Products

    -

    Add, modify or inactivate a Fixed deposit product

    +

    {{'labels.heading.Fixed Deposit Products' | translate}}

    +

    {{'labels.text.Add, modify or inactivate a Fixed deposit product' | translate}}

    @@ -95,8 +95,8 @@ -

    Recurring Deposit Products

    -

    Add, modify or inactivate a Recurring Deposit product

    +

    {{'labels.heading.Recurring Deposit Products' | translate}}

    +

    {{'labels.text.Add, modify or inactivate a Recurring Deposit product' | translate}}

    @@ -104,16 +104,16 @@ -

    Manage Tax Configurations

    -

    Define Tax components and Tax groups

    +

    {{'labels.heading.Manage Tax Configurations' | translate}}

    +

    {{'labels.text.Define Tax components and Tax groups' | translate}}

    -

    Floating Rates

    -

    Define floating rates for loan products

    +

    {{'labels.heading.Floating Rates' | translate}}

    +

    {{'labels.text.Define floating rates for loan products' | translate}}

    diff --git a/src/app/products/recurring-deposit-products/create-recurring-deposit-product/create-recurring-deposit-product.component.html b/src/app/products/recurring-deposit-products/create-recurring-deposit-product/create-recurring-deposit-product.component.html index 41e1a6d49..52c1f399a 100644 --- a/src/app/products/recurring-deposit-products/create-recurring-deposit-product/create-recurring-deposit-product.component.html +++ b/src/app/products/recurring-deposit-products/create-recurring-deposit-product/create-recurring-deposit-product.component.html @@ -24,7 +24,7 @@ - DETAILS + {{'labels.inputs.DETAILS' | translate}} @@ -34,7 +34,7 @@ - CURRENCY + {{'labels.inputs.CURRENCY' | translate}} @@ -44,7 +44,7 @@ - TERMS + {{'labels.inputs.TERMS' | translate}} @@ -54,7 +54,7 @@ - SETTINGS + {{'labels.inputs.SETTINGS' | translate}} @@ -64,7 +64,7 @@ - INTEREST RATE CHART + {{'labels.inputs.INTEREST RATE CHART' | translate}} @@ -74,7 +74,7 @@ - CHARGES + {{'labels.inputs.CHARGES' | translate}} - ACCOUNTING + {{'labels.inputs.ACCOUNTING' | translate}} - PREVIEW + {{'labels.inputs.PREVIEW' | translate}} - DETAILS + {{'labels.inputs.DETAILS' | translate}} @@ -34,7 +34,7 @@ - CURRENCY + {{'labels.inputs.CURRENCY' | translate}} @@ -44,7 +44,7 @@ - TERMS + {{'labels.inputs.TERMS' | translate}} @@ -54,7 +54,7 @@ - SETTINGS + {{'labels.inputs.SETTINGS' | translate}} @@ -64,7 +64,7 @@ - INTEREST RATE CHART + {{'labels.inputs.INTEREST RATE CHART' | translate}} @@ -74,7 +74,7 @@ - CHARGES + {{'labels.inputs.CHARGES' | translate}} - ACCOUNTING + {{'labels.inputs.ACCOUNTING' | translate}} - PREVIEW + {{'labels.inputs.PREVIEW' | translate}} - {{ accountingRule }} + {{ 'labels.accounting.' + accountingRule | translate }} @@ -17,26 +17,17 @@ + [glAccountList]="assetAccountData" [required]="true" [inputLabel]="'Saving reference'"> - + [glAccountList]="assetAccountData" [required]="true" [inputLabel]="'Fees Receivable'"> - + [glAccountList]="assetAccountData" [required]="true" [inputLabel]="'Penalties Receivable'"> @@ -45,26 +36,17 @@ + [glAccountList]="liabilityAccountData" [required]="true" [inputLabel]="'Saving control'"> + [glAccountList]="liabilityAccountData" [required]="true" [inputLabel]="'Savings transfers in suspense'"> + [glAccountList]="liabilityAccountData" [required]="true" [inputLabel]="'Interest Payable'"> @@ -73,10 +55,7 @@ + [glAccountList]="expenseAccountData" [required]="true" [inputLabel]="'Interest on savings'"> @@ -85,164 +64,165 @@ + [glAccountList]="incomeAccountData" [required]="true" [inputLabel]="'Income from fees'"> + [glAccountList]="incomeAccountData" [required]="true" [inputLabel]="'Income from penalties'"> -

    Advanced Accounting Rules

    +

    {{'labels.heading.Advanced Accounting Rules' | translate}}

    -

    Configure Fund Sources for Payment Channels

    +
    +

    {{'labels.heading.Configure Fund Sources for Payment Channels' | translate}} +

    -
    - +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + +
    {{'labels.inputs.Payment Type' | translate}} + {{ paymentFundSource.paymentTypeId | find:paymentTypeData:'id':'name' }} + {{'labels.inputs.Fund Source' | translate}} + {{ paymentFundSource.fundSourceAccountId | find:assetAccountData:'id':'name' }} + {{'labels.inputs.Actions' | translate}} + + +
    + +
    + +

    {{'labels.heading.Map Fees to Specific Income Accounts' | translate}}

    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    {{'labels.inputs.Fees' | translate}} + {{ feesIncome.chargeId | find:chargeData:'id':'name' }} + {{'labels.inputs.Income Account' | translate}} + {{ feesIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} + {{'labels.inputs.Actions' | translate}} + + +
    - +
    - -
    - - +

    {{'labels.heading.Map Penalties to Specific Income Accounts' | translate}} +

    - - - - +
    + +
    - - - - +
    Payment Type - {{ paymentFundSource.paymentTypeId | find:paymentTypeData:'id':'name' }} - Fund Source - {{ paymentFundSource.fundSourceAccountId | find:assetAccountData:'id':'name' }} - Actions - - -
    - - + + + + -
    {{'labels.inputs.Penalty' | translate}} + {{ penaltyIncome.chargeId | find:penaltyData:'id':'name' }} +
    + + {{'labels.inputs.Income Account' | translate}} + + {{ penaltyIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} + + -

    Map Fees to Specific Income Accounts

    + + {{'labels.inputs.Actions' | translate}} + + + + + -
    - + + + +
    - - - - - - - - - - - - - - - - - - - - - -
    Fees - {{ feesIncome.chargeId | find:chargeData:'id':'name' }} - Income Account - {{ feesIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} - Actions - - -
    - -

    Map Penalties to Specific Income Accounts

    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - -
    Penalty - {{ penaltyIncome.chargeId | find:penaltyData:'id':'name' }} - Income Account - {{ penaltyIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} - Actions - - -
    - @@ -252,12 +232,12 @@
    - + \ No newline at end of file diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-accounting-step/recurring-deposit-product-accounting-step.component.ts b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-accounting-step/recurring-deposit-product-accounting-step.component.ts index 04b6faf1b..5694b72d0 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-accounting-step/recurring-deposit-product-accounting-step.component.ts +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-accounting-step/recurring-deposit-product-accounting-step.component.ts @@ -8,6 +8,7 @@ import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.co import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base'; import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base'; import { Accounting } from 'app/core/utils/accounting'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'mifosx-recurring-deposit-product-accounting-step', @@ -34,8 +35,9 @@ export class RecurringDepositProductAccountingStepComponent implements OnInit { feesPenaltyIncomeDisplayedColumns: string[] = ['chargeId', 'incomeAccountId', 'actions']; constructor(private formBuilder: UntypedFormBuilder, - public dialog: MatDialog, - private accounting: Accounting) { + private dialog: MatDialog, + private accounting: Accounting, + private translateService: TranslateService) { this.createrecurringDepositProductAccountingForm(); this.setConditionalControls(); } @@ -120,6 +122,10 @@ export class RecurringDepositProductAccountingStepComponent implements OnInit { }); } + existCharges(): boolean { + return (this.chargeData.length > 0); + } + setConditionalControls() { this.recurringDepositProductAccountingForm.get('accountingRule').valueChanges .subscribe((accountingRule: any) => { @@ -214,9 +220,12 @@ export class RecurringDepositProductAccountingStepComponent implements OnInit { getData(formType: string, values?: any) { switch (formType) { - case 'PaymentFundSource': return { title: 'Configure Fund Sources for Payment Channels', formfields: this.getPaymentFundSourceFormfields(values) }; - case 'FeesIncome': return { title: 'Map Fees to Income Accounts', formfields: this.getFeesIncomeFormfields(values) }; - case 'PenaltyIncome': return { title: 'Map Penalties to Specific Income Accounts', formfields: this.getPenaltyIncomeFormfields(values) }; + case 'PaymentFundSource': return { title: this.translateService.instant('labels.heading.Configure Fund Sources for Payment Channels'), + formfields: this.getPaymentFundSourceFormfields(values) }; + case 'FeesIncome': return { title: this.translateService.instant('labels.heading.Map Fees to Specific Income Accounts'), + formfields: this.getFeesIncomeFormfields(values) }; + case 'PenaltyIncome': return { title: this.translateService.instant('labels.heading.Map Penalties to Specific Income Accounts'), + formfields: this.getPenaltyIncomeFormfields(values) }; } } @@ -224,7 +233,7 @@ export class RecurringDepositProductAccountingStepComponent implements OnInit { const formfields: FormfieldBase[] = [ new SelectBase({ controlName: 'paymentTypeId', - label: 'Payment Type', + label: this.translateService.instant('labels.inputs.Payment Type'), value: values ? values.paymentTypeId : this.paymentTypeData[0].id, options: { label: 'name', value: 'id', data: this.paymentTypeData }, required: true, @@ -232,7 +241,7 @@ export class RecurringDepositProductAccountingStepComponent implements OnInit { }), new SelectBase({ controlName: 'fundSourceAccountId', - label: 'Fund Source', + label: this.translateService.instant('labels.inputs.Fund Source'), value: values ? values.fundSourceAccountId : this.assetAccountData[0].id, options: { label: 'name', value: 'id', data: this.assetAccountData }, required: true, @@ -246,7 +255,7 @@ export class RecurringDepositProductAccountingStepComponent implements OnInit { const formfields: FormfieldBase[] = [ new SelectBase({ controlName: 'chargeId', - label: 'Fees', + label: this.translateService.instant('labels.inputs.Fees'), value: values ? values.chargeId : this.chargeData[0].id, options: { label: 'name', value: 'id', data: this.chargeData }, required: true, @@ -254,7 +263,7 @@ export class RecurringDepositProductAccountingStepComponent implements OnInit { }), new SelectBase({ controlName: 'incomeAccountId', - label: 'Income Account', + label: this.translateService.instant('labels.inputs.Income Account'), value: values ? values.incomeAccountId : this.incomeAccountData[0].id, options: { label: 'name', value: 'id', data: this.incomeAccountData }, required: true, diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-charges-step/recurring-deposit-product-charges-step.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-charges-step/recurring-deposit-product-charges-step.component.html index f43ce2577..c868a4cc6 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-charges-step/recurring-deposit-product-charges-step.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-charges-step/recurring-deposit-product-charges-step.component.html @@ -1,7 +1,7 @@
    - Charge + {{'labels.inputs.Charge' | translate}} @@ -13,7 +13,7 @@
    @@ -21,35 +21,35 @@ [hidden]="chargesDataSource.length === 0"> - Name + {{'labels.inputs.Name' | translate}} {{ charge.name + ', ' + charge.currency.displaySymbol }} - Type + {{'labels.inputs.Type' | translate}} {{ charge.chargeCalculationType.value }} - Amount + {{'labels.inputs.Amount' | translate}} {{ charge.amount }} - Collected On + {{'labels.inputs.Collected On' | translate}} {{ charge.chargeTimeType.value }} - Actions + {{'labels.inputs.Actions' | translate}}
    diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-currency-step/recurring-deposit-product-currency-step.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-currency-step/recurring-deposit-product-currency-step.component.html index 9077235d5..f33cdd979 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-currency-step/recurring-deposit-product-currency-step.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-currency-step/recurring-deposit-product-currency-step.component.html @@ -3,30 +3,30 @@
    - Currency + {{'labels.inputs.Currency' | translate}} {{ currency.name }} - Currency is required + {{'labels.inputs.Currency' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Decimal Places + {{'labels.inputs.Decimal Places' | translate}} - Decimal Places is required + {{'labels.inputs.Decimal Places' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Currency in multiples of + {{'labels.inputs.Currency in multiples of' | translate}} - Currency in multiples of is required + {{'labels.inputs.Currency in multiples of' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} @@ -35,10 +35,10 @@
    diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-details-step/recurring-deposit-product-details-step.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-details-step/recurring-deposit-product-details-step.component.html index 5947bcf53..373a887ab 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-details-step/recurring-deposit-product-details-step.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-details-step/recurring-deposit-product-details-step.component.html @@ -3,26 +3,26 @@
    - Product Name + {{'labels.inputs.Product Name' | translate}} - Product Name is required + {{'labels.inputs.Product Name' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Short Name + {{'labels.inputs.Short Name' | translate}} - Short Name is required + {{'labels.inputs.Short Name' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Description + {{'labels.inputs.Description' | translate}} - Description is required + {{'labels.inputs.Description' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} @@ -31,10 +31,10 @@
    diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.html index e159c0a7f..d020e62f2 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.html @@ -2,192 +2,211 @@
    -

    Interest Rate Charts

    +

    {{ 'labels.heading.Interest Rate Charts' | translate}}

    -
    +
    -
    +
    -
    - Name - + {{ 'labels.inputs.Name' | translate}} + - Valid from Date - + {{ 'labels.inputs.Start Date' | translate}} + - Valid from Date is required + {{ 'labels.inputs.Start Date' | translate}} {{'labels.commons.is' | translate}} + {{'labels.commons.required' | translate}} - End Date + {{ 'labels.inputs.End Date' | translate}} - Description - + {{ 'labels.inputs.Description' | translate}} +
    - Is primary grouping by amount? + {{ 'labels.inputs.Is primary grouping by amount?' | translate}} + +
    +
    -

    It's required to add at least one Slab

    +

    {{ "labels.heading.It is required to add at least one Slab" | translate}}

    - +
    - + - + - + - + - + - + + -

    {{'labels.heading.Map Penalties to Specific Income Accounts' | translate}}

    + + + + -
    - +
    + + +
    Period {{ 'labels.inputs.Period' | translate}} - {{ chartSlab.fromPeriod + ' - ' + chartSlab.toPeriod + ' ' + (chartSlab.periodType | find:periodTypeData:'id':'value') }} + {{ chartSlab.fromPeriod + ' - ' + chartSlab.toPeriod + ' ' + (chartSlab.periodType | + find:periodTypeData:'id':'value') }} Amount Range {{ 'labels.inputs.Amount Range' | translate}} {{ chartSlab.amountRangeFrom + ' - ' + chartSlab.amountRangeTo }} Interest {{ 'labels.inputs.Interest' | translate}} {{ chartSlab.annualInterestRate }} Description {{ 'labels.inputs.Description' | translate}} {{ chartSlab.description }} Actions {{ 'labels.inputs.Actions' | translate}} - - + -
    +
    -

    - Incentives +

    + {{ 'labels.heading.Incentives' | translate}}

    -
    -
    - +
    - + - + - + - + - + - + - + @@ -218,12 +237,12 @@
    - + \ No newline at end of file diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.ts b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.ts index 617b94589..3a057d234 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.ts +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-interest-rate-chart-step/recurring-deposit-product-interest-rate-chart-step.component.ts @@ -17,6 +17,7 @@ import { InputBase } from 'app/shared/form-dialog/formfield/model/input-base'; import { SettingsService } from 'app/settings/settings.service'; import { Dates } from 'app/core/utils/dates'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'mifosx-recurring-deposit-product-interest-rate-chart-step', @@ -66,7 +67,8 @@ export class RecurringDepositProductInterestRateChartStepComponent implements On constructor(private formBuilder: UntypedFormBuilder, public dialog: MatDialog, private dateUtils: Dates, - private settingsService: SettingsService) { + private settingsService: SettingsService, + private translateService: TranslateService) { this.createrecurringDepositProductInterestRateChartForm(); } @@ -313,7 +315,7 @@ export class RecurringDepositProductInterestRateChartStepComponent implements On getData(formType: string, values?: any) { switch (formType) { - case 'Slab': return { title: 'Slab', formfields: this.getSlabFormfields(values) }; + case 'Slab': return { title: this.translateService.instant('labels.inputs.Slab'), formfields: this.getSlabFormfields(values) }; case 'Incentive': return { values, chartTemplate: this.recurringDepositProductsTemplate.chartTemplate }; } } @@ -322,7 +324,7 @@ export class RecurringDepositProductInterestRateChartStepComponent implements On const formfields: FormfieldBase[] = [ new SelectBase({ controlName: 'periodType', - label: 'Period Type', + label: this.translateService.instant('labels.inputs.Period Type'), value: values ? values.periodType : this.periodTypeData[0].id, options: { label: 'value', value: 'id', data: this.periodTypeData }, required: true, @@ -330,7 +332,7 @@ export class RecurringDepositProductInterestRateChartStepComponent implements On }), new InputBase({ controlName: 'fromPeriod', - label: 'Period From', + label: this.translateService.instant('labels.inputs.Period From'), value: values ? values.fromPeriod : undefined, type: 'number', required: true, @@ -338,28 +340,28 @@ export class RecurringDepositProductInterestRateChartStepComponent implements On }), new InputBase({ controlName: 'toPeriod', - label: 'Period To', + label: this.translateService.instant('labels.inputs.Period To'), value: values ? values.toPeriod : undefined, type: 'number', order: 3 }), new InputBase({ controlName: 'amountRangeFrom', - label: 'Amount Range From', + label: this.translateService.instant('labels.inputs.Amount Range From'), value: values ? values.amountRangeFrom : undefined, type: 'number', order: 4 }), new InputBase({ controlName: 'amountRangeTo', - label: 'Amount Range To', + label: this.translateService.instant('labels.inputs.Amount Range To'), value: values ? values.amountRangeTo : undefined, type: 'number', order: 5 }), new InputBase({ controlName: 'annualInterestRate', - label: 'Interest', + label: this.translateService.instant('labels.inputs.Interest'), value: values ? values.annualInterestRate : undefined, type: 'number', required: true, @@ -367,7 +369,7 @@ export class RecurringDepositProductInterestRateChartStepComponent implements On }), new InputBase({ controlName: 'description', - label: 'Description', + label: this.translateService.instant('labels.inputs.Description'), value: values ? values.description : undefined, required: true, order: 7 @@ -378,14 +380,20 @@ export class RecurringDepositProductInterestRateChartStepComponent implements On get recurringDepositProductInterestRateChart() { // TODO: Update once language and date settings are setup - const dateFormat = this.settingsService.dateFormat; + const dateFormat = 'YYYY-MM-DD'; const locale = this.settingsService.language.code; const recurringDepositProductInterestRateChart = this.recurringDepositProductInterestRateChartForm.value; for (const chart of recurringDepositProductInterestRateChart.charts) { - chart.dateFormat = dateFormat; chart.locale = locale; - chart.fromDate = this.dateUtils.formatDate(chart.fromDate, dateFormat); - chart.endDate = this.dateUtils.formatDate(chart.endDate, dateFormat) || ''; + chart.dateFormat = 'yyyy-MM-dd'; + if (chart.fromDate instanceof Date) { + chart.fromDate = this.dateUtils.formatDateAsString(chart.fromDate, dateFormat); + } + if (chart.endDate) { + if (chart.endDate instanceof Date) { + chart.endDate = this.dateUtils.formatDateAsString(chart.endDate, dateFormat); + } + } if (chart.endDate === '') { delete chart.endDate; } diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-preview-step/recurring-deposit-product-preview-step.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-preview-step/recurring-deposit-product-preview-step.component.html index 6b3ac89b9..f75f69893 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-preview-step/recurring-deposit-product-preview-step.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-preview-step/recurring-deposit-product-preview-step.component.html @@ -4,192 +4,192 @@ -

    Details

    +

    {{'labels.inputs.Details' | translate}}

    - Short Name: + {{'labels.inputs.Short Name' | translate}}: {{ recurringDepositProduct.shortName }}
    - Description: + {{'labels.inputs.Description' | translate}}: {{ recurringDepositProduct.description }}
    -

    Currency

    +

    {{'labels.inputs.Currency' | translate}}

    - Currency: + {{'labels.inputs.Currency' | translate}}: {{ recurringDepositProduct.currencyCode | find:recurringDepositProductsTemplate.currencyOptions:'code':'name' }}
    - Decimal Places: + {{'labels.inputs.Decimal Places' | translate}}: {{ recurringDepositProduct.digitsAfterDecimal }}
    - Currency in multiples of: + {{'labels.inputs.Currency in multiples of' | translate}}: {{ recurringDepositProduct.inMultiplesOf }}
    -

    Terms

    +

    {{'labels.heading.Terms' | translate}}

    - Deposit Amount: + {{'labels.inputs.Deposit Amount' | translate}}: {{ recurringDepositProduct.depositAmount + ' (Min: ' + (recurringDepositProduct.minDepositAmount ? recurringDepositProduct.minDepositAmount : recurringDepositProduct.depositAmount) + ', Max: ' + (recurringDepositProduct.maxDepositAmount ? recurringDepositProduct.maxDepositAmount : recurringDepositProduct.depositAmount) + ')' }}
    - Interest Compounding Period: + {{'labels.inputs.Interest Compounding Period' | translate}}: {{ recurringDepositProduct.interestCompoundingPeriodType | find:recurringDepositProductsTemplate.interestCompoundingPeriodTypeOptions:'id':'value' }}
    - Interest Posting Period: + {{'labels.inputs.Interest Posting Period' | translate}}: {{ recurringDepositProduct.interestPostingPeriodType | find:recurringDepositProductsTemplate.interestPostingPeriodTypeOptions:'id':'value' }}
    - Interest Calculated using: + {{'labels.inputs.Interest Calculated using' | translate}}: {{ recurringDepositProduct.interestCalculationType | find:recurringDepositProductsTemplate.interestCalculationTypeOptions:'id':'value' }}
    - Days in Year: + {{'labels.inputs.Days in Year' | translate}}: {{ recurringDepositProduct.interestCalculationDaysInYearType | find:recurringDepositProductsTemplate.interestCalculationDaysInYearTypeOptions:'id':'value' }}
    -

    Settings

    +

    {{'labels.heading.Settings' | translate}}

    - Lock-in Period: + {{'labels.inputs.Lock-in Period' | translate}}: {{ recurringDepositProduct.lockinPeriodFrequency + ' ' + (recurringDepositProduct.lockinPeriodFrequencyType | find:recurringDepositProductsTemplate.lockinPeriodFrequencyTypeOptions:'id':'value') }}
    - Minimum Deposit Term: + {{'labels.inputs.Minimum Deposit Term' | translate}}: {{ recurringDepositProduct.minDepositTerm + ' ' + (recurringDepositProduct.minDepositTermTypeId | find:recurringDepositProductsTemplate.periodFrequencyTypeOptions:'id':'value') }}
    - And thereafter, in Multiples of: + {{'labels.inputs.And thereafter, in Multiples of' | translate}}: {{ recurringDepositProduct.inMultiplesOfDepositTerm + ' ' + (recurringDepositProduct.inMultiplesOfDepositTermTypeId | find:recurringDepositProductsTemplate.periodFrequencyTypeOptions:'id':'value') }}
    - Minimum Deposit Term: + {{'labels.inputs.Minimum Deposit Term' | translate}}: {{ recurringDepositProduct.maxDepositTerm + ' ' + (recurringDepositProduct.maxDepositTermTypeId | find:recurringDepositProductsTemplate.periodFrequencyTypeOptions:'id':'value') }}
    - Apply Penal Interest (less): + {{'labels.inputs.Apply Penal Interest (less)' | translate}}: {{ recurringDepositProduct.preClosurePenalApplicable | yesNo }}
    - Penal Interest (%): + {{'labels.inputs.Penal Interest' | translate}} (%): {{ recurringDepositProduct.preClosurePenalInterest + '% (' + (recurringDepositProduct.preClosurePenalInterestOnTypeId | find:recurringDepositProductsTemplate.preClosurePenalInterestOnTypeOptions:'id':'value') + ')' }}
    - Recurring Deposit Type: - Mandatory - Voluntary + {{'labels.inputs.Recurring Deposit Type' | translate}}: + {{'labels.text.Mandatory' | translate}} + {{'labels.text.Voluntary' | translate}}
    - Withhold Tax is Applicable: + {{'labels.inputs.Withhold Tax is Applicable' | translate}}: {{ recurringDepositProduct.withHoldTax | yesNo }}
    - Tax Group: + {{'labels.inputs.Tax Group' | translate}}: {{ recurringDepositProduct.taxGroupId | find:recurringDepositProductsTemplate.taxGroupOptions:'id':'name' }}
    -

    Interest Rate Charts

    +

    {{'labels.heading.Interest Rate Charts' | translate}}

    - Name: + {{'labels.inputs.Name' | translate}}: {{ chart.name }}
    - Valid from Date: + {{'labels.inputs.From Date' | translate}}: {{ chart.fromDate | dateFormat }}
    - End Date: + {{'labels.inputs.End Date' | translate}}: {{ chart.endDate | dateFormat }}
    - Description: + {{'labels.inputs.Description' | translate}}: {{ chart.description }}
    - Primary Grouping by Amount: + {{'labels.inputs.Primary Grouping by Amount' | translate}}: {{ recurringDepositProduct.isPrimaryGroupingByAmount | yesNo }}
    Entity Type {{ 'labels.inputs.Entity Type' | translate}} {{ incentive.entityType | find:entityTypeData:'id':'value' }} Attribute Name {{ 'labels.inputs.Attribute Name' | translate}} {{ incentive.attributeName | find:attributeNameData:'id':'value' }} Condition Type {{ 'labels.inputs.Condition Type' | translate}} {{ incentive.conditionType | find:conditionTypeData:'id':'value' }} Attribute Value {{ 'labels.inputs.Attribute Value' | translate}} {{ incentive.attributeValue | find:genderData:'id':'name' }} {{ incentive.attributeValue }} {{ incentive.attributeValue | find:clientTypeData:'id':'name' }} - {{ incentive.attributeValue | find:clientClassificationData:'id':'name' }} + {{ incentive.attributeValue | find:clientClassificationData:'id':'name' + }} Incentive Type {{ 'labels.inputs.Incentive Type' | translate}} {{ incentive.incentiveType | find:incentiveTypeData:'id':'value'}} Interest {{ 'labels.inputs.Interest' | translate}} {{ incentive.amount }} Actions {{ 'labels.inputs.Actions' | translate}} - -
    - + - + - + - + - + @@ -201,34 +201,34 @@

    - Incentives + {{'labels.heading.Incentives' | translate}}

    Period {{'labels.inputs.Period' | translate}} {{ chartSlab.fromPeriod + ' - ' + chartSlab.toPeriod + ' ' + (chartSlab.periodType | find:recurringDepositProductsTemplate.chartTemplate.periodTypes:'id':'value') }} Amount Range {{'labels.inputs.Amount Range' | translate}} {{ chartSlab.amountRangeFrom + ' - ' + chartSlab.amountRangeTo }} Interest {{'labels.inputs.Interest' | translate}} - {{ chartSlab.annualInterestRate }} + {{ chartSlab.annualInterestRate | formatNumber }} % Description {{'labels.inputs.Description' | translate}} {{ chartSlab.description }} Actions {{'labels.inputs.Actions' | translate}}
    - + - + - + - + + - + @@ -275,35 +275,35 @@
    -

    Charges

    +

    {{'labels.heading.Charges' | translate}}

    Entity Type {{'labels.inputs.Entity Type' | translate}} {{ incentive.entityType | find:recurringDepositProductsTemplate.chartTemplate.entityTypeOptions:'id':'value' }} Attribute Name {{'labels.inputs.Attribute Name' | translate}} {{ incentive.attributeName | find:recurringDepositProductsTemplate.chartTemplate.attributeNameOptions:'id':'value' }} Condition Type {{'labels.inputs.Condition Type' | translate}} {{ incentive.conditionType | find:recurringDepositProductsTemplate.chartTemplate.conditionTypeOptions:'id':'value' }} Attribute Value {{'labels.inputs.Attribute Value' | translate}} {{ incentive.attributeValue | find:recurringDepositProductsTemplate.chartTemplate.genderOptions:'id':'name' }} {{ incentive.attributeValue }} @@ -238,16 +238,16 @@ - Incentive Type {{'labels.inputs.Incentive Type' | translate}} {{ incentive.incentiveType | find:recurringDepositProductsTemplate.chartTemplate.incentiveTypeOptions:'id':'value'}} Amount {{'labels.inputs.Amount' | translate}} - {{ incentive.amount }} + {{ incentive.amount | formatNumber }}
    - + - + - + - + @@ -316,7 +316,7 @@ -

    Accounting

    +

    {{'labels.heading.Accounting' | translate}}

    @@ -328,25 +328,25 @@
    -

    Advanced Accounting Rules

    +

    {{'labels.heading.Advanced Accounting Rules' | translate}}

    -

    Fund Sources for Payment Channels

    +

    {{'labels.heading.Fund Sources for Payment Channels' | translate}}

    Name {{'labels.inputs.Name' | translate}} {{ charge.name + ', ' + charge.currency.displaySymbol }} Type {{'labels.inputs.Type' | translate}} {{ charge.chargeCalculationType.value }} Amount {{'labels.inputs.Amount' | translate}} {{ charge.amount }} Collected On {{'labels.inputs.Collected On' | translate}} {{ charge.chargeTimeType.value }}
    - + - + @@ -361,19 +361,19 @@
    -

    Fees to Specific Income Accounts

    +

    {{'labels.heading.Fees to Specific Income Accounts' | translate}}

    Payment Type {{'labels.inputs.Payment Type' | translate}} {{ paymentFundSource.paymentTypeId | find:recurringDepositProductsTemplate.paymentTypeOptions:'id':'name' }} Fund Source {{'labels.inputs.Fund Source' | translate}} {{ paymentFundSource.fundSourceAccountId | find:recurringDepositProductsTemplate.accountingMappingOptions.assetAccountOptions:'id':'name' }}
    - + - + @@ -388,19 +388,19 @@
    -

    Penalties to Specific Income Accounts

    +

    {{'labels.heading.Penalties to Specific Income Accounts' | translate}}

    Fees {{'labels.inputs.Fees' | translate}} {{ feesIncome.chargeId | find:recurringDepositProductsTemplate.chargeOptions:'id':'name' }} Income Account {{'labels.inputs.Income Account' | translate}} {{ feesIncome.incomeAccountId | find:recurringDepositProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
    - + - + @@ -420,12 +420,12 @@
    diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-settings-step/recurring-deposit-product-settings-step.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-settings-step/recurring-deposit-product-settings-step.component.html index 739a14719..f66074e47 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-settings-step/recurring-deposit-product-settings-step.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-settings-step/recurring-deposit-product-settings-step.component.html @@ -3,26 +3,26 @@
    - Is Mandatory Deposit? + {{'labels.inputs.Is Mandatory Deposit' | translate}} - Adjust advance payments toward future installments? + {{'labels.inputs.Adjust advance payments toward future installments' | translate}} - Allow Withdrawals? + {{'labels.inputs.Allow Withdrawals' | translate}} -

    Lock-in Period

    +

    {{'labels.inputs.Lock-in Period' | translate}}

    - Frequency + {{'labels.inputs.Frequency' | translate}} - Type + {{'labels.inputs.Type' | translate}} @@ -31,37 +31,37 @@ -

    Minimum Deposit Term

    +

    {{'labels.inputs.Minimum Deposit Term' | translate}}

    - Frequency + {{'labels.inputs.Frequency' | translate}} - Minimum Deposit Term Frequency is required + {{'labels.inputs.Minimum Deposit Term Frequency' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Frequency Type + {{'labels.inputs.Frequency Type' | translate}} {{ periodFrequencyType.value }} - Minimum Deposit Term Frequency Type is required + {{'labels.inputs.Minimum Deposit Term Frequency Type' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} -

    And thereafter, in Multiples of

    +

    {{'labels.heading.And thereafter, in Multiples of' | translate}}

    - Frequency + {{'labels.inputs.Frequency' | translate}} - Type + {{'labels.inputs.Type' | translate}} {{ periodFrequencyType.value }} @@ -69,15 +69,15 @@ -

    Maximum Deposit Term

    +

    {{'labels.inputs.Maximum Deposit Term' | translate}}

    - Frequency + {{'labels.inputs.Frequency' | translate}} - Type + {{'labels.inputs.Type' | translate}} {{ periodFrequencyType.value }} @@ -87,19 +87,19 @@ -

    For Pre-mature closure

    +

    {{'labels.heading.For Pre-mature closure' | translate}}

    - Apply Penal Interest (less) + {{'labels.inputs.Apply Penal Interest (less)' | translate}} - Penal Interest (%) + {{'labels.inputs.Penal Interest' | translate}} (%) - Period + {{'labels.inputs.Period' | translate}} @@ -111,18 +111,18 @@ - Is Withhold Tax Applicable? + {{'labels.inputs.Is Withhold Tax Applicable' | translate}} - Tax Group + {{'labels.inputs.Tax Group' | translate}} {{ taxGroup.name }} - Tax Group is required + {{'labels.inputs.Tax Group' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} @@ -131,10 +131,10 @@
    diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-terms-step/recurring-deposit-product-terms-step.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-terms-step/recurring-deposit-product-terms-step.component.html index 487e4e5b2..92a9eb8db 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-terms-step/recurring-deposit-product-terms-step.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-product-stepper/recurring-deposit-product-terms-step/recurring-deposit-product-terms-step.component.html @@ -2,73 +2,73 @@
    -

    Deposit Amount

    +

    {{'labels.inputs.Deposit Amount' | translate}}

    - Minimum + {{'labels.inputs.Minimum' | translate}} - Default + {{'labels.inputs.Default' | translate}} - Default Deposit Amount is required + {{'labels.inputs.Default' | translate}} {{'labels.inputs.Deposit Amount' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Maximum + {{'labels.inputs.Maximum' | translate}} - Interest Compounding Period + {{'labels.inputs.Interest Compounding Period' | translate}} {{ interestCompoundingPeriodType.value }} - Interest Compounding Period is required + {{'labels.inputs.Interest Compounding Period' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Interest Posting Period + {{'labels.inputs.Interest Posting Period' | translate}} {{ interestPostingPeriodType.value }} - Interest Posting Period is required + {{'labels.inputs.Interest Posting Period' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Interest Calculated using + {{'labels.inputs.Interest Calculated using' | translate}} {{ interestCalculationType.value }} - Interest Calculated using is required + {{'labels.inputs.Interest Calculated using' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} - Days in Year + {{'labels.inputs.Days in Year' | translate}} {{ interestCalculationDaysInYearType.value }} - Days in Year is required + {{'labels.inputs.Days in Year' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} @@ -77,10 +77,10 @@
    diff --git a/src/app/products/recurring-deposit-products/recurring-deposit-products.component.html b/src/app/products/recurring-deposit-products/recurring-deposit-products.component.html index 60c630200..87b3d6c80 100644 --- a/src/app/products/recurring-deposit-products/recurring-deposit-products.component.html +++ b/src/app/products/recurring-deposit-products/recurring-deposit-products.component.html @@ -3,7 +3,7 @@
    @@ -22,12 +22,12 @@
    Penalty {{'labels.inputs.Penalty' | translate}} {{ penaltyIncome.chargeId | find:recurringDepositProductsTemplate.penaltyOptions:'id':'name' }} Income Account {{'labels.inputs.Income Account' | translate}} {{ penaltyIncome.incomeAccountId | find:recurringDepositProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
    - + - + @@ -46,26 +46,26 @@

    Create recurring deposit product

    This option allows you to create new recurring product.

    - - - + + +

    Search bar to filter recurring deposit products.

    - - - + + +
    -

    List of recurring deposit products in the organization. For more details click: Recurring Deposit Products

    +

    List of recurring deposit products in the organization. For more details click: {{'labels.heading.Recurring Deposit Products' | translate}}

    - - - + + +
    diff --git a/src/app/products/recurring-deposit-products/view-recurring-deposit-product/recurring-deposit-general-tab/recurring-deposit-general-tab.component.html b/src/app/products/recurring-deposit-products/view-recurring-deposit-product/recurring-deposit-general-tab/recurring-deposit-general-tab.component.html index fda26f2df..15f00f33d 100644 --- a/src/app/products/recurring-deposit-products/view-recurring-deposit-product/recurring-deposit-general-tab/recurring-deposit-general-tab.component.html +++ b/src/app/products/recurring-deposit-products/view-recurring-deposit-product/recurring-deposit-general-tab/recurring-deposit-general-tab.component.html @@ -1,7 +1,7 @@
    @@ -17,81 +17,81 @@ -

    Details

    +

    {{'labels.inputs.Details' | translate}}

    - Short Name: + {{'labels.inputs.Short Name' | translate}}: {{ recurringDepositProduct.shortName }}
    - Description: + {{'labels.inputs.Description' | translate}}: {{ recurringDepositProduct.description }}
    -

    Currency Details

    +

    {{'labels.inputs.Currency' | translate}}

    - Currency: - {{ recurringDepositProduct.currency.name }} + {{'labels.heading.Currency' | translate}}: + ({{ recurringDepositProduct.currency.code }}) {{ recurringDepositProduct.currency.name }}
    - Decimal Places: + {{'labels.inputs.Decimal Places' | translate}}: {{ recurringDepositProduct.currency.decimalPlaces }}
    - Currency in Multiples Of: + {{'labels.inputs.Currency in multiples of' | translate}}: {{ recurringDepositProduct.currency.inMultiplesOf | formatNumber}}
    -

    Terms

    +

    {{'labels.heading.Terms' | translate}}

    - Deposit Amount: + {{'labels.inputs.Deposit Amount' | translate}}: {{ recurringDepositProduct.depositAmount + ' (Min: ' + (recurringDepositProduct.minDepositAmount ? recurringDepositProduct.minDepositAmount : recurringDepositProduct.depositAmount) + ', Max: ' + (recurringDepositProduct.maxDepositAmount ? recurringDepositProduct.maxDepositAmount : recurringDepositProduct.depositAmount) + ')' }}
    - Interest Compounding Period: + {{'labels.inputs.Interest Compounding Period' | translate}}: {{ recurringDepositProduct.interestCompoundingPeriodType.value }}
    - Interest Posting Period: + {{'labels.inputs.Interest Posting Period' | translate}}: {{ recurringDepositProduct.interestPostingPeriodType.value }}
    - Interested Calculated Using: + {{'labels.inputs.Interest Calculated using' | translate}}: {{ recurringDepositProduct.interestCalculationType.value }}
    - Days in Years: + {{'labels.inputs.Days in Year' | translate}}: {{ recurringDepositProduct.interestCalculationDaysInYearType.value }}
    -

    Settings

    +

    {{'labels.heading.Settings' | translate}}

    - Lock-in Period: + {{'labels.inputs.Lock-in Period' | translate}}: {{ recurringDepositProduct.lockinPeriodFrequency }} {{ recurringDepositProduct.lockinPeriodFrequencyType.value }}
    - Minimum Deposit Term: + {{'labels.inputs.Minimum Deposit Term' | translate}}: {{ recurringDepositProduct.minDepositTerm }}   @@ -99,7 +99,7 @@
    - Maximum Deposit Term: + {{'labels.inputs.Maximum Deposit Term' | translate}}: {{ recurringDepositProduct.maxDepositTerm }}   @@ -107,7 +107,7 @@
    - Deposit Term In multiple of: + {{'labels.inputs.Deposit Term In multiple of' | translate}}: {{ recurringDepositProduct.inMultipleOfDepositTerm }} - @@ -115,65 +115,65 @@
    - Recurring Deposit Type: - Mandatory - Voluntary + {{'labels.inputs.Recurring Deposit Type' | translate}}: + {{'labels.text.Mandatory' | translate}} + {{'labels.text.Voluntary' | translate}}
    - Apply penal interest (less): - {{recurringDepositProduct.preClosurePenalInterest}}     %     On -    - {{recurringDepositProduct.preClosurePenalInterestOnType.value}} + {{'labels.inputs.Apply penal interest (less)' | translate}}: + {{recurringDepositProduct.preClosurePenalInterest}}%On + {{recurringDepositProduct.preClosurePenalInterestOnType.value}} +
    - Is withhold tax Applicable: - {{ recurringDepositProduct.withHoldTax }} + {{'labels.inputs.Withhold Tax is Applicable' | translate}}: + {{ recurringDepositProduct.withHoldTax | yesNo }}
    - Withhold Tax group: + {{'labels.inputs.Withhold Tax group' | translate}}: {{ recurringDepositProduct.taxGroup.name }}
    -

    Interest Rate Charts

    +

    {{'labels.heading.Interest Rate Charts' | translate}}

    - Name: + {{'labels.inputs.Name' | translate}}: {{ recurringDepositProduct.activeChart.name }}
    - Valid from Date: + {{'labels.inputs.Valid from Date' | translate}}: {{ recurringDepositProduct.activeChart.fromDate | dateFormat }}
    - End Date: + {{'labels.inputs.End Date' | translate}}: {{ recurringDepositProduct.activeChart.endDate | dateFormat }}
    - Description: + {{'labels.inputs.Description' | translate}}: {{ recurringDepositProduct.activeChart.description }}
    - Primary Grouping by Amount: + {{'labels.inputs.Primary Grouping by Amount' | translate}}: {{ recurringDepositProduct.activeChart.isPrimaryGroupingByAmount | yesNo }}
    Name {{'labels.inputs.Name' | translate}} {{ recurringDepositProduct.name }} Short Name {{'labels.inputs.Short Name' | translate}} {{ recurringDepositProduct.shortName }}
    - + + + - + - + @@ -233,34 +233,34 @@

    - Incentives + {{'labels.heading.Incentives' | translate}}

    Period {{'labels.inputs.Period' | translate}}
    {{ chartSlab.fromPeriod }} - {{ chartSlab.toPeriod }} {{ chartSlab.periodType.value }} @@ -185,7 +185,7 @@ -
    Amount Range {{'labels.inputs.Amount Range' | translate}}
    {{ chartSlab.amountRangeFrom }} - {{ chartSlab.amountRangeTo }} @@ -198,30 +198,30 @@ -
    Interest {{'labels.inputs.Interest' | translate}} {{ chartSlab.annualInterestRate }} Description {{'labels.inputs.Description' | translate}} {{ chartSlab.description }} Actions {{'labels.inputs.Actions' | translate}}
    - + - + - + - + + - + @@ -307,35 +307,35 @@
    -

    Charges

    +

    {{'labels.heading.Charges' | translate}}

    Entity Type {{'labels.inputs.Entity Type' | translate}} {{ incentive.entityType | find:recurringDepositProductTemplate.chartTemplate.entityTypeOptions:'id':'value' }} Attribute Name {{'labels.inputs.Attribute Name' | translate}} {{ incentive.attributeName | find:recurringDepositProductTemplate.chartTemplate.attributeNameOptions:'id':'value' }} Condition Type {{'labels.inputs.Condition Type' | translate}} {{ incentive.conditionType | find:recurringDepositProductTemplate.chartTemplate.conditionTypeOptions:'id':'value' }} Attribute Value {{'labels.inputs.Attribute Value' | translate}} {{ incentive.attributeValue | find:recurringDepositProductTemplate.chartTemplate.genderOptions:'id':'name' }} {{ incentive.attributeValue }} @@ -270,14 +270,14 @@ - Incentive Type {{'labels.inputs.Incentive Type' | translate}} {{ incentive.incentiveType | find:recurringDepositProductTemplate.chartTemplate.incentiveTypeOptions:'id':'value'}} Amount {{'labels.inputs.Amount' | translate}} {{ incentive.amount }}
    - + - + - + - + @@ -348,7 +348,7 @@ -

    Accounting

    +

    {{'labels.heading.Accounting' | translate}}

    @@ -360,26 +360,26 @@
    -

    Advanced Accounting Rules

    +

    {{'labels.inputs.Advanced Accounting Rules' | translate}}

    -

    Configure Fund Sources for Payment Channels

    +

    {{'labels.inputs.Configure Fund Sources for Payment Channels' | translate}}

    Name {{'labels.inputs.Name' | translate}} {{ charge.name }} Type {{'labels.inputs.Type' | translate}} {{ charge.chargeCalculationType.value }} Amount {{'labels.inputs.Amount' | translate}} {{ charge.amount | formatNumber }} Collected On {{'labels.inputs.Collected On' | translate}} {{ charge.chargeTimeType.value }}
    - + - + @@ -396,20 +396,20 @@ fxLayout.lt-md="column"> -

    Fees to Specific Income Accounts

    +

    {{'labels.inputs.Fees to Specific Income Accounts' | translate}}

    Payment Type {{'labels.inputs.Payment Type' | translate}} {{ paymentFundSource.paymentType.name }} Fund Source {{'labels.inputs.Fund Source' | translate}} {{ paymentFundSource.fundSourceAccount.name }}
    - + - + @@ -425,20 +425,20 @@
    -

    Penalties to Specific Income Accounts

    +

    {{'labels.inputs.Penalties to Specific Income Accounts' | translate}}

    Fees {{'labels.inputs.Fees' | translate}} {{ feesIncome.charge.name }} Income Account {{'labels.inputs.Income Account' | translate}} {{ feesIncome.incomeAccount.name }}
    - + - + diff --git a/src/app/products/recurring-deposit-products/view-recurring-deposit-product/view-recurring-deposit-product.component.html b/src/app/products/recurring-deposit-products/view-recurring-deposit-product/view-recurring-deposit-product.component.html index 6c1918448..cb76ab812 100644 --- a/src/app/products/recurring-deposit-products/view-recurring-deposit-product/view-recurring-deposit-product.component.html +++ b/src/app/products/recurring-deposit-products/view-recurring-deposit-product/view-recurring-deposit-product.component.html @@ -5,7 +5,7 @@
    Penalty {{'labels.inputs.Penalty' | translate}} {{ penaltyIncome.charge.name }} Income Account {{'labels.inputs.Income Account' | translate}} {{ penaltyIncome.incomeAccount.name }}
    +
    @@ -160,9 +129,10 @@ - +
    {{'labels.inputs.Payment Type' | translate}} {{'labels.inputs.Actions' | translate}} {{'labels.inputs.Actions' | translate}} -
    - -

    {{'labels.heading.Map Fees to Specific Income Accounts' | translate}}

    - -
    -
    - +
    - -
    - - +

    {{'labels.heading.Map Fees to Specific Income Accounts' | translate}}

    - - - - +
    + +
    - - - - +
    {{'labels.inputs.Fees' | translate}} - {{ feesIncome.chargeId | find:chargeData:'id':'name' }} - {{'labels.inputs.Income Account' | translate}} - {{ feesIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} - {{'labels.inputs.Actions' | translate}} - - -
    - - + + + + -
    {{'labels.inputs.Fees' | translate}} + {{ feesIncome.chargeId | find:chargeData:'id':'name' }} +
    + +
    {{'labels.inputs.Income Account' | translate}} + {{ feesIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} + {{'labels.inputs.Actions' | translate}} + + +
    +
    - +

    {{'labels.heading.Map Penalties to Specific Income Accounts' | translate}} +

    - - - - +
    + +
    - - - - +
    {{'labels.inputs.Penalty' | translate}} - {{ penaltyIncome.chargeId | find:penaltyData:'id':'name' }} - {{'labels.inputs.Income Account' | translate}} - {{ penaltyIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} -
    - - - - + + + + - - + + + + -
    {{'labels.inputs.Actions - - - {{'labels.inputs.Penalty' | translate}} + {{ penaltyIncome.chargeId | find:penaltyData:'id':'name' }} +
    {{'labels.inputs.Income Account' | translate}} + {{ penaltyIncome.incomeAccountId | find:incomeAccountData:'id':'name' }} +
    + + {{'labels.inputs.Actions' | translate}} + + + + + + + + + + +
    @@ -278,4 +260,4 @@
    - + \ No newline at end of file diff --git a/src/app/products/saving-products/saving-product-stepper/saving-product-accounting-step/saving-product-accounting-step.component.ts b/src/app/products/saving-products/saving-product-stepper/saving-product-accounting-step/saving-product-accounting-step.component.ts index 0d03544f2..8a0d9b5d2 100644 --- a/src/app/products/saving-products/saving-product-stepper/saving-product-accounting-step/saving-product-accounting-step.component.ts +++ b/src/app/products/saving-products/saving-product-stepper/saving-product-accounting-step/saving-product-accounting-step.component.ts @@ -7,6 +7,7 @@ import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.co import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base'; import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'mifosx-saving-product-accounting-step', @@ -36,7 +37,8 @@ export class SavingProductAccountingStepComponent implements OnInit { feesPenaltyIncomeDisplayedColumns: string[] = ['chargeId', 'incomeAccountId', 'actions']; constructor(private formBuilder: UntypedFormBuilder, - public dialog: MatDialog) { + private dialog: MatDialog, + private translateService: TranslateService) { this.createsavingProductAccountingForm(); this.setConditionalControls(); } @@ -240,9 +242,12 @@ export class SavingProductAccountingStepComponent implements OnInit { getData(formType: string, values?: any) { switch (formType) { - case 'PaymentFundSource': return { title: 'Configure Fund Sources for Payment Channels', formfields: this.getPaymentFundSourceFormfields(values) }; - case 'FeesIncome': return { title: 'Map Fees to Income Accounts', formfields: this.getFeesIncomeFormfields(values) }; - case 'PenaltyIncome': return { title: 'Map Penalties to Specific Income Accounts', formfields: this.getPenaltyIncomeFormfields(values) }; + case 'PaymentFundSource': return { title: this.translateService.instant('labels.heading.Configure Fund Sources for Payment Channels'), + formfields: this.getPaymentFundSourceFormfields(values) }; + case 'FeesIncome': return { title: this.translateService.instant('labels.heading.Map Fees to Specific Income Accounts'), + formfields: this.getFeesIncomeFormfields(values) }; + case 'PenaltyIncome': return { title: this.translateService.instant('labels.heading.Map Penalties to Specific Income Accounts'), + formfields: this.getPenaltyIncomeFormfields(values) }; } } @@ -250,7 +255,7 @@ export class SavingProductAccountingStepComponent implements OnInit { const formfields: FormfieldBase[] = [ new SelectBase({ controlName: 'paymentTypeId', - label: 'Payment Type', + label: this.translateService.instant('labels.inputs.Payment Type'), value: values ? values.paymentTypeId : this.paymentTypeData[0].id, options: { label: 'name', value: 'id', data: this.paymentTypeData }, required: true, @@ -258,7 +263,7 @@ export class SavingProductAccountingStepComponent implements OnInit { }), new SelectBase({ controlName: 'fundSourceAccountId', - label: 'Fund Source', + label: this.translateService.instant('labels.inputs.Fund Source'), value: values ? values.fundSourceAccountId : this.combinedAccountData[0].id, options: { label: 'name', value: 'id', data: this.combinedAccountData }, required: true, @@ -272,7 +277,7 @@ export class SavingProductAccountingStepComponent implements OnInit { const formfields: FormfieldBase[] = [ new SelectBase({ controlName: 'chargeId', - label: 'Fees', + label: this.translateService.instant('labels.inputs.Fees'), value: values ? values.chargeId : this.chargeData[0].id, options: { label: 'name', value: 'id', data: this.chargeData }, required: true, @@ -280,7 +285,7 @@ export class SavingProductAccountingStepComponent implements OnInit { }), new SelectBase({ controlName: 'incomeAccountId', - label: 'Income Account', + label: this.translateService.instant('labels.inputs.Income Account'), value: values ? values.incomeAccountId : this.incomeAccountData[0].id, options: { label: 'name', value: 'id', data: this.incomeAccountData }, required: true, @@ -294,7 +299,7 @@ export class SavingProductAccountingStepComponent implements OnInit { const formfields: FormfieldBase[] = [ new SelectBase({ controlName: 'chargeId', - label: 'Penalty', + label: this.translateService.instant('labels.inputs.Penalty'), value: values ? values.chargeId : this.penaltyData[0].id, options: { label: 'name', value: 'id', data: this.penaltyData }, required: true, @@ -302,7 +307,7 @@ export class SavingProductAccountingStepComponent implements OnInit { }), new SelectBase({ controlName: 'incomeAccountId', - label: 'Income Account', + label: this.translateService.instant('labels.inputs.Income Account'), value: values ? values.incomeAccountId : this.incomeAccountData[0].id, options: { label: 'name', value: 'id', data: this.incomeAccountData }, required: true, diff --git a/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.html b/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.html index e3db3f612..92f7fa779 100644 --- a/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.html +++ b/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.html @@ -24,7 +24,7 @@ {{'labels.inputs.Currency in multiples of' | translate}} - + {{'labels.inputs.Currency in multiples of' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} diff --git a/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.ts b/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.ts index cfa0363ab..ef714b640 100644 --- a/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.ts +++ b/src/app/products/saving-products/saving-product-stepper/saving-product-currency-step/saving-product-currency-step.component.ts @@ -25,7 +25,7 @@ export class SavingProductCurrencyStepComponent implements OnInit { this.savingProductCurrencyForm.patchValue({ 'currencyCode': this.savingProductsTemplate.currency.code || this.currencyData[0].code, 'digitsAfterDecimal': this.savingProductsTemplate.currency.code ? this.savingProductsTemplate.currency.decimalPlaces : 2, - 'inMultiplesOf': this.savingProductsTemplate.currency.inMultiplesOf || 1 + 'inMultiplesOf': this.savingProductsTemplate.currency.inMultiplesOf || '' }); } @@ -33,7 +33,7 @@ export class SavingProductCurrencyStepComponent implements OnInit { this.savingProductCurrencyForm = this.formBuilder.group({ 'currencyCode': ['', Validators.required], 'digitsAfterDecimal': ['', Validators.required], - 'inMultiplesOf': ['', Validators.required] + 'inMultiplesOf': [''] }); } diff --git a/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html b/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html index da7f6d990..9dd6e61c5 100644 --- a/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html +++ b/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html @@ -41,7 +41,7 @@ - {{'labels.inputs.Is Withhold Tax Applicable' | translate}}? + {{'labels.inputs.Is Withhold Tax Applicable' | translate}} @@ -61,7 +61,7 @@

    {{'labels.inputs.Overdraft' | translate}}

    - {{'labels.inputs.Is Overdraft Allowed' | translate}}? + {{'labels.inputs.Is Overdraft Allowed' | translate}}
    diff --git a/src/app/savings/create-savings-account/create-savings-account.component.html b/src/app/savings/create-savings-account/create-savings-account.component.html index 3daa15533..1c67839cf 100644 --- a/src/app/savings/create-savings-account/create-savings-account.component.html +++ b/src/app/savings/create-savings-account/create-savings-account.component.html @@ -24,7 +24,7 @@ - DETAILS + {{'labels.inputs.DETAILS' | translate}} - TERMS + {{'labels.inputs.TERMS' | translate}} - CHARGES + {{'labels.inputs.CHARGES' | translate}} - PREVIEW + {{'labels.inputs.PREVIEW' | translate}} - DETAILS + {{'labels.inputs.DETAILS' | translate}} - TERMS + {{'labels.inputs.TERMS' | translate}} - CHARGES + {{'labels.inputs.CHARGES' | translate}} - PREVIEW + {{'labels.inputs.PREVIEW' | translate}} { this.cssClass = value; }); this.themingService.setInitialDarkMode(); + this.themingService.setDarkMode((this.settingsService.themeDarkEnabled === 'true')); // Setup logger if (environment.production) { @@ -144,7 +143,11 @@ export class WebAppComponent implements OnInit { // Setup translations this.translateService.addLangs(environment.supportedLanguages.split(',')); - this.translateService.use(environment.defaultLanguage); + if (this.settingsService.language) { + this.translateService.use(this.settingsService.languageCode); + } else { + this.translateService.use(environment.defaultLanguage); + } this.i18nService = new I18nService(this.translateService); @@ -185,12 +188,6 @@ export class WebAppComponent implements OnInit { localStorage.setItem('mifosXLocation', JSON.stringify(activities)); }); - // Setup theme - const theme = this.themeStorageService.getTheme(); - if (theme) { - this.themeStorageService.installTheme(theme); - } - // Setup alerts this.alertService.alertEvent.subscribe((alertEvent: Alert) => { this.snackBar.open(`${alertEvent.message}`, 'Close', { diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json index bb1eb3ab5..f0df27abc 100644 --- a/src/assets/translations/cs-CS.json +++ b/src/assets/translations/cs-CS.json @@ -623,6 +623,7 @@ "Configure Fund Sources for Payment Channels": "Nakonfigurujte zdroje prostředků pro platební kanály", "Configure Maker Checker Tasks": "Konfigurace úloh Maker Checker", "Configure Maker-Checker Tasks": "Konfigurace úloh Maker-Checker", + "Customer Attributes": "Atributy zákazníka", "Configure Mifos Organization Needs": "Následující průvodce vám pomůže nakonfigurovat Mifos podle potřeb vaší organizace.", "Create Charge": "Vytvořit poplatek", "Create Closure": "Vytvořit uzavření", @@ -718,7 +719,7 @@ "Interest Rate Charts": "Grafy úrokových sazeb", "Interest Recalculation": "Přepočet úroků", "Interest Transfer": "Převod úroků", - "It's required to add at least one Slab": "Je nutné přidat alespoň jednu desku", + "It is required to add at least one Slab": "Je nutné přidat alespoň jednu desku", "Journal Entries": "Účetní zápisy", "Keyboard Shortcuts": "Klávesové zkratky", "Last Active": "poslední aktivní", @@ -1505,6 +1506,7 @@ "Is job active": "Je práce aktivní", "Is staff": "Je personál", "Is Zero Interest Rate?": "Je nulová úroková sazba?", + "Is primary grouping by amount?": "Je primární seskupení podle množství?", "JLG Loan Application": "Žádost o půjčku JLG", "Job Name": "Název povolání", "Joined On": "Připojeno", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Procento k základně", "Percentage to Base": "Procento k základně", "Period": "Doba", + "Period From": "Období od", + "Period To": "Období do", + "Period Type": "Typ období", + "Amount Range From": "Rozsah částky Od", + "Amount Range To": "Rozsah částky do", "Person": "Osoba", "Phone Number": "Telefonní číslo", "Place Guarantee Funds On-Hold": "Pozastavení záručních fondů", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Částka opakovaného vkladu", "Recurring Deposit Product": "Produkt s opakovaným vkladem", "Recurring Deposit Products": "Produkty s opakovaným vkladem", + "Recurring Deposit Type": "Typ opakovaného vkladu", "Reference Number": "Referenční číslo", "Rejected Date": "Datum odmítnutí", "Rejected On": "Zamítnuto Zapnuto", @@ -2870,6 +2878,8 @@ "undefined": "nedefinované", "withhold tax for this account": "srazit daň pro tento účet", "Journal Entries": "Záznamy v časopise", + "Mandatory": "Povinné", + "Voluntary": "Dobrovolný", "“Maker-Checker” principle requires every tasks": "Princip „Maker-Checker“ vyžaduje, aby každý úkol prováděli dva lidé, aby se snížila pravděpodobnost chyb a zneužití. Jedna osoba proces iniciuje a druhá jej dokončí." }, "titles": { diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json index 6c9db87e5..4e605ed09 100644 --- a/src/assets/translations/de-DE.json +++ b/src/assets/translations/de-DE.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Konfigurieren Sie Geldquellen für Zahlungskanäle", "Configure Maker Checker Tasks": "Konfigurieren Sie Maker Checker-Aufgaben", "Configure Maker-Checker Tasks": "Konfigurieren Sie Maker-Checker-Aufgaben", + "Customer Attributes": "Kundenattribute", "Configure Mifos Organization Needs": "Die folgende Führung hilft Ihnen dabei, Mifos entsprechend den Anforderungen Ihres Unternehmens zu konfigurieren.", "Create Charge": "Ladung erstellen", "Create Closure": "Abschluss erstellen", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Zinsdiagramme", "Interest Recalculation": "Neuberechnung der Zinsen", "Interest Transfer": "Zinsübertragung", - "It's required to add at least one Slab": "Es ist erforderlich, mindestens eine Platte hinzuzufügen", + "It is required to add at least one Slab": "Es ist erforderlich, mindestens eine Platte hinzuzufügen", "Journal Entries": "Journaleinträge", "Keyboard Shortcuts": "Tastatürkürzel", "Last Active": "letzte Aktivität", @@ -1505,6 +1506,7 @@ "Is job active": "Ist der Job aktiv?", "Is staff": "Ist Personal", "Is Zero Interest Rate?": "Ist der Nullzins?", + "Is primary grouping by amount?": "Ist die primäre Gruppierung nach Betrag?", "JLG Loan Application": "JLG-Kreditantrag", "Job Name": "Berufsbezeichnung", "Joined On": "Beigetreten am", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Prozentsatz zur Basis", "Percentage to Base": "Prozentsatz zur Basis", "Period": "Zeitraum", + "Period From": "Zeitraum Von", + "Period To": "Zeitraum bis", + "Period Type": "Periodentyp", + "Amount Range From": "Betragsbereich von", + "Amount Range To": "Betragsbereich bis", "Person": "Person", "Phone Number": "Telefonnummer", "Place Guarantee Funds On-Hold": "Stellen Sie Garantiefonds auf Eis", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Wiederkehrender Einzahlungsbetrag", "Recurring Deposit Product": "Produkt mit wiederkehrender Einzahlung", "Recurring Deposit Products": "Produkte mit wiederkehrender Einzahlung", + "Recurring Deposit Type": "Art der wiederkehrenden Einzahlung", "Reference Number": "Referenznummer", "Rejected Date": "Abgelehntes Datum", "Rejected On": "Abgelehnt am", @@ -2869,6 +2877,8 @@ "undefined": "nicht definiert", "withhold tax for this account": "für dieses Konto die Steuer einbehalten", "Journal Entries": "Journaleinträge", + "Mandatory": "Obligatorisch", + "Voluntary": "Freiwillig", "“Maker-Checker” principle requires every tasks": "Das „Maker-Checker“-Prinzip erfordert, dass jede Aufgabe von zwei Personen erledigt wird, um das Risiko von Fehlern und Missbrauch zu verringern. Eine Person leitet den Prozess ein und die zweite Person schließt ihn ab." }, "titles": { diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json index 8b8becb4f..4832a349e 100644 --- a/src/assets/translations/en-US.json +++ b/src/assets/translations/en-US.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Configure Fund Sources for Payment Channels", "Configure Maker Checker Tasks": "Configure Maker Checker Tasks", "Configure Maker-Checker Tasks": "Configure Maker-Checker Tasks", + "Customer Attributes": "Customer Attributes", "Configure Mifos Organization Needs": "Following guide tour will help you configure Mifos according to your organization needs.", "Create Charge": "Create Charge", "Create Closure": "Create Closure", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Interest Rate Charts", "Interest Recalculation": "Interest Recalculation", "Interest Transfer": "Interest Transfer", - "It's required to add at least one Slab": "It's required to add at least one Slab", + "It is required to add at least one Slab": "It is required to add at least one Slab", "Journal Entries": "Journal Entries", "Keyboard Shortcuts": "Keyboard Shortcuts", "Last Active": "Last Active", @@ -1504,6 +1505,7 @@ "Is job active": "Is job active", "Is staff": "Is staff", "Is Zero Interest Rate?": "Is Zero Interest Rate?", + "Is primary grouping by amount?": "Is primary grouping by amount?", "JLG Loan Application": "JLG Loan Application", "Job Name": "Job Name", "Joined On": "Joined On", @@ -1771,6 +1773,11 @@ "Percentage To Base": "Percentage To Base", "Percentage to Base": "Percentage to Base", "Period": "Period", + "Period From": "Period From", + "Period To": "Period To", + "Period Type": "Period Type", + "Amount Range From": "Amount Range From", + "Amount Range To": "Amount Range To", "Person": "Person", "Phone Number": "Phone Number", "Place Guarantee Funds On-Hold": "Place Guarantee Funds On-Hold", @@ -1835,6 +1842,7 @@ "Recurring Deposit Amount": "Recurring Deposit Amount", "Recurring Deposit Product": "Recurring Deposit Product", "Recurring Deposit Products": "Recurring Deposit Products", + "Recurring Deposit Type": "Recurring Deposit Type", "Reference Number": "Reference Number", "Rejected Date": "Rejected Date", "Rejected On": "Rejected On", @@ -2870,6 +2878,8 @@ "undefined": "undefined", "withhold tax for this account": "withhold tax for this account", "Journal Entries": "Journal Entries", + "Mandatory": "Mandatory", + "Voluntary": "Voluntary", "“Maker-Checker” principle requires every tasks": "The “Maker-Checker” principle requires every tasks to be completed by two people to reduce the chance of errors and misuse. One person initiates the process and the second completes it." }, "titles": { diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json index 0ea9a77fa..134706d7c 100644 --- a/src/assets/translations/es-MX.json +++ b/src/assets/translations/es-MX.json @@ -312,7 +312,7 @@ "Add Report Parameter": "Agregar parámetro de reporte", "Add Role": "Agregar Rol", "Add Rule": "Agregar regla", - "Add Slab": "Agregar losa", + "Add Slab": "Agregar Rango de Montos", "Add/Edit": "Agregar/Editar", "Adjustment": "Ajustamiento", "Advance Options": "Opciones Avanzadas", @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Configurar fuentes de fondos para canales de pago", "Configure Maker Checker Tasks": "Configurar tareas de Realizador Aprobador", "Configure Maker-Checker Tasks": "Configurar tareas de Realizador Aprobador", + "Customer Attributes": "Atributos personalizados", "Configure Mifos Organization Needs": "La siguiente guía le ayudará a configurar Mifos según las necesidades de su organización.", "Create Charge": "Crear Comisión", "Create Closure": "Crear Cierre", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Gráficos de tasas de interés", "Interest Recalculation": "Recálculo de intereses", "Interest Transfer": "Transferencia de intereses", - "It's required to add at least one Slab": "Es necesario agregar al menos una losa.", + "It is required to add at least one Slab": "Es necesario agregar al menos un rango de montos", "Journal Entries": "Entradas de diario", "Keyboard Shortcuts": "Atajos de teclado", "Last Active": "Último Activo", @@ -778,7 +779,7 @@ "Manage Tax Configurations": "Administrar configuraciones de impuestos", "Manage Tax Groups": "Administrar grupos de impuestos", "Map Fees to Specific Income Accounts": "Asignar comisiones a cuentas de ingresos específicas", - "Map Penalties to Specific Income Accounts": "Asignar sanciones a cuentas de ingresos específicas", + "Map Penalties to Specific Income Accounts": "Asignar penalizaciones a cuentas de ingresos específicas", "Market Price Periods": "Períodos de precios de mercado", "Maximum Deposit Term": "Plazo máximo de depósito", "Migrate Opening Balances (Office-wise)": "Migrar saldos iniciales (en la oficina)", @@ -796,7 +797,7 @@ "Overdue Charges": "Comisiones Moratorias", "Password Preferences": "Preferencias de contraseña", "Payment Type": "Tipo de pago", - "Penalties to Specific Income Accounts": "Sanciones a Cuentas de Ingresos Específicas", + "Penalties to Specific Income Accounts": "Penalizaciones a Cuentas de Ingresos Específicas", "Performance History": "Historial de rendimiento", "Post Interest": "Publicar interés", "Principal by loan cycle": "Principal por ciclo de Crédito", @@ -907,7 +908,7 @@ "accounting": { "ASSET": "ACTIVO", "LIABILITY": "PASIVO", - "EQUITY": "CAPITAL", + "EQUITY": "PATRIMONIO", "INCOME": "INGRESO", "EXPENSE": "EGRESO" }, @@ -1203,8 +1204,8 @@ "Days in Year": "Días en el año", "Days in month": "Dias en el mes", "Days in year": "Dias en el año", - "Days to Dormancy": "Días hasta la latencia", - "Days to Escheat": "Días para evitar", + "Days to Dormancy": "Días hasta la Inactividad", + "Days to Escheat": "Días para sin reclamo", "Days to Inactive": "Días para inactivo", "Debit": "Débito", "Debit Account": "Cuenta de debito", @@ -1264,7 +1265,7 @@ "Dividend Period Start Date": "Fecha de inicio del período de dividendos", "Dividends": "Dividendos", "Documents": "Documentos", - "Dormancy Tracking": "Seguimiento de latencia", + "Dormancy Tracking": "Seguimiento de Inactivdad", "Download": "Descargar", "Due": "Pendiente", "Due As Of": "Vencimiento a partir de", @@ -1300,7 +1301,7 @@ "Equal Amortization": "Amortización igual", "Error": "Error", "Error Log": "Registro de errores", - "Escheat liability": "Renunciar a la responsabilidad", + "Escheat liability": "Renunciar a la propiedad", "Event Type": "Tipo de evento", "Events": "Eventos", "Excel 2007 format": "Formato excel 2007", @@ -1382,7 +1383,7 @@ "GCM End Point": "Punto final del GCM", "GENERAL": "GENERAL", "GL Account Name or Code": "Nombre o código de cuenta del libro mayor", - "GL Code": "Código GL", + "GL Code": "Número de Cuenta", "GSIM Id": "Id GSM", "Gap between Installments": "Brecha entre Cuotas:", "Gender": "Género", @@ -1433,7 +1434,7 @@ "Income from Recovery Repayments": "Ingresos por amortizaciones de recuperación", "Income from fees": "Ingresos por Comisiones", "Income from fees Repayments": "Ingresos por comisiones Amortizaciones", - "Income from penalties": "Ingresos por sanciones", + "Income from penalties": "Ingresos por penalizaciones", "Incorporation No": "Número de constitución", "Incorporation Number": "Número de constitución", "Incorporation Validity Till Date": "Validez de constitución hasta la fecha", @@ -1505,6 +1506,7 @@ "Is job active": "¿Está activo el proceso?", "Is staff": "¿Es personal", "Is Zero Interest Rate?": "¿Es tasa de interés cero?", + "Is primary grouping by amount?": "¿La agrupación primaria es por monto?", "JLG Loan Application": "Solicitud de Crédito JLG", "Job Name": "Nombre del proceso", "Joined On": "Se unió", @@ -1589,7 +1591,7 @@ "Manage Roles and Permission": "Administrar roles y permisos", "Mandatory": "Obligatorio", "Mandatory Guarantee(%)": "Garantía obligatoria(%)", - "Manual Entries Allowed": "Entradas manuales permitidas", + "Manual Entries Allowed": "Permitir Entradas manuales", "Mapper Key": "Clave del asignador", "Mapper Value": "Valor del asignador", "Mapping Between Entities": "Mapeo entre entidades", @@ -1679,8 +1681,8 @@ "Number of Active Overdue Group Loans": "Número de Créditos grupales vencidos activos", "Number of Centers": "Número de Centros", "Number of Clients": "Número de clientes", - "Number of Days to Dormant sub-status": "Número de días hasta el subestado inactivo", - "Number of Days to Escheat": "Número de días para evitar", + "Number of Days to Dormant sub-status": "Número de días hasta el estado inactivo", + "Number of Days to Escheat": "Número de días para no reclamo", "Number of Days to Inactive sub-status": "Número de días hasta el subestado inactivo", "Number of Groups": "Número de grupos", "Number of Installments": "Número de cuotas", @@ -1738,7 +1740,7 @@ "Paid Date": "Fecha de pago", "Parameter": "Parámetro", "Parameter Name Passed to Pentaho": "Nombre del parámetro pasado a Pentaho", - "Parent": "Padre", + "Parent": "Cuenta de Mayor", "Parent Account Name": "Nombre de la cuenta principal", "Parent Name": "Nombre del padre", "Parent Office": "Oficina matriz", @@ -1763,7 +1765,7 @@ "Penal Interest": "Interés Penal", "Penalties": "Penalizaciones", "Penalties Outstanding": "Penalizaciones pendientes", - "Penalties Receivable": "Sanciones por Cobrar", + "Penalties Receivable": "Penalizaciones por Cobrar", "Penalty": "Multa", "Penalty Amount": "Monto de la multa", "Pending For Approval Shares": "Acciones pendientes de aprobación", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Porcentaje a la base", "Percentage to Base": "Porcentaje a la base", "Period": "Período", + "Period From": "Periodo desde", + "Period To": "Período hasta", + "Period Type": "Tipo de período", + "Amount Range From": "Monto desde", + "Amount Range To": "Monto hasta", "Person": "Persona", "Phone Number": "Número de teléfono", "Place Guarantee Funds On-Hold": "Poner los fondos de garantía en espera", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Monto del Depósito Recurrente", "Recurring Deposit Product": "Producto de Depósito Recurrente", "Recurring Deposit Products": "Productos de Depósito Recurrentes", + "Recurring Deposit Type": "Tipo de depósito recurrente", "Reference Number": "Número de referencia", "Rejected Date": "Fecha rechazada", "Rejected On": "Rechazado el", @@ -1912,14 +1920,14 @@ "Saturday": "Sábado", "Saving Account": "Cuenta de Ahorros", "Saving control": "Control de ahorro", - "Saving reference": "Guardar referencia", + "Saving reference": "Referencia Ahorros", "Savings Account": "Cuenta de Ahorros", "Savings Account No": "Cuenta de Ahorros No", "Savings Account Number": "Número de Cuenta de Ahorros", "Savings Documents": "Documentos de ahorro", "Savings Product": "Producto de Ahorro", "Savings SubType": "Subtipo de ahorro", - "Savings transfers in suspense": "Transferencias de ahorro en vilo", + "Savings transfers in suspense": "Transferencias de ahorro en suspenso", "Scheduler Jobs": "Procesos calendarizados", "Schedule Date": "Fecha de programacion", "Score": "Puntos", @@ -2470,7 +2478,7 @@ "Define Tax Groups": "Definir grupos de impuestos", "Define Tax components": "Definir componentes de impuestos", "Define Tax components and Tax groups": "Definir componentes de impuestos y grupos de impuestos", - "Define charges/penalties for loan products, savings and deposit products": "Definir cargos/sanciones para productos de Crédito, ahorro y depósito.", + "Define charges/penalties for loan products, savings and deposit products": "Definir cargos/penalizaciones para productos de Crédito, ahorro y depósito.", "Define collaterals for Collateral Management": "Definir garantías para la gestión de garantías", "Define delinquency bucket as set of ranges": "Definir el segmento de morosidad como un conjunto de rangos", "Define delinquency day ranges": "Definir rangos de días de morosidad", @@ -2779,7 +2787,7 @@ "Transaction": "Transacción", "Transactions": "Transacciones", "Two Factor Authentication": "Autenticación de dos factores", - "Two types of charges—fees and penalties": "Mifos admite dos tipos de cargos: comisiones y sanciones. Se cobran comisiones por los servicios, por ejemplo, cuotas de membresía, comisiones de desembolso de Créditos y comisiones de retiro. Se cobran sanciones para disuadir a los clientes de desviarse de los términos de un producto.", + "Two types of charges—fees and penalties": "Mifos admite dos tipos de cargos: comisiones y penalizaciones. Se cobran comisiones por los servicios, por ejemplo, cuotas de membresía, comisiones de desembolso de Créditos y comisiones de retiro. Se cobran penalizaciones para disuadir a los clientes de desviarse de los términos de un producto.", "Two-factor authentication configuration": "Ajustes de configuración de autenticación de dos factores", "Unassign Staff client": "¿Está seguro de que desea desasignar el asesor de este cliente?", "Unassign role for client member": "¿Está seguro de que desea cancelar la asignación del rol del miembro cliente con ID?", @@ -2870,6 +2878,8 @@ "undefined": "No definido", "withhold tax for this account": "retener impuestos para esta cuenta", "Journal Entries": "Entradas de diario", + "Mandatory": "Obligatorio", + "Voluntary": "Voluntario", "“Maker-Checker” principle requires every tasks": "El principio \"Maker-Checker\" requiere que dos personas completen cada tarea para reducir la posibilidad de errores y uso indebido. Una persona inicia el proceso y la segunda lo completa." }, "titles": { @@ -2961,7 +2971,7 @@ "If the Interest Free Period": "Si el Período Libre de Intereses es '4' y la Frecuencia de Pago del cliente es cada semana, entonces durante las primeras cuatro semanas el cliente no necesita pagar intereses, debe pagar el principio adeudado solo para esa semana.", "Inactivate Charge": "Inactivar Comisión", "Inactive period to mark an account as Dormant": "Número consecutivo de días de período inactivo para marcar una cuenta como inactiva", - "Inactive period to mark an account as Escheat": "Número consecutivo de días de período inactivo para marcar una cuenta como Escheat", + "Inactive period to mark an account as Escheat": "Número consecutivo de días de período inactivo para marcar una cuenta como sin reclamo", "Inactive period to mark an account as Inactive": "Número consecutivo de días de período inactivo para marcar una cuenta como inactiva", "Indicates whether saving accounts based on this saving product": "Indica si las cuentas de ahorro basadas en este producto de ahorro pueden tener un sobregiro", "Indicates whether the withdrawal fee": "Indica si se debe aplicar la comisión de retiro cuando se transfieren fondos entre cuentas", diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json index 9560270cd..ca1579ab2 100644 --- a/src/assets/translations/fr-FR.json +++ b/src/assets/translations/fr-FR.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Configurer les sources de fonds pour les canaux de paiement", "Configure Maker Checker Tasks": "Configurer les tâches de Maker Checker", "Configure Maker-Checker Tasks": "Configurer les tâches Maker-Checker", + "Customer Attributes": "Attributs du client", "Configure Mifos Organization Needs": "La visite guidée suivante vous aidera à configurer Mifos en fonction des besoins de votre organisation.", "Create Charge": "Créer des frais", "Create Closure": "Créer une fermeture", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Graphiques des taux d'intérêt", "Interest Recalculation": "Recalcul des intérêts", "Interest Transfer": "Transfert d'intérêt", - "It's required to add at least one Slab": "Il est nécessaire d'ajouter au moins une dalle", + "It is required to add at least one Slab": "Il est nécessaire d'ajouter au moins une dalle", "Journal Entries": "Entrées de journal", "Keyboard Shortcuts": "Raccourcis clavier", "Last Active": "Dernier actif", @@ -1505,6 +1506,7 @@ "Is job active": "Le travail est-il actif", "Is staff": "Le personnel est-il", "Is Zero Interest Rate?": "Le taux d’intérêt est-il nul ?", + "Is primary grouping by amount?": "Le regroupement primaire est-il par montant ?", "JLG Loan Application": "Demande de prêt JLG", "Job Name": "Nom du travail", "Joined On": "Rejoint", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Pourcentage à la base", "Percentage to Base": "Pourcentage à la base", "Period": "Période", + "Period From": "Période de", + "Period To": "Période jusqu'à", + "Period Type": "Type de période", + "Amount Range From": "Fourchette de montant", + "Amount Range To": "Fourchette de montant à", "Person": "Personne", "Phone Number": "Numéro de téléphone", "Place Guarantee Funds On-Hold": "Mettre les fonds de garantie en attente", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Montant du dépôt récurrent", "Recurring Deposit Product": "Produit de dépôt récurrent", "Recurring Deposit Products": "Produits de dépôt récurrents", + "Recurring Deposit Type": "Type de dépôt récurrent", "Reference Number": "Numéro de réference", "Rejected Date": "Date de rejet", "Rejected On": "Rejeté le", @@ -2870,6 +2878,8 @@ "undefined": "indéfini", "withhold tax for this account": "retenir l'impôt sur ce compte", "Journal Entries": "{titre : Entrées de journal", + "Mandatory": "Obligatoire", + "Voluntary": "Volontaire", "“Maker-Checker” principle requires every tasks": "Le principe « Maker-Checker » exige que chaque tâche soit effectuée par deux personnes afin de réduire les risques d'erreurs et de mauvaise utilisation. Une personne lance le processus et la seconde le termine." }, "titles": { diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json index 8ecef22be..0e70b7856 100644 --- a/src/assets/translations/it-IT.json +++ b/src/assets/translations/it-IT.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Configura le origini dei fondi per i canali di pagamento", "Configure Maker Checker Tasks": "Configura le attività di Maker Checker", "Configure Maker-Checker Tasks": "Configura le attività di Maker-Checker", + "Customer Attributes": "Attributi del cliente", "Configure Mifos Organization Needs": "Il seguente tour guidato ti aiuterà a configurare Mifos in base alle esigenze della tua organizzazione.", "Create Charge": "Crea carica", "Create Closure": "Crea chiusura", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Grafici dei tassi di interesse", "Interest Recalculation": "Ricalcolo degli interessi", "Interest Transfer": "Trasferimento di interessi", - "It's required to add at least one Slab": "È necessario aggiungere almeno una lastra", + "It is required to add at least one Slab": "È necessario aggiungere almeno una lastra", "Journal Entries": "Voci del diario", "Keyboard Shortcuts": "Tasti rapidi", "Last Active": "Ultimo attivo", @@ -1505,6 +1506,7 @@ "Is job active": "Il lavoro è attivo", "Is staff": "È personale", "Is Zero Interest Rate?": "Il tasso di interesse è zero?", + "Is primary grouping by amount?": "Il raggruppamento primario è per importo?", "JLG Loan Application": "Richiesta di prestito JLG", "Job Name": "Nome del lavoro", "Joined On": "Iscritto su", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Percentuale rispetto alla base", "Percentage to Base": "Percentuale rispetto alla base", "Period": "Periodo", + "Period From": "Periodo da", + "Period To": "Periodo a", + "Period Type": "Tipo di periodo", + "Amount Range From": "Intervallo di importo da", + "Amount Range To": "Intervallo di importo fino a", "Person": "Persona", "Phone Number": "Numero di telefono", "Place Guarantee Funds On-Hold": "Posizionare i fondi di garanzia in sospeso", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Importo del deposito ricorrente", "Recurring Deposit Product": "Prodotto con deposito ricorrente", "Recurring Deposit Products": "Prodotti con deposito ricorrente", + "Recurring Deposit Type": "Tipo di deposito ricorrente", "Reference Number": "Numero di riferimento", "Rejected Date": "Data rifiutata", "Rejected On": "Rifiutato", @@ -2870,6 +2878,8 @@ "undefined": "non definito", "withhold tax for this account": "trattenere l'imposta per questo conto", "Journal Entries": "{titolo: Voci di diario", + "Mandatory": "Obbligatorio", + "Voluntary": "Volontario", "“Maker-Checker” principle requires every tasks": "Il principio “Maker-Checker” richiede che ogni attività venga completata da due persone per ridurre la possibilità di errori e usi impropri. Una persona avvia il processo e la seconda lo completa." }, "titles": { diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json index 56bd00842..be0f568d3 100644 --- a/src/assets/translations/ko-KO.json +++ b/src/assets/translations/ko-KO.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "지불 채널에 대한 자금 출처 구성", "Configure Maker Checker Tasks": "Maker Checker 작업 구성", "Configure Maker-Checker Tasks": "Maker-Checker 작업 구성", + "Customer Attributes": "고객 속성", "Configure Mifos Organization Needs": "다음 가이드 투어는 조직의 필요에 따라 Mifos를 구성하는 데 도움이 됩니다.", "Create Charge": "청구 생성", "Create Closure": "클로저 생성", @@ -719,7 +720,7 @@ "Interest Rate Charts": "금리 차트", "Interest Recalculation": "이자 재계산", "Interest Transfer": "이자 이전", - "It's required to add at least one Slab": "하나 이상의 Slab을 추가해야 합니다.", + "It is required to add at least one Slab": "하나 이상의 Slab을 추가해야 합니다.", "Journal Entries": "분개 항목", "Keyboard Shortcuts": "키보드 단축키", "Last Active": "마지막 활성", @@ -1506,6 +1507,7 @@ "Is job active": "작업이 활성 상태입니까?", "Is staff": "직원인가", "Is Zero Interest Rate?": "제로금리인가?", + "Is primary grouping by amount?": "기본 그룹화는 금액별로 이루어 집니까?", "JLG Loan Application": "JLG 대출 신청", "Job Name": "직업 이름", "Joined On": "가입 날짜", @@ -1773,6 +1775,11 @@ "Percentage To Base": "베이스에 대한 백분율", "Percentage to Base": "베이스에 대한 백분율", "Period": "기간", + "Period From": "기간: 부터", + "Period To": "기간: 까지", + "Period Type": "기간 유형", + "Amount Range From": "금액 범위: 부터", + "Amount Range To": "금액 범위:", "Person": "사람", "Phone Number": "전화 번호", "Place Guarantee Funds On-Hold": "보증 자금 보류", @@ -1837,6 +1844,7 @@ "Recurring Deposit Amount": "정기입금액", "Recurring Deposit Product": "정기예금 상품", "Recurring Deposit Products": "정기예금 상품", + "Recurring Deposit Type": "정기예금 유형", "Reference Number": "참조번호", "Rejected Date": "거부된 날짜", "Rejected On": "거부 날짜", @@ -2870,6 +2878,8 @@ "undefined": "한정되지 않은", "withhold tax for this account": "이 계정에 대한 원천징수세", "Journal Entries": "{제목: 저널 항목", + "Mandatory": "필수적인", + "Voluntary": "자발적인", "“Maker-Checker” principle requires every tasks": "\"Maker-Checker\" 원칙은 오류와 오용 가능성을 줄이기 위해 모든 작업을 두 사람이 완료하도록 요구합니다. 한 사람이 프로세스를 시작하고 두 번째 사람이 프로세스를 완료합니다." }, "titles": { diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json index 593e826ae..9be21710f 100644 --- a/src/assets/translations/lt-LT.json +++ b/src/assets/translations/lt-LT.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Konfigūruokite mokėjimo kanalų lėšų šaltinius", "Configure Maker Checker Tasks": "Konfigūruokite Maker Checker užduotis", "Configure Maker-Checker Tasks": "Konfigūruokite Maker-Checker užduotis", + "Customer Attributes": "Kliento atributai", "Configure Mifos Organization Needs": "Šis vadovas padės sukonfigūruoti „Mifos“ pagal jūsų organizacijos poreikius.", "Create Charge": "Sukurti mokestį", "Create Closure": "Sukurti uždarymą", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Palūkanų normų diagramos", "Interest Recalculation": "Palūkanų perskaičiavimas", "Interest Transfer": "Palūkanų pervedimas", - "It's required to add at least one Slab": "Būtina pridėti bent vieną plokštę", + "It is required to add at least one Slab": "Būtina pridėti bent vieną plokštę", "Journal Entries": "Žurnalo įrašai", "Keyboard Shortcuts": "Klaviatūros nuorodos", "Last Active": "Paskutinis aktyvus", @@ -1505,6 +1506,7 @@ "Is job active": "Darbas aktyvus", "Is staff": "Yra personalas", "Is Zero Interest Rate?": "Ar nulinė palūkanų norma?", + "Is primary grouping by amount?": "Ar pirminis grupavimas pagal sumą?", "JLG Loan Application": "JLG paskolos paraiška", "Job Name": "Darbo pavadinimas", "Joined On": "Prisijungė", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Procentai iki bazės", "Percentage to Base": "Procentai iki bazės", "Period": "Laikotarpis", + "Period From": "Laikotarpis Nuo", + "Period To": "Laikotarpis iki", + "Period Type": "Laikotarpio tipas", + "Amount Range From": "Sumos diapazonas nuo", + "Amount Range To": "Sumos diapazonas Iki", "Person": "Asmuo", "Phone Number": "Telefono numeris", "Place Guarantee Funds On-Hold": "Vietos garantijos lėšos yra sulaikytos", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Pasikartojanti indėlio suma", "Recurring Deposit Product": "Pasikartojančio indėlio produktas", "Recurring Deposit Products": "Pasikartojančių indėlių produktai", + "Recurring Deposit Type": "Pasikartojančio indėlio tipas", "Reference Number": "Šaltinio numeris", "Rejected Date": "Atmetimo data", "Rejected On": "Atmesta", @@ -2870,6 +2878,8 @@ "undefined": "neapibrėžtas", "withhold tax for this account": "išskaičiuoti mokesčius už šią sąskaitą", "Journal Entries": "{pavadinimas: žurnalo įrašai", + "Mandatory": "Privaloma", + "Voluntary": "Savanoriškas", "“Maker-Checker” principle requires every tasks": "„Maker-Checker“ principas reikalauja, kad kiekvieną užduotį atliktų du žmonės, kad būtų sumažinta klaidų ir netinkamo naudojimo galimybė. Vienas asmuo pradeda procesą, o antrasis jį užbaigia." }, "titles": { diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json index 9869f4913..d2e7c22d6 100644 --- a/src/assets/translations/lv-LV.json +++ b/src/assets/translations/lv-LV.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Konfigurējiet līdzekļu avotus maksājumu kanāliem", "Configure Maker Checker Tasks": "Konfigurējiet Maker Checker uzdevumus", "Configure Maker-Checker Tasks": "Konfigurējiet Maker-Checker uzdevumus", + "Customer Attributes": "Klientu atribūti", "Configure Mifos Organization Needs": "Sekojošais ceļvedis palīdzēs konfigurēt Mifos atbilstoši jūsu organizācijas vajadzībām.", "Create Charge": "Izveidot maksu", "Create Closure": "Izveidot slēgšanu", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Procentu likmju diagrammas", "Interest Recalculation": "Procentu pārrēķins", "Interest Transfer": "Procentu pārskaitījums", - "It's required to add at least one Slab": "Ir jāpievieno vismaz viena plāksne", + "It is required to add at least one Slab": "Ir jāpievieno vismaz viena plāksne", "Journal Entries": "Dienasgrāmatas ieraksti", "Keyboard Shortcuts": "Tastatūras īsinājumtaustiņi", "Last Active": "Pēdējā aktīva", @@ -1505,6 +1506,7 @@ "Is job active": "Vai darbs ir aktīvs", "Is staff": "Ir personāls", "Is Zero Interest Rate?": "Vai procentu likme ir nulle?", + "Is primary grouping by amount?": "Vai primārā grupēšana ir pēc summas?", "JLG Loan Application": "JLG aizdevuma pieteikums", "Job Name": "Darba nosaukums", "Joined On": "Pievienojās", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Procenti līdz bāzei", "Percentage to Base": "Procenti līdz bāzei", "Period": "Periods", + "Period From": "Periods No", + "Period To": "Periods līdz", + "Period Type": "Perioda veids", + "Amount Range From": "Summa diapazons no", + "Amount Range To": "Summa diapazons Līdz", "Person": "Persona", "Phone Number": "Telefona numurs", "Place Guarantee Funds On-Hold": "Vietas garantijas fondu aizturēšana", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Periodiskā depozīta summa", "Recurring Deposit Product": "Atkārtota depozīta produkts", "Recurring Deposit Products": "Atkārtota depozīta produkti", + "Recurring Deposit Type": "Atkārtota depozīta veids", "Reference Number": "Atsauces numurs", "Rejected Date": "Noraidīšanas datums", "Rejected On": "Noraidīts", @@ -2870,6 +2878,8 @@ "undefined": "nenoteikts", "withhold tax for this account": "ieturēt nodokli par šo kontu", "Journal Entries": "Žurnāla ieraksti", + "Mandatory": "Obligāts", + "Voluntary": "Brīvprātīgi", "“Maker-Checker” principle requires every tasks": "“Maker-Checker” princips paredz, ka katrs uzdevums ir jāveic diviem cilvēkiem, lai samazinātu kļūdu un nepareizas lietošanas iespējamību. Viens cilvēks uzsāk procesu, bet otrs to pabeidz." }, "titles": { diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json index 503b61c0d..a29e9a2b3 100644 --- a/src/assets/translations/ne-NE.json +++ b/src/assets/translations/ne-NE.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "भुक्तानी च्यानलहरूको लागि कोष स्रोतहरू कन्फिगर गर्नुहोस्", "Configure Maker Checker Tasks": "मेकर जाँचकर्ता कार्यहरू कन्फिगर गर्नुहोस्", "Configure Maker-Checker Tasks": "मेकर-चेकर कार्यहरू कन्फिगर गर्नुहोस्", + "Customer Attributes": "ग्राहक विशेषताहरू", "Configure Mifos Organization Needs": "निम्न गाईड टूरले तपाइँलाई तपाइँको संगठन आवश्यकता अनुसार Mifos कन्फिगर गर्न मद्दत गर्नेछ।", "Create Charge": "चार्ज सिर्जना गर्नुहोस्", "Create Closure": "बन्द सिर्जना गर्नुहोस्", @@ -719,7 +720,7 @@ "Interest Rate Charts": "ब्याज दर चार्टहरू", "Interest Recalculation": "ब्याज पुन: गणना", "Interest Transfer": "ब्याज स्थानान्तरण", - "It's required to add at least one Slab": "कम्तिमा एउटा स्ल्याब थप्न आवश्यक छ", + "It is required to add at least one Slab": "कम्तिमा एउटा स्ल्याब थप्न आवश्यक छ", "Journal Entries": "जर्नल प्रविष्टिहरू", "Keyboard Shortcuts": "किबोर्ड सर्टकटहरू", "Last Active": "पछिल्लो सक्रिय", @@ -1505,6 +1506,7 @@ "Is job active": "काम सक्रिय छ", "Is staff": "कर्मचारी छ", "Is Zero Interest Rate?": "शून्य ब्याजदर हो ?", + "Is primary grouping by amount?": "रकम द्वारा प्राथमिक समूहीकरण छ?", "JLG Loan Application": "JLG ऋण आवेदन", "Job Name": "कामको नाम", "Joined On": "मा सामेल हुनुभयो", @@ -1772,6 +1774,11 @@ "Percentage To Base": "आधारमा प्रतिशत", "Percentage to Base": "आधार को प्रतिशत", "Period": "अवधि", + "Period From": "बाट अवधि", + "Period To": "को अवधि", + "Period Type": "अवधि प्रकार", + "Amount Range From": "बाट रकम दायरा", + "Amount Range To": "रकम दायरा", "Person": "व्यक्ति", "Phone Number": "फोन नम्बर", "Place Guarantee Funds On-Hold": "ग्यारेन्टी कोष अन-होल्ड राख्नुहोस्", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "आवर्ती जम्मा रकम", "Recurring Deposit Product": "आवर्ती जम्मा उत्पादन", "Recurring Deposit Products": "आवर्ती जम्मा उत्पादनहरू", + "Recurring Deposit Type": "आवर्ती जम्मा प्रकार", "Reference Number": "सन्दर्भ नम्बर", "Rejected Date": "अस्वीकार गरिएको मिति", "Rejected On": "मा अस्वीकार गरियो", @@ -2870,6 +2878,8 @@ "undefined": "अपरिभाषित", "withhold tax for this account": "यस खाताको लागि कर रोक्नुहोस्", "Journal Entries": "{शीर्षक: जर्नल प्रविष्टिहरू", + "Mandatory": "अनिवार्य", + "Voluntary": "स्वैच्छिक", "“Maker-Checker” principle requires every tasks": "\"मेकर-चेकर\" सिद्धान्तले त्रुटि र दुरुपयोगको सम्भावना कम गर्न प्रत्येक कार्यहरू दुई व्यक्तिद्वारा पूरा गर्न आवश्यक छ। एक व्यक्तिले प्रक्रिया सुरु गर्छ र दोस्रोले यसलाई पूरा गर्दछ।" }, "titles": { diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json index 1628e8fbc..f76dfdd93 100644 --- a/src/assets/translations/pt-PT.json +++ b/src/assets/translations/pt-PT.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Configurar fontes de fundos para canais de pagamento", "Configure Maker Checker Tasks": "Configurar tarefas do Maker Checker", "Configure Maker-Checker Tasks": "Configurar tarefas do Maker-Checker", + "Customer Attributes": "Atributos do cliente", "Configure Mifos Organization Needs": "O guia a seguir o ajudará a configurar o Mifos de acordo com as necessidades da sua organização.", "Create Charge": "Criar cobrança", "Create Closure": "Criar encerramento", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Gráficos de taxas de juros", "Interest Recalculation": "Recálculo de juros", "Interest Transfer": "Transferência de juros", - "It's required to add at least one Slab": "É necessário adicionar pelo menos uma Laje", + "It is required to add at least one Slab": "É necessário adicionar pelo menos uma Laje", "Journal Entries": "Lançamentos de diário", "Keyboard Shortcuts": "Atalhos do teclado", "Last Active": "ativo pela última vez", @@ -1505,6 +1506,7 @@ "Is job active": "O trabalho está ativo", "Is staff": "É pessoal", "Is Zero Interest Rate?": "A taxa de juros é zero?", + "Is primary grouping by amount?": "O agrupamento primário é por valor?", "JLG Loan Application": "Solicitação de empréstimo JLG", "Job Name": "Nome do trabalho", "Joined On": "Entrou em", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Porcentagem até a base", "Percentage to Base": "Porcentagem para Base", "Period": "Período", + "Period From": "Periodo de", + "Period To": "Período até", + "Period Type": "Tipo de período", + "Amount Range From": "Faixa de valor de", + "Amount Range To": "Faixa de valor até", "Person": "Pessoa", "Phone Number": "Número de telefone", "Place Guarantee Funds On-Hold": "Colocar fundos de garantia em espera", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Valor do depósito recorrente", "Recurring Deposit Product": "Produto de Depósito Recorrente", "Recurring Deposit Products": "Produtos de Depósito Recorrente", + "Recurring Deposit Type": "Tipo de depósito recorrente", "Reference Number": "Número de referência", "Rejected Date": "Data de rejeição", "Rejected On": "Rejeitado em", @@ -2870,6 +2878,8 @@ "undefined": "indefinido", "withhold tax for this account": "reter imposto para esta conta", "Journal Entries": "{título: Lançamentos Diários", + "Mandatory": "Obrigatório", + "Voluntary": "Voluntário", "“Maker-Checker” principle requires every tasks": "O princípio “Maker-Checker” exige que todas as tarefas sejam concluídas por duas pessoas para reduzir a chance de erros e uso indevido. Uma pessoa inicia o processo e a segunda o conclui." }, "titles": { diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json index a0a460f09..6b1cbb372 100644 --- a/src/assets/translations/sw-SW.json +++ b/src/assets/translations/sw-SW.json @@ -624,6 +624,7 @@ "Configure Fund Sources for Payment Channels": "Sanidi Vyanzo vya Fedha vya Njia za Malipo", "Configure Maker Checker Tasks": "Sanidi Majukumu ya Kikagua Kitengeneza", "Configure Maker-Checker Tasks": "Sanidi Majukumu ya Kikagua", + "Customer Attributes": "Sifa za Wateja", "Configure Mifos Organization Needs": "Ziara ya kufuata itakusaidia kusanidi Mifos kulingana na mahitaji ya shirika lako.", "Create Charge": "Unda Malipo", "Create Closure": "Unda Kufungwa", @@ -719,7 +720,7 @@ "Interest Rate Charts": "Chati za Kiwango cha Riba", "Interest Recalculation": "Uhesabuji wa Maslahi", "Interest Transfer": "Uhamisho wa Riba", - "It's required to add at least one Slab": "Inahitajika kuongeza angalau Slab moja", + "It is required to add at least one Slab": "Inahitajika kuongeza angalau Slab moja", "Journal Entries": "Maingizo ya Jarida", "Keyboard Shortcuts": "Njia za mkato za Kibodi", "Last Active": "Iliyotumika Mwisho", @@ -1505,6 +1506,7 @@ "Is job active": "Je, kazi ipo", "Is staff": "Ni wafanyakazi", "Is Zero Interest Rate?": "Je, Kiwango cha Riba Sifuri?", + "Is primary grouping by amount?": "Je, upangaji wa msingi kwa kiasi?", "JLG Loan Application": "Maombi ya Mkopo ya JLG", "Job Name": "Jina la Kazi", "Joined On": "Amejiunga kwenye", @@ -1772,6 +1774,11 @@ "Percentage To Base": "Asilimia Kwa Msingi", "Percentage to Base": "Asilimia kwa Msingi", "Period": "Kipindi", + "Period From": "Kipindi Kutoka", + "Period To": "Kipindi Kwa", + "Period Type": "Aina ya Kipindi", + "Amount Range From": "Kiwango cha kuanzia", + "Amount Range To": "Kiasi cha Masafa Kwa", "Person": "Mtu", "Phone Number": "Nambari ya simu", "Place Guarantee Funds On-Hold": "Weka Pesa za Dhamana Kwa Muda", @@ -1836,6 +1843,7 @@ "Recurring Deposit Amount": "Kiasi cha Amana ya Mara kwa Mara", "Recurring Deposit Product": "Bidhaa ya Amana ya Mara kwa Mara", "Recurring Deposit Products": "Bidhaa za Amana za Mara kwa Mara", + "Recurring Deposit Type": "Aina ya Amana Inayojirudia", "Reference Number": "Nambari ya Marejeleo", "Rejected Date": "Tarehe ya Kukataliwa", "Rejected On": "Imekataliwa", @@ -2870,6 +2878,8 @@ "undefined": "haijafafanuliwa", "withhold tax for this account": "zuio la ushuru kwa akaunti hii", "Journal Entries": "{kichwa: Maingizo ya Jarida", + "Mandatory": "Lazima", + "Voluntary": "Kwa hiari", "“Maker-Checker” principle requires every tasks": "Kanuni ya \"Mtengenezaji-Kikagua\" inahitaji kila kazi kukamilishwa na watu wawili ili kupunguza uwezekano wa makosa na matumizi mabaya. Mtu mmoja anaanzisha mchakato na wa pili anakamilisha." }, "titles": {