diff --git a/src/app/core/http/error-handler.interceptor.ts b/src/app/core/http/error-handler.interceptor.ts index 2cf587dcf5..c054015a9f 100644 --- a/src/app/core/http/error-handler.interceptor.ts +++ b/src/app/core/http/error-handler.interceptor.ts @@ -32,6 +32,10 @@ const log = new Logger('ErrorHandlerInterceptor'); export class ErrorHandlerInterceptor implements HttpInterceptor { private alertService = inject(AlertService); private translate = inject(TranslateService); + private databaseErrorCodes: string[] = [ + 'error.msg.data.integrity.issue.entity.duplicated', + 'error.msg.data.integrity.issue' + ]; intercept(request: HttpRequest, next: HttpHandler): Observable> { return next.handle(request).pipe(catchError((error) => this.handleError(error, request))); @@ -88,12 +92,18 @@ export class ErrorHandlerInterceptor implements HttpInterceptor { : nestedMessage : topLevelMessage; let parameterName: string | null = null; - if (errorBody?.errors?.[0]) { - if (!nestedMessage) { - errorMessage = - errorBody.errors[0].defaultUserMessage?.replace(/\\./g, ' ') || - errorBody.errors[0].developerMessage?.replace(/\\./g, ' ') || - errorMessage; + if (response.error.errors) { + if (response.error.errors[0]) { + if ( + response.error.errors[0].userMessageGlobalisationCode && + this.databaseErrorCodes.indexOf(response.error.errors[0].userMessageGlobalisationCode) > -1 + ) { + errorMessage = this.translate.instant('errors.error.msg.data.integrity.issue'); + } else { + errorMessage = + response.error.errors[0].defaultUserMessage.replace(/\\./g, ' ') || + response.error.errors[0].developerMessage.replace(/\\./g, ' '); + } } if ('parameterName' in errorBody.errors[0]) { parameterName = errorBody.errors[0].parameterName; diff --git a/src/app/loans/create-loans-account/create-loans-account.component.ts b/src/app/loans/create-loans-account/create-loans-account.component.ts index 04c61e5d81..3db08b8c5f 100644 --- a/src/app/loans/create-loans-account/create-loans-account.component.ts +++ b/src/app/loans/create-loans-account/create-loans-account.component.ts @@ -123,6 +123,7 @@ export class CreateLoansAccountComponent extends LoanProductBaseComponent implem this.loansAccountProductTemplate = templateData.loanData; this.loansAccountProductTemplate.options = { breachOptions: templateData.breachOptions, + nearBreachOptions: templateData.nearBreachOptions, delinquencyBucketOptions: templateData.delinquencyBucketOptions, fundOptions: templateData.fundOptions, periodFrequencyTypeOptions: templateData.periodFrequencyTypeOptions, diff --git a/src/app/loans/edit-loans-account/edit-loans-account.component.ts b/src/app/loans/edit-loans-account/edit-loans-account.component.ts index 755c77c094..40499c83f1 100644 --- a/src/app/loans/edit-loans-account/edit-loans-account.component.ts +++ b/src/app/loans/edit-loans-account/edit-loans-account.component.ts @@ -108,6 +108,7 @@ export class EditLoansAccountComponent extends LoanProductBaseComponent { this.loansAccountProductTemplate = templateData.loanData; this.loansAccountProductTemplate.options = { breachOptions: templateData.breachOptions, + nearBreachOptions: templateData.nearBreachOptions, delinquencyBucketOptions: templateData.delinquencyBucketOptions, fundOptions: templateData.fundOptions, periodFrequencyTypeOptions: templateData.periodFrequencyTypeOptions, diff --git a/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.html b/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.html index 2c3397837f..85c08ae321 100644 --- a/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.html +++ b/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.html @@ -121,6 +121,24 @@

{{ 'labels.heading.Terms' | translate }} } + @if (loansAccount.breachId) { +
+ {{ 'labels.inputs.Breach' | translate }}: + +
+ } + + @if (loansAccount.nearBreachId) { +
+ {{ 'labels.inputs.Near Breach' | translate }}: + +
+ } +
{{ 'labels.inputs.Period Payment Rate' | translate }}: {{ loansAccount.periodPaymentRate | formatNumber }} % diff --git a/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.ts b/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.ts index 234ae23f8e..c53fc26c76 100644 --- a/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.ts +++ b/src/app/loans/loans-account-stepper/loans-account-preview-step/loans-account-preview-step.component.ts @@ -35,6 +35,8 @@ import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; import { LoanProductBaseComponent } from 'app/products/loan-products/common/loan-product-base.component'; import { LoanProductBasicDetails } from 'app/loans/models/loan-product.model'; import { LongTextComponent } from 'app/shared/long-text/long-text.component'; +import { Breach, NearBreach } from 'app/products/loan-products/models/loan-product.model'; +import { BreachDisplayComponent } from 'app/shared/loan/breach-display/breach-display.component'; /** * Create Loans Account Preview Step @@ -65,7 +67,8 @@ import { LongTextComponent } from 'app/shared/long-text/long-text.component'; FormatNumberPipe, YesnoPipe, TranslatePipe, - LongTextComponent + LongTextComponent, + BreachDisplayComponent ] }) export class LoansAccountPreviewStepComponent extends LoanProductBaseComponent implements OnChanges { @@ -155,4 +158,20 @@ export class LoansAccountPreviewStepComponent extends LoanProductBaseComponent i camalize(word: string) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } + + getBreach(breachId: number | null | undefined): Breach | null { + if (breachId === null || breachId === undefined) { + return null; + } + return this.loansAccountProductTemplate.options.breachOptions?.find((b: Breach) => b.id === breachId) || null; + } + + getNearBreach(nearBreachId: number | null | undefined): NearBreach | null { + if (nearBreachId === null || nearBreachId === undefined) { + return null; + } + return ( + this.loansAccountProductTemplate.options.nearBreachOptions?.find((b: NearBreach) => b.id === nearBreachId) || null + ); + } } diff --git a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html index 74cadb3037..ba0a069a77 100644 --- a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html +++ b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html @@ -106,7 +106,35 @@

} + @if (loansAccountTermsForm.controls.breachId) { + + } + + @if (loansAccountTermsForm.value.breachId) { + + {{ 'labels.inputs.Near Breach' | translate }} + + + @if (selectedNearBreach) { + + } + + @for (nearBreach of nearBreachOptions; track nearBreach) { + + + + } + + @if (loansAccountTermsForm.controls.nearBreachId) { + + } + + } } @if (loanProductService.isLoanProduct) { diff --git a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts index 8e426d27e4..c0b67a5e33 100644 --- a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts +++ b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts @@ -13,7 +13,7 @@ import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute } from '@angular/router'; import { LoansAccountAddCollateralDialogComponent } from 'app/loans/custom-dialog/loans-account-add-collateral-dialog/loans-account-add-collateral-dialog.component'; import { LoanProducts } from 'app/products/loan-products/loan-products'; -import { Breach, LoanProduct } from 'app/products/loan-products/models/loan-product.model'; +import { Breach, LoanProduct, NearBreach } from 'app/products/loan-products/models/loan-product.model'; import { SettingsService } from 'app/settings/settings.service'; import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component'; import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component'; @@ -178,6 +178,7 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp delinquencyStartTypeOptions: StringEnumOptionData[] = []; breachOptions: Breach[] = []; + nearBreachOptions: NearBreach[] = []; constructor() { super(); @@ -329,6 +330,7 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp this.termFrequencyTypeData = this.loansAccountTermsData.options?.periodFrequencyTypeOptions; this.delinquencyStartTypeOptions = this.loansAccountTermsData.options?.delinquencyStartTypeOptions; this.breachOptions = this.loansAccountTermsData.options?.breachOptions ?? []; + this.nearBreachOptions = this.loansAccountTermsData.options?.nearBreachOptions ?? []; if (this.loanId != null && 'accountNo' in this.loansAccountTemplate) { this.loansAccountTermsData = this.loansAccountTemplate; this.loansAccountTermsForm.patchValue({ @@ -340,7 +342,8 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp repaymentFrequencyType: this.loansAccountTermsData.repaymentFrequencyType?.id, delinquencyGraceDays: this.loansAccountTermsData.delinquencyGraceDays, delinquencyStartType: this.loansAccountTermsData.delinquencyStartType?.code, - breachId: this.loansAccountTermsData.breach?.id + breachId: this.loansAccountTermsData.breach?.id, + nearBreachId: this.loansAccountTermsData.nearBreach?.id }); } else { this.loansAccountTermsForm.patchValue({ @@ -348,7 +351,8 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp principalAmount: this.loansAccountTermsData.product.principal, delinquencyGraceDays: this.loansAccountTermsData.product.delinquencyGraceDays || '', delinquencyStartType: this.loansAccountTermsData.product.delinquencyStartType?.code || '', - breachId: this.loansAccountTermsData.product.breach?.id || '' + breachId: this.loansAccountTermsData.product.breach?.id || '', + nearBreachId: this.loansAccountTermsData.product.nearBreach?.id || '' }); } this.allowAttributeOverrides = this.loansAccountProductTemplate.product.allowAttributeOverrides; @@ -369,6 +373,7 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp } if (!this.allowAttributeOverrides.breach || this.allowAttributeOverrides.breach === false) { this.loansAccountTermsForm.controls.breachId.disable(); + this.loansAccountTermsForm.controls.nearBreachId.disable(); } } } @@ -466,7 +471,8 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp delinquencyStartType: this.loansAccountTermsData.delinquencyStartType?.id || this.loansAccountTermsData.product.delinquencyStartType?.id, - breachId: this.loansAccountTermsData.breach?.id || this.loansAccountTermsData.product.breach?.id + breachId: this.loansAccountTermsData.breach?.id || this.loansAccountTermsData.product.breach?.id, + nearBreachId: this.loansAccountTermsData.nearBreach?.id || this.loansAccountTermsData.product.nearBreach?.id }); } } @@ -731,7 +737,8 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp ] ], delinquencyStartType: [''], - breachId: [''] + breachId: [''], + nearBreachId: [''] }); } } @@ -927,4 +934,24 @@ export class LoansAccountTermsStepComponent extends LoanProductBaseComponent imp const id = this.loansAccountTermsForm.get('breachId')?.value; return this.breachOptions ? this.breachOptions.find((b) => b.id === id) : undefined; } + + get selectedNearBreach(): NearBreach | undefined { + const id = this.loansAccountTermsForm.get('nearBreachId')?.value; + return this.nearBreachOptions ? this.nearBreachOptions.find((b) => b.id === id) : undefined; + } + + clearProperty($event: Event, propertyName: string): void { + if (propertyName === 'breachId') { + this.loansAccountTermsForm.patchValue({ + breachId: '', + nearBreachId: '' + }); + } else if (propertyName === 'nearBreachId') { + this.loansAccountTermsForm.patchValue({ + nearBreachId: '' + }); + } + this.loansAccountTermsForm.markAsDirty(); + $event.stopPropagation(); + } } diff --git a/src/app/loans/loans-view/account-details/account-details.component.html b/src/app/loans/loans-view/account-details/account-details.component.html index ccf772bb31..18c9ac7893 100644 --- a/src/app/loans/loans-view/account-details/account-details.component.html +++ b/src/app/loans/loans-view/account-details/account-details.component.html @@ -60,6 +60,15 @@

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

} + + @if (loanDetails.nearBreach) { +
+ {{ 'labels.inputs.Near Breach' | translate }} + +
+ } } @if (loanProductService.isLoanProduct) { diff --git a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html index 31027a230b..79a24ec3a1 100644 --- a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html +++ b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html @@ -109,8 +109,18 @@

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

{{ 'labels.inputs.Breach' | translate }}: - +
+
+ {{ 'labels.inputs.Enable Near Breach' | translate }}: + {{ enableNearBreach() | yesNo }} +
+ @if (enableNearBreach()) { +
+ {{ 'labels.inputs.Near Breach' | translate }}: + +
+ } } @if (loanProductService.isLoanProduct) {
diff --git a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts index 5b63dea469..911bb8f47f 100644 --- a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts +++ b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts @@ -7,7 +7,7 @@ */ import { Component, Input, OnChanges, OnInit, SimpleChanges, inject } from '@angular/core'; -import { DelinquencyBucket, LoanProduct } from '../../models/loan-product.model'; +import { Breach, DelinquencyBucket, LoanProduct, NearBreach } from '../../models/loan-product.model'; import { AccountingMapping, Charge, @@ -538,6 +538,16 @@ export class LoanProductSummaryComponent extends LoanProductBaseComponent implem }; } } + + if (this.loanProductService.isWorkingCapital) { + /* + let optionValue: OptionData = this.optionDataLookUp( + this.loanProduct.nearBreach.frequencyType, + this.loanProductsTemplate.periodFrequencyTypeOptions + ); + this.loanProduct.nearBreachEvalFrequencyType = optionValue; + */ + } } } @@ -675,6 +685,10 @@ export class LoanProductSummaryComponent extends LoanProductBaseComponent implem ); } + enableNearBreach(): boolean { + return this.loanProductService.isWorkingCapital && this.getNearBreach() !== null; + } + getAccountingRuleName(value: string): string { return this.loanProductService.isWorkingCapital ? '' : this.accounting.getAccountRuleName(value.toUpperCase()); } @@ -682,4 +696,26 @@ export class LoanProductSummaryComponent extends LoanProductBaseComponent implem mapHumanReadableValueStringEnumOptionDataList(incomingParameter: StringEnumOptionData[]): string[] { return incomingParameter.map((v) => v.value); } + + getBreach(): Breach | null { + if (this.loanProduct.breach) { + return this.loanProduct.breach; + } + if (this.loanProduct.breachId === null || this.loanProduct.breachId === undefined) { + return null; + } + return this.loanProductsTemplate.breachOptions?.find((b: Breach) => b.id === this.loanProduct.breachId) || null; + } + + getNearBreach(): NearBreach | null { + if (this.loanProduct.nearBreach) { + return this.loanProduct.nearBreach; + } + if (this.loanProduct.nearBreachId === null || this.loanProduct.nearBreachId === undefined) { + return null; + } + return ( + this.loanProductsTemplate.nearBreachOptions?.find((b: Breach) => b.id === this.loanProduct.nearBreachId) || null + ); + } } diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html index 3db82b31b3..aa7a8584a2 100644 --- a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html +++ b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html @@ -93,6 +93,70 @@ } + + @if (loanProductSettingsForm.value.breachId) { + + {{ 'labels.inputs.Near Breach' | translate }} + + + @if (selectedNearBreach) { + + } + + @for (nearBreach of nearBreachOptions; track nearBreach) { + + + + } + + @if (loanProductSettingsForm.controls.nearBreachId) { + + } + + } + + @if (loanProductSettingsForm.value.enableNearBreach) { + + {{ 'labels.inputs.Near Breach Threshold' | translate }} % + + @if (loanProductSettingsForm.controls.nearBreachThreshold.hasError('required')) { + + {{ 'labels.inputs.Near Breach Threshold' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + + + + + + {{ 'labels.inputs.Near Breach Evaluation Frequency Type' | translate }} + + @for (nearBreachEvalFrequencyType of frequencyTypesOptions; track nearBreachEvalFrequencyType) { + + {{ nearBreachEvalFrequencyType.value | translateKey: 'catalogs' }} + + } + + + } } @else if (loanProductService.isLoanProduct) { {{ 'labels.inputs.products.loan.Amortization' | translate }} diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts index b42c698ff3..6956d0e229 100644 --- a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts +++ b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts @@ -21,9 +21,10 @@ import { FaIconComponent } from '@fortawesome/angular-fontawesome'; import { MatStepperPrevious, MatStepperNext } from '@angular/material/stepper'; import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; import { LoanProductBaseComponent } from '../../common/loan-product-base.component'; -import { Breach } from '../../models/loan-product.model'; +import { Breach, NearBreach } from '../../models/loan-product.model'; import { BreachDisplayComponent } from 'app/shared/loan/breach-display/breach-display.component'; import { MatSelectTrigger } from '@angular/material/select'; +import { InputPositiveIntegerComponent } from 'app/shared/input-positive-integer/input-positive-integer.component'; @Component({ selector: 'mifosx-loan-product-settings-step', @@ -39,7 +40,8 @@ import { MatSelectTrigger } from '@angular/material/select'; MatStepperPrevious, MatStepperNext, MatSelectTrigger, - BreachDisplayComponent + BreachDisplayComponent, + InputPositiveIntegerComponent ] }) export class LoanProductSettingsStepComponent extends LoanProductBaseComponent implements OnInit { @@ -87,6 +89,7 @@ export class LoanProductSettingsStepComponent extends LoanProductBaseComponent i delinquencyStartTypeOptions: StringEnumOptionData[] = []; breachOptions: Breach[] = []; + nearBreachOptions: NearBreach[] = []; frequencyTypesOptions: StringEnumOptionData[] = []; @@ -178,6 +181,7 @@ export class LoanProductSettingsStepComponent extends LoanProductBaseComponent i if (this.loanProductService.isWorkingCapital) { this.frequencyTypesOptions = this.loanProductsTemplate.periodFrequencyTypeOptions ?? []; this.breachOptions = this.loanProductsTemplate.breachOptions ?? []; + this.nearBreachOptions = this.loanProductsTemplate.nearBreachOptions ?? []; this.delinquencyStartTypeOptions = this.loanProductsTemplate.delinquencyStartTypeOptions; this.loanProductSettingsForm.patchValue({ amortizationType: this.loanProductsTemplate.amortizationType @@ -188,7 +192,8 @@ export class LoanProductSettingsStepComponent extends LoanProductBaseComponent i delinquencyStartType: this.loanProductsTemplate.delinquencyStartType ? this.loanProductsTemplate.delinquencyStartType.id : null, - breachId: this.loanProductsTemplate.breach?.id ?? null + breachId: this.loanProductsTemplate.breach?.id ?? null, + nearBreachId: this.loanProductsTemplate.nearBreach?.id ?? null }); } @@ -459,7 +464,8 @@ export class LoanProductSettingsStepComponent extends LoanProductBaseComponent i ] ], delinquencyStartType: [''], - breachId: [''] + breachId: [''], + nearBreachId: [''] }); } } @@ -921,6 +927,15 @@ export class LoanProductSettingsStepComponent extends LoanProductBaseComponent i delinquencyBucketId: '' }); } + } else if (propertyName === 'breachId') { + this.loanProductSettingsForm.patchValue({ + breachId: '', + nearBreachId: '' + }); + } else if (propertyName === 'nearBreachId') { + this.loanProductSettingsForm.patchValue({ + nearBreachId: '' + }); } this.loanProductSettingsForm.markAsDirty(); $event.stopPropagation(); @@ -931,6 +946,11 @@ export class LoanProductSettingsStepComponent extends LoanProductBaseComponent i return this.breachOptions ? this.breachOptions.find((b) => b.id === id) : undefined; } + get selectedNearBreach(): NearBreach | undefined { + const id = this.loanProductSettingsForm.get('nearBreachId')?.value; + return id ? (this.nearBreachOptions ? this.nearBreachOptions.find((b) => b.id === id) : undefined) : undefined; + } + get loanProductSettings() { const productSettings = this.loanProductSettingsForm.value; if (this.loanProductSettingsForm.value.useDueForRepaymentsConfigurations) { diff --git a/src/app/products/loan-products/models/loan-product.model.ts b/src/app/products/loan-products/models/loan-product.model.ts index 78e3341365..4d9487fcb1 100644 --- a/src/app/products/loan-products/models/loan-product.model.ts +++ b/src/app/products/loan-products/models/loan-product.model.ts @@ -186,6 +186,12 @@ export interface LoanProduct { buydownFeeClassificationToIncomeAccountMappings?: ClassificationToIncomeAccountMapping[]; capitalizedIncomeClassificationToIncomeAccountMappings?: ClassificationToIncomeAccountMapping[]; writeOffReasonsToExpenseMappings?: ChargeOffReasonToExpenseAccountMapping[]; + + // Working Capital attributes + breach?: Breach; + breachId?: number; + nearBreach?: NearBreach; + nearBreachId?: number; } export interface AllowAttributeOverrides { @@ -240,8 +246,17 @@ export interface AccountingMappingDTO { export interface Breach { id: number; + name: string; breachFrequency: number; breachFrequencyType: StringEnumOptionData; breachAmountCalculationType: StringEnumOptionData; breachAmount: number; } + +export interface NearBreach { + id: number; + name: string; + frequency: number; + frequencyType: StringEnumOptionData; + threshold: number; +} diff --git a/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.html b/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.html index db0d5751b3..5ba932794f 100644 --- a/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.html +++ b/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.html @@ -33,14 +33,17 @@ {{ breach.id }} - - {{ 'labels.inputs.Frequency' | translate }} - {{ breach.breachFrequency | formatNumber: '' : 0 }} + + {{ 'labels.inputs.Name' | translate }} + {{ breach.name }} - - {{ 'labels.inputs.Frequency Type' | translate }} - {{ breach.breachFrequencyType.code | translateKey: 'catalogs' }} + + {{ 'labels.inputs.Frequency' | translate }} + + {{ breach.breachFrequency | formatNumber: '' : 0 }} + {{ breach.breachFrequencyType.code | translateKey: 'catalogs' }} + diff --git a/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.ts b/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.ts index ce064e8263..f34d86635d 100644 --- a/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.ts +++ b/src/app/products/loan-products/working-capital/breach-configuration/breach-configuration.component.ts @@ -64,8 +64,8 @@ export class BreachConfigurationComponent implements OnInit { /** Columns to be displayed in breaches table. */ displayedColumns: string[] = [ 'id', + 'name', 'breachFrequency', - 'breachFrequencyType', 'breachAmountCalculationType', 'breachAmount', 'actions' @@ -88,6 +88,7 @@ export class BreachConfigurationComponent implements OnInit { this.dataSource.filterPredicate = (data: Breach, filter: string) => [ data.id, + data.name, data.breachFrequency, data.breachFrequencyType?.code, data.breachAmountCalculationType?.code, diff --git a/src/app/products/loan-products/working-capital/breach-configuration/create-breach-configuration/create-breach-configuration.component.html b/src/app/products/loan-products/working-capital/breach-configuration/create-breach-configuration/create-breach-configuration.component.html index 76e1af5f23..60a6870a19 100644 --- a/src/app/products/loan-products/working-capital/breach-configuration/create-breach-configuration/create-breach-configuration.component.html +++ b/src/app/products/loan-products/working-capital/breach-configuration/create-breach-configuration/create-breach-configuration.component.html @@ -11,6 +11,16 @@
+ + {{ 'labels.inputs.Name' | translate }} + + @if (breachForm.controls.name.hasError('required')) { + + {{ 'labels.inputs.Name' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } +
+ + {{ 'labels.inputs.Name' | translate }} + + @if (breachForm.controls.name.hasError('required')) { + + {{ 'labels.inputs.Name' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + +
+ {{ 'labels.inputs.Name' | translate }} +
+ +
+ {{ breachData.name }} +
+
{{ 'labels.inputs.Frequency' | translate }}
diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.html b/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.html new file mode 100644 index 0000000000..2ff73a99ae --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.html @@ -0,0 +1,90 @@ + + +
+ + + +
+ + {{ 'labels.inputs.Name' | translate }} + + @if (nearBreachForm.controls.nearBreachName.hasError('required')) { + + {{ 'labels.inputs.Name' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + + + + {{ 'labels.inputs.Frequency Type' | translate }} + + @for (frequencyType of frequencyTypeOptions; track frequencyType) { + + {{ frequencyType.code | translateKey: 'catalogs' }} + + } + + @if (nearBreachForm.controls.nearBreachFrequencyType.hasError('required')) { + + {{ 'labels.inputs.Frequency Type' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + + + {{ 'labels.inputs.Threshold' | translate }} + + @if (nearBreachForm.controls.nearBreachThreshold.hasError('required')) { + + {{ 'labels.inputs.Threshold' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + @if (nearBreachForm.controls.nearBreachThreshold.hasError('max')) { + + {{ 'labels.inputs.Threshold' | translate }} {{ 'labels.commons.can not be more than' | translate }} + {{ maxThreshold }} + + } + +
+
+ + + + + + +
+
diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.scss b/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.scss new file mode 100644 index 0000000000..6bc83464d4 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.scss @@ -0,0 +1,18 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +.container { + max-width: 37rem; + + .content { + div { + margin: 1rem 0; + overflow-wrap: break-word; + } + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.ts b/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.ts new file mode 100644 index 0000000000..f54f3c7231 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component.ts @@ -0,0 +1,89 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +import { Component, inject, OnInit } from '@angular/core'; +import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; +import { ProductsService } from 'app/products/products.service'; +import { StringEnumOptionData } from 'app/shared/models/option-data.model'; +import { amountValueValidator } from 'app/shared/validators/amount-value.validator'; +import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; +import { Router } from '@angular/router'; +import { InputPositiveIntegerComponent } from 'app/shared/input-positive-integer/input-positive-integer.component'; +import { ErrorHandlerService } from 'app/core/error-handler/error-handler.service'; +import { catchError } from 'rxjs'; + +@Component({ + selector: 'mifosx-create-near-breach-configuration', + templateUrl: './create-near-breach-configuration.component.html', + styleUrl: './create-near-breach-configuration.component.scss', + standalone: true, + imports: [ + ...STANDALONE_SHARED_IMPORTS, + InputPositiveIntegerComponent + ] +}) +export class CreateNearBreachConfigurationComponent implements OnInit { + private route = inject(ActivatedRoute); + private router = inject(Router); + private formBuilder = inject(UntypedFormBuilder); + private productsService = inject(ProductsService); + private errorHandler = inject(ErrorHandlerService); + + nearBreachForm: UntypedFormGroup; + frequencyTypeOptions: StringEnumOptionData[] = []; + maxThreshold: number = 100.0; + + constructor() { + this.route.data.subscribe((data: { breachTemplate?: any }) => { + const breachTemplate = data.breachTemplate ?? {}; + this.frequencyTypeOptions = breachTemplate.breachFrequencyTypeOptions || []; + }); + } + + ngOnInit(): void { + this.nearBreachForm = this.formBuilder.group({ + nearBreachName: [ + '', + [ + Validators.required + ] + ], + nearBreachFrequency: [ + '', + [ + Validators.required + ] + ], + nearBreachFrequencyType: [ + '', + Validators.required + ], + nearBreachThreshold: [ + '', + [ + amountValueValidator(), + Validators.required, + Validators.min(0), + Validators.max(this.maxThreshold) + ] + ] + }); + } + + submit(): void { + const payload = this.nearBreachForm.getRawValue(); + this.productsService + .createWrokingCapitalNearBreach(payload) + .pipe(catchError((error) => this.errorHandler.handleError(error, 'Near Breach Configuration Creation'))) + .subscribe({ + next: () => { + this.router.navigate(['../'], { relativeTo: this.route }); + } + }); + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.html b/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.html new file mode 100644 index 0000000000..fa3bf04b1a --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.html @@ -0,0 +1,90 @@ + + +
+ +
+ +
+ + {{ 'labels.inputs.Name' | translate }} + + @if (nearBreachForm.controls.nearBreachName.hasError('required')) { + + {{ 'labels.inputs.Name' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + + + + {{ 'labels.inputs.Frequency Type' | translate }} + + @for (frequencyType of frequencyTypeOptions; track frequencyType) { + + {{ frequencyType.code | translateKey: 'catalogs' }} + + } + + @if (nearBreachForm.controls.nearBreachFrequencyType.hasError('required')) { + + {{ 'labels.inputs.Frequency Type' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + + + {{ 'labels.inputs.Threshold' | translate }} + + @if (nearBreachForm.controls.nearBreachThreshold.hasError('required')) { + + {{ 'labels.inputs.Threshold' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + } + @if (nearBreachForm.controls.nearBreachThreshold.hasError('max')) { + + {{ 'labels.inputs.Threshold' | translate }} {{ 'labels.commons.can not be more than' | translate }} + {{ maxThreshold }} + + } + +
+
+ + + + + +
+
+
diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.scss b/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.scss new file mode 100644 index 0000000000..6bc83464d4 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.scss @@ -0,0 +1,18 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +.container { + max-width: 37rem; + + .content { + div { + margin: 1rem 0; + overflow-wrap: break-word; + } + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.ts b/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.ts new file mode 100644 index 0000000000..f687132445 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component.ts @@ -0,0 +1,90 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +import { Component, inject, OnInit } from '@angular/core'; +import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; +import { ProductsService } from 'app/products/products.service'; +import { StringEnumOptionData } from 'app/shared/models/option-data.model'; +import { amountValueValidator } from 'app/shared/validators/amount-value.validator'; +import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; +import { Router } from '@angular/router'; +import { NearBreach } from 'app/products/loan-products/models/loan-product.model'; +import { InputPositiveIntegerComponent } from 'app/shared/input-positive-integer/input-positive-integer.component'; + +@Component({ + selector: 'mifosx-edit-near-breach-configuration', + templateUrl: './edit-near-breach-configuration.component.html', + styleUrl: './edit-near-breach-configuration.component.scss', + imports: [ + ...STANDALONE_SHARED_IMPORTS, + InputPositiveIntegerComponent + ] +}) +export class EditNearBreachConfigurationComponent implements OnInit { + private route = inject(ActivatedRoute); + private router = inject(Router); + private formBuilder = inject(UntypedFormBuilder); + private productsService = inject(ProductsService); + + nearBreachForm: UntypedFormGroup; + + nearBreachData: NearBreach | null = null; + frequencyTypeOptions: StringEnumOptionData[] = []; + maxThreshold: number = 100.0; + + ngOnInit(): void { + this.route.data.subscribe((data: { nearBreachData: NearBreach; breachTemplate: any }) => { + this.nearBreachData = data.nearBreachData; + console.log(this.nearBreachData); + this.frequencyTypeOptions = data.breachTemplate.breachFrequencyTypeOptions || []; + this.initForm(); + }); + } + + private initForm(): void { + this.nearBreachForm = this.formBuilder.group({ + nearBreachName: [ + this.nearBreachData!.name, + [ + Validators.required + ] + ], + nearBreachFrequency: [ + this.nearBreachData!.frequency, + [ + Validators.required + ] + ], + nearBreachFrequencyType: [ + this.nearBreachData!.frequencyType.code, + Validators.required + ], + nearBreachThreshold: [ + this.nearBreachData!.threshold, + [ + amountValueValidator(), + Validators.required, + Validators.min(0), + Validators.max(this.maxThreshold) + ] + ] + }); + } + + submit(): void { + const payload = this.nearBreachForm.getRawValue(); + this.productsService.updateWrokingCapitalNearBreach(this.nearBreachData.id, payload).subscribe({ + next: () => { + this.router.navigate(['../'], { relativeTo: this.route }); + }, + error: (err) => { + console.error('Failed to update near breach configuration', err); + } + }); + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.html b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.html new file mode 100644 index 0000000000..526008b191 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.html @@ -0,0 +1,78 @@ + + +
+ +
+ +
+
+ + {{ 'labels.inputs.Filter' | translate }} + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{ 'labels.inputs.Id' | translate }}{{ nearBreach.id }}{{ 'labels.inputs.Name' | translate }}{{ nearBreach.name }}{{ 'labels.inputs.Frequency' | translate }} + {{ nearBreach.frequency | formatNumber: '' : 0 }} + {{ nearBreach.frequencyType.code | translateKey: 'catalogs' }} + {{ 'labels.inputs.Percentage' | translate }}{{ nearBreach.threshold | formatNumber }} %{{ 'labels.inputs.Actions' | translate }} + + + +
+ + +
+
diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.scss b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.scss new file mode 100644 index 0000000000..cad8e912d6 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.scss @@ -0,0 +1,28 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +table { + width: 100%; + + .select-row:hover { + cursor: pointer; + } +} + +.form-container { + display: flex; + flex-direction: row; + gap: 2%; +} + +.account-action-button { + min-width: 1.625rem; + padding: 0 0.375rem; + margin: 0.25rem; + line-height: 1.5625rem; +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.ts b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.ts new file mode 100644 index 0000000000..94b41800ca --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-configuration.component.ts @@ -0,0 +1,122 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +import { Component, inject, OnInit, ViewChild } from '@angular/core'; +import { MatPaginator } from '@angular/material/paginator'; +import { MatSort, MatSortHeader } from '@angular/material/sort'; +import { + MatTableDataSource, + MatTable, + MatColumnDef, + MatHeaderCellDef, + MatHeaderCell, + MatCellDef, + MatCell, + MatHeaderRowDef, + MatHeaderRow, + MatRowDef, + MatRow +} from '@angular/material/table'; +import { MatTooltip } from '@angular/material/tooltip'; +import { ActivatedRoute } from '@angular/router'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; +import { NearBreach } from '../../models/loan-product.model'; +import { FormatNumberPipe } from '@pipes/format-number.pipe'; +import { ProductsService } from 'app/products/products.service'; +import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component'; +import { MatDialog } from '@angular/material/dialog'; + +@Component({ + selector: 'mifosx-near-breach-configuration', + templateUrl: './near-breach-configuration.component.html', + styleUrl: './near-breach-configuration.component.scss', + standalone: true, + imports: [ + ...STANDALONE_SHARED_IMPORTS, + FaIconComponent, + MatTable, + MatSort, + MatColumnDef, + MatHeaderCellDef, + MatHeaderCell, + MatSortHeader, + MatCellDef, + MatCell, + MatHeaderRowDef, + MatHeaderRow, + MatRowDef, + MatRow, + MatPaginator, + FormatNumberPipe + ] +}) +export class NearBreachConfigurationComponent implements OnInit { + private route = inject(ActivatedRoute); + private productsService = inject(ProductsService); + private dialog = inject(MatDialog); + + nearBreachesData: NearBreach[] = []; + /** Columns to be displayed in near breaches table. */ + displayedColumns: string[] = [ + 'id', + 'name', + 'frequency', + 'threshold', + 'actions' + ]; + /** Data source for near breaches table. */ + dataSource: MatTableDataSource; + /** Paginator for near breaches table. */ + @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator; + /** Sorter for near breaches table. */ + @ViewChild(MatSort, { static: true }) sort: MatSort; + + constructor() { + this.route.data.subscribe((data: { nearBreaches: NearBreach[] }) => { + this.nearBreachesData = data.nearBreaches ?? []; + }); + } + + ngOnInit(): void { + this.dataSource = new MatTableDataSource(this.nearBreachesData); + this.dataSource.filterPredicate = (data: NearBreach, filter: string) => + [ + data.id, + data.name, + data.frequency, + data.frequencyType?.code, + data.threshold + ] + .join(' ') + .toLowerCase() + .includes(filter); + this.dataSource.paginator = this.paginator; + this.dataSource.sort = this.sort; + } + + applyFilter(filterValue: string) { + this.dataSource.filter = filterValue.trim().toLowerCase(); + this.dataSource.paginator?.firstPage(); + } + + delete(item: NearBreach): void { + const deleteDataTableDialogRef = this.dialog.open(DeleteDialogComponent, { + data: { deleteContext: ` the item of ${item.id}` } + }); + deleteDataTableDialogRef.afterClosed().subscribe((response: any) => { + if (response?.delete) { + this.productsService.deleteWrokingCapitalNearBreach(item.id).subscribe(() => { + this.productsService.getWorkingCapitalNearBreaches().subscribe((nearBreachesData: NearBreach[]) => { + this.nearBreachesData = nearBreachesData; + this.dataSource = new MatTableDataSource(this.nearBreachesData); + }); + }); + } + }); + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-template.resolver.ts b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-template.resolver.ts new file mode 100644 index 0000000000..2180e4f689 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach-template.resolver.ts @@ -0,0 +1,30 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +/** Angular Imports */ +import { Injectable, inject } from '@angular/core'; +import { ProductsService } from 'app/products/products.service'; + +/** rxjs Imports */ +import { Observable } from 'rxjs'; + +/** + * Near Breaches data resolver. + */ +@Injectable() +export class NearBreachTemplateResolver { + private productsService = inject(ProductsService); + + /** + * Returns the Near Breach Template data. + * @returns {Observable} + */ + resolve(): Observable { + return this.productsService.getWorkingCapitalBreachTemplate(); + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach.resolver.ts b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach.resolver.ts new file mode 100644 index 0000000000..4c5213064f --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breach.resolver.ts @@ -0,0 +1,31 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +import { inject, Injectable } from '@angular/core'; +import { ActivatedRouteSnapshot } from '@angular/router'; +import { ProductsService } from 'app/products/products.service'; +import { Observable } from 'rxjs'; + +/** + * Near Breaches data resolver. + */ +@Injectable() +export class NearBreachResolver { + private productsService = inject(ProductsService); + + /** + * Returns the Near Breach data. + * @returns {Observable} + */ + resolve(route: ActivatedRouteSnapshot): Observable { + const nearBreachId = route.parent?.paramMap.get('id'); + if (nearBreachId) { + return this.productsService.getWorkingCapitalNearBreach(nearBreachId); + } + throw new Error('Near Breach ID is required to fetch the breach data.'); + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/near-breaches.resolver.ts b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breaches.resolver.ts new file mode 100644 index 0000000000..3930549c4f --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/near-breaches.resolver.ts @@ -0,0 +1,30 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +/** Angular Imports */ +import { Injectable, inject } from '@angular/core'; +import { ProductsService } from 'app/products/products.service'; + +/** rxjs Imports */ +import { Observable } from 'rxjs'; + +/** + * Near Breaches data resolver. + */ +@Injectable() +export class NearBreachesResolver { + private productsService = inject(ProductsService); + + /** + * Returns the Near Breaches data. + * @returns {Observable} + */ + resolve(): Observable { + return this.productsService.getWorkingCapitalNearBreaches(); + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.html b/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.html new file mode 100644 index 0000000000..1c632b5118 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.html @@ -0,0 +1,73 @@ + + +
+ +
+ +
+ + + @if (nearBreachData) { +
+
+ {{ 'labels.inputs.Id' | translate }} +
+ +
+ {{ nearBreachData.id }} +
+ +
+ {{ 'labels.inputs.Name' | translate }} +
+ +
+ {{ nearBreachData.name }} +
+ +
+ {{ 'labels.inputs.Frequency' | translate }} +
+ +
+ {{ nearBreachData.frequency | formatNumber: '' : 0 }} +
+ +
+ {{ 'labels.inputs.Frequency Type' | translate }} +
+ +
+ {{ nearBreachData.frequencyType.code | translateKey: 'catalogs' }} +
+ +
+ {{ 'labels.inputs.Threshold' | translate }} +
+ +
{{ nearBreachData.threshold | formatNumber }} %
+
+ +
+ +
+ } +
+
+
diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.scss b/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.scss new file mode 100644 index 0000000000..6bc83464d4 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.scss @@ -0,0 +1,18 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +.container { + max-width: 37rem; + + .content { + div { + margin: 1rem 0; + overflow-wrap: break-word; + } + } +} diff --git a/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.ts b/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.ts new file mode 100644 index 0000000000..578b315262 --- /dev/null +++ b/src/app/products/loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component.ts @@ -0,0 +1,38 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +import { Component, inject, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { FormatNumberPipe } from '@pipes/format-number.pipe'; +import { NearBreach } from 'app/products/loan-products/models/loan-product.model'; +import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; + +@Component({ + selector: 'mifosx-view-near-breach-configuration', + templateUrl: './view-near-breach-configuration.component.html', + styleUrl: './view-near-breach-configuration.component.scss', + standalone: true, + imports: [ + ...STANDALONE_SHARED_IMPORTS, + FaIconComponent, + FormatNumberPipe + ] +}) +export class ViewNearBreachConfigurationComponent implements OnInit { + private route = inject(ActivatedRoute); + + nearBreachData: NearBreach | null = null; + + constructor() {} + + ngOnInit(): void { + this.route.data.subscribe((data: { nearBreachData: any }) => { + this.nearBreachData = data.nearBreachData; + }); + } +} diff --git a/src/app/products/products-routing.module.ts b/src/app/products/products-routing.module.ts index 5a14288067..ce6b4cdba6 100644 --- a/src/app/products/products-routing.module.ts +++ b/src/app/products/products-routing.module.ts @@ -141,6 +141,13 @@ import { ViewBreachConfigurationComponent } from './loan-products/working-capita import { CreateBreachConfigurationComponent } from './loan-products/working-capital/breach-configuration/create-breach-configuration/create-breach-configuration.component'; import { BreachTemplateResolver } from './loan-products/working-capital/breach-configuration/breach-template.resolver'; import { EditBreachConfigurationComponent } from './loan-products/working-capital/breach-configuration/edit-breach-configuration/edit-breach-configuration.component'; +import { NearBreachConfigurationComponent } from './loan-products/working-capital/near-breach-configuration/near-breach-configuration.component'; +import { NearBreachesResolver } from './loan-products/working-capital/near-breach-configuration/near-breaches.resolver'; +import { CreateNearBreachConfigurationComponent } from './loan-products/working-capital/near-breach-configuration/create-near-breach-configuration/create-near-breach-configuration.component'; +import { NearBreachTemplateResolver } from './loan-products/working-capital/near-breach-configuration/near-breach-template.resolver'; +import { ViewNearBreachConfigurationComponent } from './loan-products/working-capital/near-breach-configuration/view-near-breach-configuration/view-near-breach-configuration.component'; +import { NearBreachResolver } from './loan-products/working-capital/near-breach-configuration/near-breach.resolver'; +import { EditNearBreachConfigurationComponent } from './loan-products/working-capital/near-breach-configuration/edit-near-breach-configuration/edit-near-breach-configuration.component'; /** Products Routes */ const routes: Routes = [ @@ -939,6 +946,49 @@ const routes: Routes = [ ] } ] + }, + { + path: 'near-breach-configurations', + data: { title: 'Near Breach Configurations', breadcrumb: 'Near Breach Configurations' }, + children: [ + { + path: '', + component: NearBreachConfigurationComponent, + resolve: { + nearBreaches: NearBreachesResolver + } + }, + { + path: 'create', + component: CreateNearBreachConfigurationComponent, + data: { title: 'Create Near Breach', breadcrumb: 'Create' }, + resolve: { + breachTemplate: BreachTemplateResolver + } + }, + { + path: ':id', + data: { title: 'View Near Breach', routeParamBreadcrumb: 'id' }, + children: [ + { + path: '', + component: ViewNearBreachConfigurationComponent, + resolve: { + nearBreachData: NearBreachResolver + } + }, + { + path: 'edit', + component: EditNearBreachConfigurationComponent, + data: { title: 'Edit Near Breach', breadcrumb: 'Edit', routeParamBreadcrumb: false }, + resolve: { + nearBreachData: NearBreachResolver, + breachTemplate: BreachTemplateResolver + } + } + ] + } + ] } ] } @@ -1001,7 +1051,9 @@ const routes: Routes = [ DelinquencyBucketComponentsResolver, BreachTemplateResolver, BreachesResolver, - BreachResolver + BreachResolver, + NearBreachesResolver, + NearBreachResolver ] }) export class ProductsRoutingModule {} diff --git a/src/app/products/products.component.html b/src/app/products/products.component.html index 721e544014..0564914b67 100644 --- a/src/app/products/products.component.html +++ b/src/app/products/products.component.html @@ -233,6 +233,43 @@
+ + + +
diff --git a/src/app/products/products.component.ts b/src/app/products/products.component.ts index f39a9e33ae..a5edf8f51b 100644 --- a/src/app/products/products.component.ts +++ b/src/app/products/products.component.ts @@ -64,8 +64,8 @@ export class ProductsComponent implements AfterViewInit { @ViewChild('recurringDepositProducts') recurringDepositProducts: ElementRef; /* Template for popover on recurring deposit products */ @ViewChild('templateRecurringDepositProducts') templateRecurringDepositProducts: TemplateRef; - // Initialize an array of 11 boolean values, all set to false - arrowBooleans: boolean[] = new Array(12).fill(false); + // Initialize an array of 13 boolean values, all set to false + arrowBooleans: boolean[] = new Array(13).fill(false); /** * To show popover. diff --git a/src/app/products/products.service.ts b/src/app/products/products.service.ts index 8094109181..d2c3f02da6 100644 --- a/src/app/products/products.service.ts +++ b/src/app/products/products.service.ts @@ -650,4 +650,39 @@ export class ProductsService { deleteWrokingCapitalBreach(breachId: number): Observable { return this.http.delete(`/working-capital/breach/breaches/${breachId}`); } + + /** + * @returns {Observable} Working Capital Near Breaches data. + */ + getWorkingCapitalNearBreaches(): Observable { + return this.http.get('/working-capital/near-breach'); + } + + /** + * @returns {Observable} Working Capital Near Breach data. + */ + getWorkingCapitalNearBreach(nearBreachId: string): Observable { + return this.http.get(`/working-capital/near-breach/${nearBreachId}`); + } + + /** + * @returns {Observable} Working Capital Near Breach creation. + */ + createWrokingCapitalNearBreach(payload: any): Observable { + return this.http.post(`/working-capital/near-breach`, payload); + } + + /** + * @returns {Observable} Working Capital Near Breach update. + */ + updateWrokingCapitalNearBreach(nearBreachId: number, payload: any): Observable { + return this.http.put(`/working-capital/near-breach/${nearBreachId}`, payload); + } + + /** + * @returns {Observable} Working Capital NearBreach delete. + */ + deleteWrokingCapitalNearBreach(nearBreachId: number): Observable { + return this.http.delete(`/working-capital/near-breach/${nearBreachId}`); + } } diff --git a/src/app/shared/icons.module.ts b/src/app/shared/icons.module.ts index f3ccebbcf9..1a3a66ef7e 100644 --- a/src/app/shared/icons.module.ts +++ b/src/app/shared/icons.module.ts @@ -142,7 +142,8 @@ import { faNotEqual, faPercent, faMoneyCheckDollar, - faSackDollar + faSackDollar, + faCheckDouble } from '@fortawesome/free-solid-svg-icons'; /** @@ -178,6 +179,7 @@ export class IconsModule { faChartBar, faCheck, faCheckCircle, + faCheckDouble, faChevronDown, faChevronLeft, faChevronRight, diff --git a/src/app/shared/input-positive-integer/input-positive-integer.component.html b/src/app/shared/input-positive-integer/input-positive-integer.component.html index 8edab922ae..02dfadea20 100644 --- a/src/app/shared/input-positive-integer/input-positive-integer.component.html +++ b/src/app/shared/input-positive-integer/input-positive-integer.component.html @@ -10,7 +10,6 @@ {{ 'labels.inputs.' + inputLabel | translate }} {{ 'labels.inputs.' + inputLabel | translate }} + + {{ breach.name }} + {{ breach.breachFrequency | formatNumber: '' : 0 }} {{ breach.breachFrequencyType.code | translateKey: 'catalogs' }} @@ -23,6 +26,10 @@ } @if (!singleRow) {
+
+ {{ 'labels.inputs.Breach' | translate }}: + {{ breach.name }} +
{{ 'labels.inputs.Frequency' | translate }}: } } + +@if (nearBreach) { + @if (singleRow) { +
+ + {{ nearBreach.name }} + + + {{ nearBreach.frequency | formatNumber: '' : 0 }} + {{ nearBreach.frequencyType.code | translateKey: 'catalogs' }} + + {{ nearBreach.threshold | formatNumber }} % +
+ } + @if (!singleRow) { +
+
+ {{ 'labels.inputs.Near Breach' | translate }}: + {{ nearBreach.name }} +
+
+ {{ 'labels.inputs.Frequency' | translate }}: + {{ nearBreach.frequency | formatNumber: '' : 0 }} + {{ nearBreach.frequencyType.code | translateKey: 'catalogs' }} +
+
+ {{ 'labels.inputs.Threshold' | translate }}: + {{ nearBreach.threshold | formatNumber }} % +
+
+ } +} diff --git a/src/app/shared/loan/breach-display/breach-display.component.ts b/src/app/shared/loan/breach-display/breach-display.component.ts index 0aba32bada..2e7d49288e 100644 --- a/src/app/shared/loan/breach-display/breach-display.component.ts +++ b/src/app/shared/loan/breach-display/breach-display.component.ts @@ -9,7 +9,7 @@ import { Component, Input } from '@angular/core'; import { FormatNumberPipe } from '@pipes/format-number.pipe'; import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module'; -import { Breach } from 'app/products/loan-products/models/loan-product.model'; +import { Breach, NearBreach } from 'app/products/loan-products/models/loan-product.model'; @Component({ selector: 'mifosx-breach-display', @@ -22,6 +22,7 @@ import { Breach } from 'app/products/loan-products/models/loan-product.model'; }) export class BreachDisplayComponent { @Input() breach: Breach | null = null; + @Input() nearBreach: NearBreach | null = null; @Input() singleRow: boolean = false; camalize(word: string) { diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json index 15982d8f54..b7b0dedaa5 100644 --- a/src/assets/translations/cs-CS.json +++ b/src/assets/translations/cs-CS.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "Poplatek nelze nastavit jako pokutu splatnou při výplatě.", "error.msg.charge.duplicate.name": "Poplatek s tímto jménem již existuje.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "Aktualizace poplatků se vztahuje na není podporována.", + "error.msg.data.integrity.issue": "Požadavek způsobil problém s integritou dat v databázi", "error.msg.loan.product.close.date.cannot.be.before.start.date": "Datum uzavření úvěrového produktu nemůže předcházet datu zahájení.", "error.msg.product.loan.duplicate.charge": "Úvěrový produkt může mít od každého typu pouze jeden poplatek.", "error.msg.product.loan.duplicate.name": "Úvěrový produkt s názvem `{{params[0].value}}` již existuje.", @@ -1048,6 +1049,8 @@ "are": "jsou", "be larger than 0 and at most 100": "být větší než 0 a maximálně 100", "begin with a special character or number": "začínají speciálním znakem nebo číslem", + "can not be less than": "nemůže být méně než", + "can not be more than": "nemůže být více než", "cannot begin with a special character or number": "nemůže začínat speciálním znakem nebo číslem", "decimal places": "desetinná místa", "do not match": "neshodují", @@ -1347,6 +1350,7 @@ "Minimum Active Period": "Minimální aktivní období", "Minimum Deposit Term": "Minimální doba vkladu", "Moratorium": "Moratorium", + "Near Breach Configuration": "Konfigurace téměř porušení", "Nominal Interest Rate by loan cycle": "Nominální úroková sazba podle úvěrového cyklu", "Notes": "Poznámky", "Notification External Service": "Oznámení externí služba", @@ -1539,7 +1543,8 @@ "Payout Assignment": "Přiřazení výplaty", "Identification": "Identifikace", "Professional Information": "Profesní informace", - "Add Profile Entry": "Přidat záznam profilu" + "Add Profile Entry": "Přidat záznam profilu", + "Recipient Summary": "Přehled příjemce" }, "inputs": { "Loan Account Status": "Stav úvěrového účtu", @@ -2368,6 +2373,7 @@ "Name": "název", "Name Decorated": "Jméno vyzdobeno", "Name of the Organization": "Název organizace", + "Near Breach": "Blížící se porušení", "Near Breach Evaluation Frequency": "Frekvence vyhodnocení blížícího se porušení", "Near Breach Evaluation Frequency Type": "Typ frekvence vyhodnocení blížícího se porušení", "Near Breach Threshold": "Práh blížícího se porušení", @@ -2776,6 +2782,7 @@ "Text": "Text", "Theme": "Téma", "Theme and Font": "Motiv a písmo", + "Threshold": "Prahová hodnota", "Thursday": "Čtvrtek", "Time": "Čas", "To": "Na", @@ -2994,7 +3001,44 @@ "Period Payment Frequency Type": "Typ frekvence plateb v období", "Payment Allocation Transactions": "Transakce alokace plateb", "Net Present Value day count": "Počet dní čisté současné hodnoty", - "Installment": "Splátka" + "Installment": "Splátka", + "Beneficiary Selection": "Výběr příjemce", + "Confirmation Number": "Číslo potvrzení", + "Sub Status": "Podstav", + "Document": "Dokument", + "Document Number": "Číslo dokumentu", + "Document number is required": "Číslo dokumentu je povinné", + "Allow full term for each tranche": "Povolit plnou dobu pro každou tranši", + "Failed to load vendors": "Načtení dodavatelů se nezdařilo", + "First name is required": "Jméno je povinné", + "Last name is required": "Příjmení je povinné", + "Search Client": "Hledat klienta", + "Type client name or account number": "Zadejte jméno klienta nebo číslo účtu", + "Confirmed At": "Potvrzeno dne", + "Full Name": "Celé jméno", + "Minimum 3 characters": "Minimálně 3 znaky", + "National ID": "Rodné číslo", + "Nationality": "Státní příslušnost", + "Payout Amount": "Výplatní částka", + "Payout Country": "Výplatní země", + "Payout Token": "Výplatní token", + "Recipient Name": "Jméno příjemce", + "Send Amount": "Odesílaná částka", + "Send Country": "Odesílající země", + "Sender": "Odesílatel", + "Sender Name": "Jméno odesílatele", + "Sent By": "Odesláno", + "Deposited At": "Uloženo dne", + "Passport": "Pas", + "Driver's License": "Řidičský průkaz", + "Mothers Maiden Name": "Rodné příjmení matky", + "Loading vendors": { + "": { + "": { + "": "Načítání dodavatelů..." + } + } + } }, "links": { "Community": "Společenství", @@ -3134,7 +3178,8 @@ "Reject Additional Shares": "Odmítnout další akcie", "Tasks": "Úkoly", "Remittances": "Remitence", - "Process Remittance": "Zpracovat remitenci" + "Process Remittance": "Zpracovat remitenci", + "Undo Write-off": "Zrušit odpis" }, "placeholders": { "Add new server": "Přidat nový server", @@ -3257,6 +3302,7 @@ "Audit logs of all the activities": "Auditní protokoly všech činností, jako je vytvoření klienta, vyplácení úvěrů atd", "Bar": "Bar", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Konfigurace Porušení", "Bulk Import": "Hromadný import", "Bulk Loan Reassignment": "Hromadné přeřazení půjčky", "Bulk data import using excel spreadsheet templates": "Hromadný import dat pomocí excelových tabulkových šablon pro klienty, kanceláře atd.", @@ -3307,6 +3353,7 @@ "Create Accounting Closure": "Vytvořte účetní uzávěrku", "Create Accounting Rule": "Vytvořit účetní pravidlo", "Create Adhoc Query": "Vytvořit Adhoc dotaz", + "Create Breach": "Vytvořit Porušení", "Create Center": "Vytvořit centrum", "Create Charge": "Vytvořit poplatek", "Create Client": "Vytvořit klienta", @@ -3335,6 +3382,7 @@ "View Loan Originator": "Zobrazit poskytovatele úvěrů", "Edit Loan Originator": "Upravit poskytovatele úvěrů", "Create Loans Account": "Vytvořit úvěrový účet", + "Create Near Breach": "Vytvořit Téměř Porušení", "Create New GL Account": "Tato možnost umožňuje vytvářet nové účty hlavní knihy.", "Create Office": "Vytvořit Office", "Create Payment Type": "Vytvořit typ platby", @@ -3404,6 +3452,7 @@ "Define delinquency day ranges and bucket set for loan products": "Definujte rozsahy dnů prodlení a sadu segmentů pro úvěrové produkty", "Define floating rates for loan products": "Definujte pohyblivé sazby pro úvěrové produkty", "Define holidays for office": "Definujte svátky pro kancelář", + "Define near breaches for working capital products": "Definovat téměř porušení pro produkty pracovního kapitálu", "Define or modify Maker Checker tasks": "Definujte nebo upravte úlohy Maker Checker", "Define or modify entity to entity mappings": "Definujte nebo upravte mapování entity na entity", "Define or modify roles and associated permissions": "Definujte nebo upravte role a související oprávnění", @@ -3423,6 +3472,7 @@ "Edit Accounting Rules": "Upravit účetní pravidla", "Edit Adhoc Query": "Upravit Adhoc dotaz", "Edit Amazon S3 Configuration": "Upravte konfiguraci Amazon S3", + "Edit Breach": "Upravit Porušení", "Edit Cashier": "Upravit Pokladník", "Edit Center": "Centrum úprav", "Edit Charge": "Upravit poplatek", @@ -3444,7 +3494,9 @@ "Edit Group": "Upravit skupinu", "Edit Holidays": "Upravit svátky", "Edit Hook": "Upravit Hook", + "Edit Loan Originator": "Upravit Původce Úvěru", "Edit Loan Product": "Upravit produkt půjčky", + "Edit Near Breach": "Upravit Téměř Porušení", "Edit Notification Configuration": "Upravit konfiguraci oznámení", "Edit Office": "Upravit Office", "Edit Payment Type": "Upravit typ platby", @@ -3619,6 +3671,7 @@ "N/A": "N/A", "Navigate system selecting entity": "To uživateli umožní rychle procházet entitou pro výběr systému, zatímco vyhledávání činí navigaci robustnější.", "Navigation": "Navigace", + "Near Breach Configurations": "Konfigurace Téměř Porušení", "Not Activated": "Neaktivováno", "No Data": "Žádná data", "No Description": "Bez popisu", @@ -3687,6 +3740,7 @@ "Recurring Deposits Account Transactions": "Opakující se vklady Transakce na účtu", "RecurringDeposit Account View": "Zobrazení účtu s opakovaným vkladem", "Red asterisk field": "Pole s červenou hvězdičkou (*) jsou povinná. Chcete-li vědět více, klikněte:", + "Remittances": "Převody", "Repayment Schedule": "Splátkový kalendář", "Repeats' and 'Repeats every": "Poznámka: 'Repeats' a 'Repeats every' nelze změnit, pokud existují aktivní účty (JLG půjčky, opakované vklady atd.) závislé na této schůzce.", "Report Parameters": "Parametry sestavy", @@ -3815,6 +3869,7 @@ "View Adhoc Query": "Zobrazit Adhoc dotaz", "View Amazon S3 Configuration": "Zobrazit konfiguraci Amazon S3", "View Audit": "Zobrazit audit", + "View Breach": "Zobrazit Porušení", "View Bulk Import": "Zobrazit Hromadný import", "View Cashier": "Zobrazit Pokladní", "View Charges": "Zobrazit poplatky", @@ -3837,7 +3892,9 @@ "View Group": "Zobrazit skupinu", "View Holidays": "Zobrazit svátky", "View Hook": "Zobrazit Hook", + "View Loan Originator": "Zobrazit Původce Úvěru", "View Loan Product": "Zobrazit produkt půjčky", + "View Near Breach": "Zobrazit Téměř Porušení", "View Notification Configuration": "Zobrazit konfiguraci oznámení", "View Office": "Zobrazit Office", "View Product Mix": "Zobrazit produktový mix", @@ -3910,19 +3967,226 @@ "Failed to search clients. Please try again.": "Hledání klientů se nezdařilo. Zkuste to prosím znovu.", "Process Remittance": "Zpracovat remitenci", "Loan Originators": "Poskytovatelé úvěrů", - "Loan Reschedules": "Termíny půjček" + "Loan Reschedules": "Termíny půjček", + "Powered by": "Provozováno", + "Settings saved successfully": "Nastavení bylo úspěšně uloženo.", + "Tenant": "Nájemce", + "To": "do", + "Undo Write-off Description": "Tato akce zruší transakci odpisu a obnoví úvěr do jeho předchozího aktivního stavu. Zadejte prosím poznámku vysvětlující důvod této akce." }, "permissions": { "actions": { "ALL": "Vše", "BYPASS": "Obejít", "CHECKER": "Kontrolor", - "REPORTING": "Reporting" + "REPORTING": "Reporting", + "ACCEPTTRANSFER": "Přijmout převod", + "ACTIVATE": "Aktivovat", + "ADD": "Přidat", + "ADDCHARGE": "Přidat poplatek", + "ADJUST": "Upravit", + "ADJUSTMENT": "Úprava", + "ADJUSTTRANSACTION": "Upravit transakci", + "ALLOCATECASHIER": "Přidělit pokladníka", + "APPLYADDITIONAL": "Použít dodatečně", + "APPLYANNUALFEE": "Použít roční poplatek", + "APPROVALUNDO": "Zrušit schválení", + "APPROVE": "Schválit", + "APPROVEADDITIONAL": "Schválit dodatečně", + "ASSIGNROLE": "Přiřadit roli", + "ASSIGNSTAFF": "Přiřadit zaměstnance", + "ASSOCIATECLIENTS": "Přiřadit klienty", + "ASSOCIATEGROUPS": "Přiřadit skupiny", + "ATTACH": "Připojit", + "BLOCK": "Zablokovat", + "BLOCKDEPOSIT": "Zablokovat vklad", + "BLOCKWITHDRAWAL": "Zablokovat výběr", + "BULKREASSIGN": "Hromadné přeřazení", + "BUYDOWNFEE": "Poplatek za odkup", + "CALCULATEINTEREST": "Vypočítat úroky", + "CAPITALIZEDINCOME": "Kapitalizovaný příjem", + "CHARGEBACK": "Vrácení platby", + "CHARGEOFF": "Odpis", + "CLOSE": "Zavřít", + "CLOSEASRESCHEDULED": "Zavřít jako přeplánované", + "CONTRACT_TERMINATION": "Ukončení smlouvy", + "CREATE": "Vytvořit", + "DEACTIVATE": "Deaktivovat", + "DEFINEOPENINGBALANCE": "Definovat počáteční zůstatek", + "DELETE": "Smazat", + "DELETECASHIER": "Smazat pokladníka", + "DEPOSIT": "Vklad", + "DETACH": "Odpojit", + "DISBURSALUNDO": "Zrušit vyplacení", + "DISBURSALLASTUNDO": "Zrušit poslední vyplacení", + "DISBURSE": "Vyplatit", + "DISBURSETOSAVINGS": "Vyplatit na spořicí účet", + "EXECUTE": "Provést", + "FORECLOSURE": "Exekuce", + "HOLDAMOUNT": "Blokovat částku", + "INACTIVATE": "Deaktivovat", + "PAY": "Zaplatit", + "PERMISSIONS": "Oprávnění", + "POST": "Zaúčtovat", + "POSTINTEREST": "Zaúčtovat úroky", + "PREMATURECLOSE": "Předčasně uzavřít", + "PROPOSETRANSFER": "Navrhnout převod", + "REACTIVATE": "Reaktivovat", + "READ": "Číst", + "REAGE": "Restrukturalizovat", + "REAGING": "Restrukturalizace", + "REAMORTIZE": "Přeamortizovat", + "RECOVERGUARANTEES": "Vymoci záruky", + "RECOVERYPAYMENT": "Vymoci platbu", + "REJECT": "Odmítnout", + "REJECTADDITIONAL": "Odmítnout dodatečně", + "RELEASEAMOUNT": "Uvolnit částku", + "REMOVESAVINGSOFFICER": "Odebrat správce spoření", + "REOPEN": "Znovu otevřít", + "REPAYMENT": "Splátka", + "RESCHEDULE": "Přeplánovat", + "REVERSE": "Stornovat", + "SALE": "Prodej", + "SAVEORUPDATEATTENDANCE": "Uložit/aktualizovat docházku", + "SETTLECASHFROMCASHIER": "Vyrovnat hotovost od pokladníka", + "SETTLECASHIER": "Vyrovnat pokladníka", + "TRANSFER": "Převést", + "TRANSFERCLIENTS": "Převést klienty", + "UNASSIGNROLE": "Odebrat roli", + "UNASSIGNSTAFF": "Odebrat zaměstnance", + "UNBLOCK": "Odblokovat", + "UNBLOCKDEPOSIT": "Odblokovat vklad", + "UNBLOCKWITHDRAWAL": "Odblokovat výběr", + "UNDO": "Zrušit", + "UNDO_ACTIVATE": "Zrušit aktivaci", + "UNDO_REAGE": "Zrušit restrukturalizaci", + "UNDO_REAMORTIZE": "Zrušit přeamortizaci", + "UNDOCHARGEOFF": "Zrušit odpis", + "UNDOTRANSACTION": "Zrušit transakci", + "UNDOWRITEOFF": "Zrušit odpis", + "UPDATE": "Aktualizovat", + "UPDATECASHIERALLOCATION": "Aktualizovat přidělení pokladníka", + "UPDATELOANOFFICER": "Aktualizovat úvěrového poradce", + "UPDATESAVINGSACCOUNT": "Aktualizovat spořicí účet", + "UPDATESAVINGSOFFICER": "Aktualizovat správce spoření", + "UPDATEWITHHOLDTAX": "Aktualizovat srážkovou daň", + "VIEW": "Zobrazit", + "WAIVE": "Prominout", + "WAIVEINTERESTPORTION": "Prominout část úroků", + "WITHDRAW": "Vybrat", + "WITHDRAWAL": "Výběr", + "WRITEOFF": "Odepsat" }, "entities": { "FUNCTIONS": "Funkce", "TWOFACTOR": "Dvoufaktorové", - "SUPER_USER": "Superuživatel" + "SUPER_USER": "Superuživatel", + "ACCOUNTINGRULE": "Účetní pravidlo", + "ACCOUNTNUMBERFORMAT": "Formát čísla účtu", + "ACCOUNTTRANSFER": "Převod účtu", + "ADHOC": "Ad-hoc", + "BUSINESSDATE": "Obchodní datum", + "CASHIER": "Pokladník", + "CASHIERS_FOR_TELLER": "Pokladníci pro přepážku", + "CENTER": "Centrum", + "CENTERS": "Centra", + "CHARGE": "Poplatek", + "CLIENT": "Klient", + "CLIENTCHARGE": "Klientský poplatek", + "CLIENTIDENTIFIER": "Identifikace klienta", + "CLIENTIMAGE": "Obrázek klienta", + "CLIENT_COLLATERAL_PRODUCT": "Produkt zajištění klienta", + "CLIENTS": "Klienti", + "CODE": "Kód", + "CODEVALUE": "Hodnota kódu", + "COLLATERAL": "Zajištění", + "COLLECTIONSHEET": "List inkasa", + "CONFIG_WIZARD": "Průvodce konfigurací", + "CONFIGURATION": "Konfigurace", + "CREDIT_BALANCE_REFUND": "Vrácení kreditního zůstatku", + "CRITERIA": "Kritéria", + "CURRENCY": "Měna", + "DATATABLE": "Datová tabulka", + "DELINQUENCY_ACTION": "Akce při prodlení", + "DELINQUENCY_BUCKET": "Kategorie prodlení", + "DELINQUENCY_RANGE": "Rozsah prodlení", + "DIVIDENDS": "Dividendy", + "DOCUMENT": "Dokument", + "EMPLOYEE": "Zaměstnanec", + "ENTITYMAPPING": "Mapování entit", + "ENTITY_DATATABLE_CHECK": "Kontrola datové tabulky entity", + "EXTERNAL_EVENT_CONFIGURATION": "Konfigurace externích událostí", + "FINANCIALACTIVITYACCOUNT": "Účet finanční aktivity", + "FIXEDDEPOSITACCOUNT": "Účet termínovaného vkladu", + "FIXEDDEPOSITPRODUCT": "Produkt termínovaného vkladu", + "FLOATINGRATE": "Pohyblivá sazba", + "FUND": "Fond", + "GLACCOUNT": "Účet hlavní knihy", + "GLCLOSURE": "Uzávěrka hlavní knihy", + "GOODWILL_TRANSACTION": "Transakce dobré vůle", + "GROUP": "Skupina", + "GROUPNOTE": "Poznámka ke skupině", + "GROUPS": "Skupiny", + "GSIMACCOUNT": "Účet GSIM", + "GUARANTOR": "Ručitel", + "HOLIDAY": "Svátek", + "HOOK": "Hook", + "INLINE_JOB": "Inline úloha", + "INTEREST_PAUSE": "Pozastavení úroků", + "INTERESTPAYMENTWAIVER_TRANSACTION": "Transakce prominutí platby úroků", + "JOURNAL_ENTRY": "Účetní zápis", + "JOURNALENTRY": "Účetní zápis", + "LOAN": "Úvěr", + "LOANCHARGE": "Poplatek za úvěr", + "LOANNOTE": "Poznámka k úvěru", + "LOANPRODUCT": "Úvěrový produkt", + "LOANRESCHEDULE": "Přeplánování úvěru", + "LOAN_ORIGINATOR": "Původce úvěru", + "MAKERCHECKER": "Princip čtyř očí", + "MEETING": "Schůzka", + "MERCHANT_ISSUED_REFUND": "Vrácení od obchodníka", + "NOTIFICATION": "Oznámení", + "OFFICE": "Pobočka", + "OFFICES": "Pobočky", + "PASSWORD_VALIDATION_POLICY": "Politika ověření hesla", + "PAYOUT_REFUND": "Vrácení výplaty", + "PAYMENTTYPE": "Typ platby", + "PERIODICACCRUALACCOUNTING": "Periodické akruální účetnictví", + "PERMISSION": "Oprávnění", + "PREFERENCES": "Předvolby", + "PRODUCT": "Produkt", + "PRODUCTMIX": "Produktový mix", + "PROVISIONING_CRITERIA": "Kritéria opravných položek", + "PROVISIONING_ENTRIES": "Záznamy opravných položek", + "RECURRINGDEPOSITACCOUNT": "Účet pravidelného spoření", + "RECURRINGDEPOSITPRODUCT": "Produkt pravidelného spoření", + "REPAYMENT_SCHEDULE": "Splátkový kalendář", + "REPORT": "Sestava", + "RESCHEDULELOAN": "Přeplánovat úvěr", + "ROLE": "Role", + "SAVINGNOTE": "Poznámka ke spoření", + "SAVINGSACCOUNT": "Spořicí účet", + "SAVINGSACCOUNTCHARGE": "Poplatek spořicího účtu", + "SAVINGSNOTE": "Poznámka ke spoření", + "SAVINGSPRODUCT": "Spořicí produkt", + "SCHEDULER": "Plánovač", + "SHAREACCOUNT": "Akciový účet", + "SHAREACCOUNTCHARGE": "Poplatek akciového účtu", + "SHAREACCOUNTDIVIDENDS": "Dividendy akciového účtu", + "SHAREACCOUNTPURCHASE": "Nákup akciového účtu", + "SHAREDIVIDEND": "Akciová dividenda", + "SHAREPRODUCT": "Akciový produkt", + "SHARESACCOUNTCHARGE": "Poplatek akciového účtu", + "SMSCAMPAIGN": "SMS kampaň", + "SSBENEFICIARYTPT": "Self-Service příjemci TPT", + "STAFF": "Personál", + "STANDINGINSTRUCTION": "Trvalý příkaz", + "TAXCOMPONENT": "Daňová složka", + "TAXGROUP": "Daňová skupina", + "TELLER": "Přepážka", + "TEMPLATE": "Šablona", + "USER": "Uživatel", + "WORKINGDAYS": "Pracovní dny" } }, "messages": { @@ -3940,7 +4204,69 @@ "No Closed Share Accounts Found": "Žádné uzavřené podílové účty nenalezeny", "No Collateral Data Found": "Žádná data o zajištění nenalezena", "No Identities Found": "Žádné identity nenalezeny", - "validationSaved": "Ověřovací data byla úspěšně uložena." + "validationSaved": "Ověřovací data byla úspěšně uložena.", + "workingCapitalDiscountUpdated": "Sleva provozního kapitálu byla úspěšně aktualizována.", + "unableToUpdateDiscount": "Slevu nelze aktualizovat." + }, + "Mifos Reporting Plugin for Eclipse Birt": "Mifos Reporting Plugin pro Eclipse Birt", + "auditTrail": { + "actions": { + "CREATE": "Vytvořit", + "UPDATE": "Aktualizovat", + "DELETE": "Smazat", + "PERMISSIONS": "Oprávnění", + "ACTIVATE": "Aktivovat", + "DEACTIVATE": "Deaktivovat", + "APPROVE": "Schválit", + "REJECT": "Odmítnout", + "DISBURSE": "Vyplatit", + "UNDO": "Zrušit", + "CLOSE": "Zavřít", + "REOPEN": "Znovu otevřít", + "WITHDRAW": "Vybrat", + "DEPOSIT": "Vložit", + "TRANSFER": "Převést", + "POSTINTEREST": "Zaúčtovat úroky", + "CALCULATEINTEREST": "Vypočítat úroky", + "ASSIGNSTAFF": "Přiřadit zaměstnance", + "ACCEPTTRANSFER": "Přijmout převod", + "PROPOSETRANSFER": "Navrhnout převod", + "REPAYMENT": "Splátka", + "DISBURSETOSAVINGS": "Vyplatit na spořicí účet" + }, + "entities": { + "ROLE": "Role", + "CODEVALUE": "Hodnota kódu", + "FUND": "Fond", + "OFFICE": "Pobočka", + "TEMPLATE": "Šablona", + "USER": "Uživatel", + "GROUPNOTE": "Poznámka ke skupině", + "SAVINGNOTE": "Poznámka ke spoření", + "SAVINGSACCOUNT": "Spořicí účet", + "LOAN": "Úvěr", + "CLIENT": "Klient", + "GROUP": "Skupina", + "CHARGE": "Poplatek", + "PRODUCT": "Produkt", + "LOANPRODUCT": "Úvěrový produkt", + "SAVINGSPRODUCT": "Spořicí produkt", + "CENTER": "Centrum", + "EMPLOYEE": "Zaměstnanec", + "CURRENCY": "Měna", + "HOLIDAY": "Svátek", + "REPORT": "Sestava", + "DATATABLE": "Datová tabulka", + "COLLATERAL": "Zajištění", + "GUARANTOR": "Ručitel", + "SHAREPRODUCT": "Akciový produkt", + "FIXEDDEPOSITPRODUCT": "Produkt termínovaného vkladu", + "FIXEDDEPOSITACCOUNT": "Účet termínovaného vkladu", + "RECURRINGDEPOSITPRODUCT": "Produkt pravidelného spoření", + "RECURRINGDEPOSITACCOUNT": "Účet pravidelného spoření", + "ACCOUNTTRANSFER": "Převod účtu", + "SSBENEFICIARYTPT": "Self-Service příjemci TPT" + } } }, "permissions": { @@ -4452,7 +4778,8 @@ "ACTIVE": "AKTIVNÍ", "PENDING": "ČEKÁ NA VYŘÍZENÍ", "INACTIVE": "NEAKTIVNÍ", - "Process Remittance": "Zpracovat remitenci" + "Process Remittance": "Zpracovat remitenci", + "Allow full term length for each tranche disbursement": "Pokud je povoleno, každá tranšová platba bude sledovat plný harmonogram splatnosti úvěru namísto přizpůsobení se zbývající době. K dispozici pouze pro PROGRESIVNÍ typ splátkového kalendáře." }, "countries": { "AF": "Afghánistán", @@ -4626,5 +4953,13 @@ "failure": "Nepodařilo se odeslat průzkum." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Neimplementovaná chyba", + "message": "Neimplementovaná funkce!" + } + } } } diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json index a2c059d052..603aa41151 100644 --- a/src/assets/translations/de-DE.json +++ b/src/assets/translations/de-DE.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "Die Gebühr kann nicht als bei der Auszahlung fällige Strafe eingerichtet werden.", "error.msg.charge.duplicate.name": "Die Gebühr mit diesem Namen existiert bereits.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "Die Aktualisierung der Gebühr gilt für wird nicht unterstützt.", + "error.msg.data.integrity.issue": "Die Anfrage hat ein Datenintegritätsproblem in der Datenbank verursacht", "error.msg.loan.product.close.date.cannot.be.before.start.date": "Das Abschlussdatum des Darlehensprodukts darf nicht vor dem Startdatum liegen.", "error.msg.product.loan.duplicate.charge": "Bei einem Leihprodukt darf von jedem Typ nur eine Ladung vorhanden sein.", "error.msg.product.loan.duplicate.name": "Das Darlehensprodukt mit dem Namen „{{params[0].value}}“ existiert bereits.", @@ -1049,6 +1050,8 @@ "are": "Sind", "be larger than 0 and at most 100": "größer als 0 und höchstens 100 sein", "begin with a special character or number": "beginnen mit einem Sonderzeichen oder einer Zahl", + "can not be less than": "darf nicht weniger als", + "can not be more than": "darf nicht mehr als", "cannot begin with a special character or number": "darf nicht mit einem Sonderzeichen oder einer Zahl beginnen", "decimal places": "Nachkommastellen", "do not match": "nicht übereinstimmen", @@ -1349,6 +1352,7 @@ "Minimum Active Period": "Mindestaktiver Zeitraum", "Minimum Deposit Term": "Mindesteinzahlungsdauer", "Moratorium": "Moratorium", + "Near Breach Configuration": "Konfiguration der Beinahe-Verletzung", "Nominal Interest Rate by loan cycle": "Nominalzinssatz nach Kreditzyklus", "Notes": "Anmerkungen", "Notification External Service": "Benachrichtigung Externer Dienst", @@ -1541,7 +1545,8 @@ "Payout Assignment": "Auszahlungszuweisung", "Identification": "Identifikation", "Professional Information": "Berufliche Informationen", - "Add Profile Entry": "Profileintrag hinzufügen" + "Add Profile Entry": "Profileintrag hinzufügen", + "Recipient Summary": "Empfängerübersicht" }, "inputs": { "Loan Account Status": "Kreditkontostatus", @@ -2370,6 +2375,7 @@ "Name": "Name", "Name Decorated": "Name dekoriert", "Name of the Organization": "Name der Organisation", + "Near Breach": "Beinahe-Verstoß", "Near Breach Evaluation Frequency": "Bewertungshäufigkeit für Beinahe-Verstoß", "Near Breach Evaluation Frequency Type": "Typ der Bewertungshäufigkeit für Beinahe-Verstoß", "Near Breach Threshold": "Schwellenwert für Beinahe-Verstoß", @@ -2778,6 +2784,7 @@ "Text": "Text", "Theme": "Thema", "Theme and Font": "Thema und Schriftart", + "Threshold": "Schwellenwert", "Thursday": "Donnerstag", "Time": "Zeit", "To": "Zu", @@ -2996,7 +3003,44 @@ "Period Payment Frequency Type": "Zahlungsperiode Häufigkeit Art", "Payment Allocation Transactions": "Zahlungszuordnungstransaktionen", "Net Present Value day count": "Nettobarwert-Tageszahl", - "Installment": "Rate" + "Installment": "Rate", + "Beneficiary Selection": "Begünstigtenauswahl", + "Confirmation Number": "Bestätigungsnummer", + "Sub Status": "Unterstatus", + "Document": "Dokument", + "Document Number": "Dokumentnummer", + "Document number is required": "Dokumentnummer ist erforderlich", + "Allow full term for each tranche": "Volle Laufzeit für jede Tranche erlauben", + "Failed to load vendors": "Anbieter konnten nicht geladen werden", + "First name is required": "Vorname ist erforderlich", + "Last name is required": "Nachname ist erforderlich", + "Search Client": "Kunde suchen", + "Type client name or account number": "Kundennamen oder Kontonummer eingeben", + "Confirmed At": "Bestätigt am", + "Full Name": "Vollständiger Name", + "Minimum 3 characters": "Mindestens 3 Zeichen", + "National ID": "Personalausweis", + "Nationality": "Nationalität", + "Payout Amount": "Auszahlungsbetrag", + "Payout Country": "Auszahlungsland", + "Payout Token": "Auszahlungs-Token", + "Recipient Name": "Empfängername", + "Send Amount": "Sendebetrag", + "Send Country": "Sendeland", + "Sender": "Absender", + "Sender Name": "Absendername", + "Sent By": "Gesendet von", + "Deposited At": "Eingezahlt am", + "Passport": "Reisepass", + "Driver's License": "Führerschein", + "Mothers Maiden Name": "Geburtsname der Mutter", + "Loading vendors": { + "": { + "": { + "": "Anbieter werden geladen..." + } + } + } }, "links": { "Community": "Gemeinschaft", @@ -3136,7 +3180,8 @@ "Reject Additional Shares": "Zusätzliche Freigaben ablehnen", "Tasks": "Aufgaben", "Remittances": "Überweisungen", - "Process Remittance": "Überweisung bearbeiten" + "Process Remittance": "Überweisung bearbeiten", + "Undo Write-off": "Abschreibung rückgängig machen" }, "placeholders": { "Add new server": "Neuen Server hinzufügen", @@ -3259,6 +3304,7 @@ "Audit logs of all the activities": "Prüfprotokolle aller Aktivitäten, z. B. Kunden erstellen, Kredite auszahlen usw", "Bar": "Bar", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Verstoss-Konfigurationen", "Bulk Import": "Massenimport", "Bulk Loan Reassignment": "Neuzuweisung von Massenkrediten", "Bulk data import using excel spreadsheet templates": "Massendatenimport mithilfe von Excel-Tabellenvorlagen für Kunden, Büros usw.", @@ -3308,6 +3354,7 @@ "Create Accounting Closure": "Erstellen Sie einen Buchhaltungsabschluss", "Create Accounting Rule": "Erstellen Sie eine Abrechnungsregel", "Create Adhoc Query": "Erstellen Sie eine Ad-hoc-Abfrage", + "Create Breach": "Verstoss erstellen", "Create Center": "Zentrum erstellen", "Create Charge": "Ladung erstellen", "Create Client": "Client erstellen", @@ -3336,6 +3383,7 @@ "View Loan Originator": "Kreditvermittler anzeigen", "Edit Loan Originator": "Kreditvermittler bearbeiten", "Create Loans Account": "Erstellen Sie ein Kreditkonto", + "Create Near Breach": "Beinahe-Verstoss erstellen", "Create New GL Account": "Mit dieser Option können Sie neue Hauptbuchkonten erstellen.", "Create Office": "Büro erstellen", "Create Payment Type": "Zahlungsart erstellen", @@ -3405,6 +3453,7 @@ "Define delinquency day ranges and bucket set for loan products": "Definieren Sie Ausfalltage und Bucket-Sets für Kreditprodukte", "Define floating rates for loan products": "Definieren Sie variable Zinssätze für Kreditprodukte", "Define holidays for office": "Definieren Sie Feiertage für das Büro", + "Define near breaches for working capital products": "Beinahe-Verletzungen für Working-Capital-Produkte definieren", "Define or modify Maker Checker tasks": "Definieren oder ändern Sie Maker Checker-Aufgaben", "Define or modify entity to entity mappings": "Definieren oder ändern Sie Zuordnungen von Entitäten zu Entitäten", "Define or modify roles and associated permissions": "Definieren oder ändern Sie Rollen und zugehörige Berechtigungen", @@ -3424,6 +3473,7 @@ "Edit Accounting Rules": "Buchhaltungsregeln bearbeiten", "Edit Adhoc Query": "Ad-hoc-Abfrage bearbeiten", "Edit Amazon S3 Configuration": "Bearbeiten Sie die Amazon S3-Konfiguration", + "Edit Breach": "Verstoss bearbeiten", "Edit Cashier": "Kassierer bearbeiten", "Edit Center": "Bearbeitungszentrum", "Edit Charge": "Gebühr bearbeiten", @@ -3445,7 +3495,9 @@ "Edit Group": "Gruppe bearbeiten", "Edit Holidays": "Feiertage bearbeiten", "Edit Hook": "Hook bearbeiten", + "Edit Loan Originator": "Kreditvermittler bearbeiten", "Edit Loan Product": "Darlehensprodukt bearbeiten", + "Edit Near Breach": "Beinahe-Verstoss bearbeiten", "Edit Notification Configuration": "Bearbeiten Sie die Benachrichtigungskonfiguration", "Edit Office": "Büro bearbeiten", "Edit Payment Type": "Zahlungsart bearbeiten", @@ -3620,6 +3672,7 @@ "N/A": "N / A", "Navigate system selecting entity": "Dadurch kann der Benutzer schnell durch das System navigieren und eine Entität auswählen, während die Suche die Navigation robuster macht.", "Navigation": "Navigation", + "Near Breach Configurations": "Beinahe-Verstoss-Konfigurationen", "Not Activated": "Nicht aktiviert", "No Data": "Keine Daten", "No Description": "Keine Beschreibung", @@ -3688,6 +3741,7 @@ "Recurring Deposits Account Transactions": "Wiederkehrende Kontotransaktionen", "RecurringDeposit Account View": "Ansicht des wiederkehrenden Einzahlungskontos", "Red asterisk field": "Felder mit einem roten Sternchen (*) sind Pflichtfelder. Um mehr zu erfahren, klicken Sie:", + "Remittances": "Überweisungen", "Repayment Schedule": "Rückzahlungsplan", "Repeats' and 'Repeats every": "Hinweis: „Wiederholungen“ und „Wiederholungen alle“ können nicht geändert werden, wenn aktive Konten (JLG-Darlehen, wiederkehrende Einlagen usw.) vorhanden sind, die von dieser Besprechung abhängig sind.", "Report Parameters": "Berichtsparameter", @@ -3816,6 +3870,7 @@ "View Adhoc Query": "Ad-hoc-Abfrage anzeigen", "View Amazon S3 Configuration": "Amazon S3-Konfiguration anzeigen", "View Audit": "Audit anzeigen", + "View Breach": "Verstoss anzeigen", "View Bulk Import": "Massenimport anzeigen", "View Cashier": "Kassierer anzeigen", "View Charges": "Gebühren anzeigen", @@ -3838,7 +3893,9 @@ "View Group": "Gruppe anzeigen", "View Holidays": "Feiertage anzeigen", "View Hook": "Haken anzeigen", + "View Loan Originator": "Kreditvermittler anzeigen", "View Loan Product": "Darlehensprodukt anzeigen", + "View Near Breach": "Beinahe-Verstoss anzeigen", "View Notification Configuration": "Benachrichtigungskonfiguration anzeigen", "View Office": "Büro ansehen", "View Product Mix": "Produktmix anzeigen", @@ -3911,19 +3968,226 @@ "Failed to search clients. Please try again.": "Kundensuche fehlgeschlagen. Bitte versuchen Sie es erneut.", "Process Remittance": "Überweisung bearbeiten", "Loan Originators": "Kreditvermittler", - "Loan Reschedules": "Kreditumschuldungen" + "Loan Reschedules": "Kreditumschuldungen", + "Powered by": "Unterstützt von", + "Settings saved successfully": "Einstellungen erfolgreich gespeichert.", + "Tenant": "Mandant", + "To": "bis", + "Undo Write-off Description": "Diese Aktion macht die Abschreibungstransaktion rückgängig und stellt den Kredit auf seinen vorherigen aktiven Status wieder her. Bitte geben Sie eine Notiz an, die den Grund für diese Aktion erklärt." }, "permissions": { "actions": { "ALL": "Alle", "BYPASS": "Umgehen", "CHECKER": "Prüfer", - "REPORTING": "Berichterstattung" + "REPORTING": "Berichterstattung", + "ACCEPTTRANSFER": "Übertragung akzeptieren", + "ACTIVATE": "Aktivieren", + "ADD": "Hinzufügen", + "ADDCHARGE": "Gebühr hinzufügen", + "ADJUST": "Anpassen", + "ADJUSTMENT": "Anpassung", + "ADJUSTTRANSACTION": "Transaktion anpassen", + "ALLOCATECASHIER": "Kassierer zuweisen", + "APPLYADDITIONAL": "Zusätzlich anwenden", + "APPLYANNUALFEE": "Jahresgebühr anwenden", + "APPROVALUNDO": "Genehmigung rückgängig", + "APPROVE": "Genehmigen", + "APPROVEADDITIONAL": "Zusätzlich genehmigen", + "ASSIGNROLE": "Rolle zuweisen", + "ASSIGNSTAFF": "Mitarbeiter zuweisen", + "ASSOCIATECLIENTS": "Kunden verknüpfen", + "ASSOCIATEGROUPS": "Gruppen verknüpfen", + "ATTACH": "Anhängen", + "BLOCK": "Sperren", + "BLOCKDEPOSIT": "Einzahlung sperren", + "BLOCKWITHDRAWAL": "Auszahlung sperren", + "BULKREASSIGN": "Massenzuweisung", + "BUYDOWNFEE": "Buydown-Gebühr", + "CALCULATEINTEREST": "Zinsen berechnen", + "CAPITALIZEDINCOME": "Kapitalisiertes Einkommen", + "CHARGEBACK": "Rückbuchung", + "CHARGEOFF": "Abschreiben", + "CLOSE": "Schließen", + "CLOSEASRESCHEDULED": "Als umgeplant schließen", + "CONTRACT_TERMINATION": "Vertragskündigung", + "CREATE": "Erstellen", + "DEACTIVATE": "Deaktivieren", + "DEFINEOPENINGBALANCE": "Eröffnungssaldo festlegen", + "DELETE": "Löschen", + "DELETECASHIER": "Kassierer löschen", + "DEPOSIT": "Einzahlung", + "DETACH": "Trennen", + "DISBURSALUNDO": "Auszahlung rückgängig", + "DISBURSALLASTUNDO": "Letzte Auszahlung rückgängig", + "DISBURSE": "Auszahlen", + "DISBURSETOSAVINGS": "Auf Sparkonto auszahlen", + "EXECUTE": "Ausführen", + "FORECLOSURE": "Zwangsvollstreckung", + "HOLDAMOUNT": "Betrag sperren", + "INACTIVATE": "Inaktivieren", + "PAY": "Bezahlen", + "PERMISSIONS": "Berechtigungen", + "POST": "Buchen", + "POSTINTEREST": "Zinsen buchen", + "PREMATURECLOSE": "Vorzeitig schließen", + "PROPOSETRANSFER": "Übertragung vorschlagen", + "REACTIVATE": "Reaktivieren", + "READ": "Lesen", + "REAGE": "Neu strukturieren", + "REAGING": "Neustrukturierung", + "REAMORTIZE": "Neu amortisieren", + "RECOVERGUARANTEES": "Bürgschaften einfordern", + "RECOVERYPAYMENT": "Rückzahlung einfordern", + "REJECT": "Ablehnen", + "REJECTADDITIONAL": "Zusätzlich ablehnen", + "RELEASEAMOUNT": "Betrag freigeben", + "REMOVESAVINGSOFFICER": "Sparkonto-Beauftragten entfernen", + "REOPEN": "Wiedereröffnen", + "REPAYMENT": "Rückzahlung", + "RESCHEDULE": "Umplanen", + "REVERSE": "Stornieren", + "SALE": "Verkauf", + "SAVEORUPDATEATTENDANCE": "Anwesenheit speichern/aktualisieren", + "SETTLECASHFROMCASHIER": "Bargeld vom Kassierer abrechnen", + "SETTLECASHIER": "Kassierer abrechnen", + "TRANSFER": "Übertragen", + "TRANSFERCLIENTS": "Kunden übertragen", + "UNASSIGNROLE": "Rolle entziehen", + "UNASSIGNSTAFF": "Mitarbeiter entziehen", + "UNBLOCK": "Entsperren", + "UNBLOCKDEPOSIT": "Einzahlung entsperren", + "UNBLOCKWITHDRAWAL": "Auszahlung entsperren", + "UNDO": "Rückgängig", + "UNDO_ACTIVATE": "Aktivierung rückgängig", + "UNDO_REAGE": "Neustrukturierung rückgängig", + "UNDO_REAMORTIZE": "Neu-Amortisierung rückgängig", + "UNDOCHARGEOFF": "Abschreibung rückgängig", + "UNDOTRANSACTION": "Transaktion rückgängig", + "UNDOWRITEOFF": "Abschreibung rückgängig", + "UPDATE": "Aktualisieren", + "UPDATECASHIERALLOCATION": "Kassierer-Zuweisung aktualisieren", + "UPDATELOANOFFICER": "Kreditsachbearbeiter aktualisieren", + "UPDATESAVINGSACCOUNT": "Sparkonto aktualisieren", + "UPDATESAVINGSOFFICER": "Sparkonto-Beauftragten aktualisieren", + "UPDATEWITHHOLDTAX": "Quellensteuer aktualisieren", + "VIEW": "Anzeigen", + "WAIVE": "Erlassen", + "WAIVEINTERESTPORTION": "Zinsanteil erlassen", + "WITHDRAW": "Abheben", + "WITHDRAWAL": "Auszahlung", + "WRITEOFF": "Abschreiben" }, "entities": { "FUNCTIONS": "Funktionen", "TWOFACTOR": "Zwei-Faktor", - "SUPER_USER": "Superbenutzer" + "SUPER_USER": "Superbenutzer", + "ACCOUNTINGRULE": "Buchungsregel", + "ACCOUNTNUMBERFORMAT": "Kontonummernformat", + "ACCOUNTTRANSFER": "Kontoübertragung", + "ADHOC": "Ad-hoc", + "BUSINESSDATE": "Geschäftsdatum", + "CASHIER": "Kassierer", + "CASHIERS_FOR_TELLER": "Kassierer für Schalter", + "CENTER": "Zentrum", + "CENTERS": "Zentren", + "CHARGE": "Gebühr", + "CLIENT": "Kunde", + "CLIENTCHARGE": "Kundengebühr", + "CLIENTIDENTIFIER": "Kundenidentifikation", + "CLIENTIMAGE": "Kundenbild", + "CLIENT_COLLATERAL_PRODUCT": "Kunden-Sicherheitenprodukt", + "CLIENTS": "Kunden", + "CODE": "Code", + "CODEVALUE": "Code-Wert", + "COLLATERAL": "Sicherheit", + "COLLECTIONSHEET": "Inkassoübersicht", + "CONFIG_WIZARD": "Konfigurationsassistent", + "CONFIGURATION": "Konfiguration", + "CREDIT_BALANCE_REFUND": "Guthabenrückerstattung", + "CRITERIA": "Kriterien", + "CURRENCY": "Währung", + "DATATABLE": "Datentabelle", + "DELINQUENCY_ACTION": "Zahlungsverzug-Aktion", + "DELINQUENCY_BUCKET": "Zahlungsverzug-Kategorie", + "DELINQUENCY_RANGE": "Zahlungsverzug-Bereich", + "DIVIDENDS": "Dividenden", + "DOCUMENT": "Dokument", + "EMPLOYEE": "Mitarbeiter", + "ENTITYMAPPING": "Entitätszuordnung", + "ENTITY_DATATABLE_CHECK": "Entitäts-Datentabellenprüfung", + "EXTERNAL_EVENT_CONFIGURATION": "Externe Ereigniskonfiguration", + "FINANCIALACTIVITYACCOUNT": "Finanzaktivitätskonto", + "FIXEDDEPOSITACCOUNT": "Festgeldkonto", + "FIXEDDEPOSITPRODUCT": "Festgeldprodukt", + "FLOATINGRATE": "Variabler Zinssatz", + "FUND": "Fonds", + "GLACCOUNT": "Sachkonto", + "GLCLOSURE": "Buchungsabschluss", + "GOODWILL_TRANSACTION": "Kulanz-Transaktion", + "GROUP": "Gruppe", + "GROUPNOTE": "Gruppennotiz", + "GROUPS": "Gruppen", + "GSIMACCOUNT": "GSIM-Konto", + "GUARANTOR": "Bürge", + "HOLIDAY": "Feiertag", + "HOOK": "Hook", + "INLINE_JOB": "Inline-Job", + "INTEREST_PAUSE": "Zinspause", + "INTERESTPAYMENTWAIVER_TRANSACTION": "Zinsverzicht-Transaktion", + "JOURNAL_ENTRY": "Buchungseintrag", + "JOURNALENTRY": "Buchungseintrag", + "LOAN": "Kredit", + "LOANCHARGE": "Kreditgebühr", + "LOANNOTE": "Kreditnotiz", + "LOANPRODUCT": "Kreditprodukt", + "LOANRESCHEDULE": "Kreditumplanung", + "LOAN_ORIGINATOR": "Kreditoriginator", + "MAKERCHECKER": "Vier-Augen-Prinzip", + "MEETING": "Treffen", + "MERCHANT_ISSUED_REFUND": "Händler-Rückerstattung", + "NOTIFICATION": "Benachrichtigung", + "OFFICE": "Büro", + "OFFICES": "Büros", + "PASSWORD_VALIDATION_POLICY": "Passwortvalidierungsrichtlinie", + "PAYOUT_REFUND": "Auszahlungsrückerstattung", + "PAYMENTTYPE": "Zahlungsart", + "PERIODICACCRUALACCOUNTING": "Periodische Abgrenzungsbuchhaltung", + "PERMISSION": "Berechtigung", + "PREFERENCES": "Einstellungen", + "PRODUCT": "Produkt", + "PRODUCTMIX": "Produktmix", + "PROVISIONING_CRITERIA": "Rückstellungskriterien", + "PROVISIONING_ENTRIES": "Rückstellungseinträge", + "RECURRINGDEPOSITACCOUNT": "Sparplankonto", + "RECURRINGDEPOSITPRODUCT": "Sparplanprodukt", + "REPAYMENT_SCHEDULE": "Rückzahlungsplan", + "REPORT": "Bericht", + "RESCHEDULELOAN": "Kredit umplanen", + "ROLE": "Rolle", + "SAVINGNOTE": "Sparnotiz", + "SAVINGSACCOUNT": "Sparkonto", + "SAVINGSACCOUNTCHARGE": "Sparkontogebühr", + "SAVINGSNOTE": "Sparnotiz", + "SAVINGSPRODUCT": "Sparprodukt", + "SCHEDULER": "Planer", + "SHAREACCOUNT": "Anteilskonto", + "SHAREACCOUNTCHARGE": "Anteilskontogebühr", + "SHAREACCOUNTDIVIDENDS": "Anteilskonto-Dividenden", + "SHAREACCOUNTPURCHASE": "Anteilskontokauf", + "SHAREDIVIDEND": "Anteilsdividende", + "SHAREPRODUCT": "Anteilsprodukt", + "SHARESACCOUNTCHARGE": "Anteilskontogebühr", + "SMSCAMPAIGN": "SMS-Kampagne", + "SSBENEFICIARYTPT": "Self-Service-Begünstigte TPT", + "STAFF": "Personal", + "STANDINGINSTRUCTION": "Dauerauftrag", + "TAXCOMPONENT": "Steuerkomponente", + "TAXGROUP": "Steuergruppe", + "TELLER": "Schalter", + "TEMPLATE": "Vorlage", + "USER": "Benutzer", + "WORKINGDAYS": "Arbeitstage" } }, "messages": { @@ -3941,7 +4205,68 @@ "No Closed Share Accounts Found": "Keine geschlossenen Anteilskonten gefunden", "No Collateral Data Found": "Keine Sicherheitsdaten gefunden", "No Identities Found": "Keine Identitäten gefunden", - "validationSaved": "Validierungsdaten erfolgreich gespeichert." + "validationSaved": "Validierungsdaten erfolgreich gespeichert.", + "workingCapitalDiscountUpdated": "Betriebskapitalrabatt wurde erfolgreich aktualisiert.", + "unableToUpdateDiscount": "Rabatt konnte nicht aktualisiert werden." + }, + "auditTrail": { + "actions": { + "CREATE": "Erstellen", + "UPDATE": "Aktualisieren", + "DELETE": "Löschen", + "PERMISSIONS": "Berechtigungen", + "ACTIVATE": "Aktivieren", + "DEACTIVATE": "Deaktivieren", + "APPROVE": "Genehmigen", + "REJECT": "Ablehnen", + "DISBURSE": "Auszahlen", + "UNDO": "Rückgängig", + "CLOSE": "Schließen", + "REOPEN": "Wiedereröffnen", + "WITHDRAW": "Abheben", + "DEPOSIT": "Einzahlung", + "TRANSFER": "Übertragen", + "POSTINTEREST": "Zinsen buchen", + "CALCULATEINTEREST": "Zinsen berechnen", + "ASSIGNSTAFF": "Mitarbeiter zuweisen", + "ACCEPTTRANSFER": "Übertragung akzeptieren", + "PROPOSETRANSFER": "Übertragung vorschlagen", + "REPAYMENT": "Rückzahlung", + "DISBURSETOSAVINGS": "Auf Sparkonto auszahlen" + }, + "entities": { + "ROLE": "Rolle", + "CODEVALUE": "Code-Wert", + "FUND": "Fonds", + "OFFICE": "Büro", + "TEMPLATE": "Vorlage", + "USER": "Benutzer", + "GROUPNOTE": "Gruppennotiz", + "SAVINGNOTE": "Sparnotiz", + "SAVINGSACCOUNT": "Sparkonto", + "LOAN": "Kredit", + "CLIENT": "Kunde", + "GROUP": "Gruppe", + "CHARGE": "Gebühr", + "PRODUCT": "Produkt", + "LOANPRODUCT": "Kreditprodukt", + "SAVINGSPRODUCT": "Sparprodukt", + "CENTER": "Zentrum", + "EMPLOYEE": "Mitarbeiter", + "CURRENCY": "Währung", + "HOLIDAY": "Feiertag", + "REPORT": "Bericht", + "DATATABLE": "Datentabelle", + "COLLATERAL": "Sicherheit", + "GUARANTOR": "Bürge", + "SHAREPRODUCT": "Anteilsprodukt", + "FIXEDDEPOSITPRODUCT": "Festgeldprodukt", + "FIXEDDEPOSITACCOUNT": "Festgeldkonto", + "RECURRINGDEPOSITPRODUCT": "Sparplanprodukt", + "RECURRINGDEPOSITACCOUNT": "Sparplankonto", + "ACCOUNTTRANSFER": "Kontoübertragung", + "SSBENEFICIARYTPT": "Self-Service-Begünstigte TPT" + } } }, "permissions": { @@ -4453,7 +4778,8 @@ "ACTIVE": "AKTIV", "PENDING": "AUSSTEHEND", "INACTIVE": "INAKTIV", - "Process Remittance": "Überweisung bearbeiten" + "Process Remittance": "Überweisung bearbeiten", + "Allow full term length for each tranche disbursement": "Wenn aktiviert, folgt jede Tranchenauszahlung dem vollständigen Kreditlaufzeitplan anstatt sich an die verbleibende Laufzeit anzupassen. Nur verfügbar für den PROGRESSIVEN Kreditplantyp." }, "countries": { "AF": "Afghanistan", @@ -4627,5 +4953,13 @@ "failure": "Umfrage konnte nicht eingereicht werden." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Nicht implementierter Fehler", + "message": "Nicht implementierte Funktionalität!" + } + } } } diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json index 17928145db..0342c0be38 100644 --- a/src/assets/translations/en-US.json +++ b/src/assets/translations/en-US.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "Charge cannot be setup as a penalty due at disbursement.", "error.msg.charge.duplicate.name": "Charge with that name already exists.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "Update of Charge applies to is not supported.", + "error.msg.data.integrity.issue": "The request caused a data integrity issue in the database", "error.msg.loan.product.close.date.cannot.be.before.start.date": "Loan product close date cannot before the start date.", "error.msg.product.loan.duplicate.charge": "Loan product may only have one charge of each type.", "error.msg.product.loan.duplicate.name": "Loan product with name `{{params[0].value}}` already exists.", @@ -1052,6 +1053,8 @@ "are": "are", "be larger than 0 and at most 100": "be larger than 0 and at most 100", "begin with a special character or number": "begin with a special character or number", + "can not be less than": "can not be less than", + "can not be more than": "can not be more than", "cannot begin with a special character or number": "cannot begin with a special character or number", "decimal places": "decimal places", "do not match": "do not match", @@ -1363,6 +1366,7 @@ "Minimum Active Period": "Minimum Active Period", "Minimum Deposit Term": "Minimum Deposit Term", "Moratorium": "Moratorium", + "Near Breach Configuration": "Near Breach Configuration", "Nominal Interest Rate by loan cycle": "Nominal Interest Rate by loan cycle", "Notes": "Notes", "Notification External Service": "Notification External Service", @@ -2388,6 +2392,7 @@ "Name": "Name", "Name Decorated": "Name Decorated", "Name of the Organization": "Name of the Organization", + "Near Breach": "Near Breach", "Near Breach Evaluation Frequency": "Near Breach Evaluation Frequency", "Near Breach Evaluation Frequency Type": "Near Breach Evaluation Frequency Type", "Near Breach Threshold": "Near Breach Threshold", @@ -2798,6 +2803,7 @@ "Text": "Text", "Theme": "Theme", "Theme and Font": "Theme and Font", + "Threshold": "Threshold", "Thursday": "Thursday", "Time": "Time", "To": "To", @@ -3291,6 +3297,7 @@ "Audit logs of all the activities": "Audit logs of all the activities, such as create client, disburse loans etc", "Bar": "Bar", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Breach Configurations", "Bulk Import": "Bulk Import", "Bulk Loan Reassignment": "Bulk Loan Reassignment", "Bulk data import using excel spreadsheet templates": "Bulk data import using excel spreadsheet templates for clients, offices, etc.", @@ -3342,6 +3349,7 @@ "Create Accounting Closure": "Create Accounting Closure", "Create Accounting Rule": "Create Accounting Rule", "Create Adhoc Query": "Create Adhoc Query", + "Create Breach": "Create Breach", "Create Center": "Create Center", "Create Charge": "Create Charge", "Create Client": "Create Client", @@ -3370,6 +3378,7 @@ "View Loan Originator": "View Loan Originator", "Edit Loan Originator": "Edit Loan Originator", "Create Loans Account": "Create Loans Account", + "Create Near Breach": "Create Near Breach", "Create New GL Account": "This option allows you to create new GL accounts.", "Create Office": "Create Office", "Create Payment Type": "Create Payment Type", @@ -3442,6 +3451,7 @@ "Define delinquency day ranges and bucket set for loan products": "Define delinquency day ranges and bucket set for loan products", "Define floating rates for loan products": "Define floating rates for loan products", "Define holidays for office": "Define holidays for office", + "Define near breaches for working capital products": "Define near breaches for working capital products", "Define or modify Maker Checker tasks": "Define or modify Maker Checker tasks", "Define or modify entity to entity mappings": "Define or modify entity to entity mappings", "Define or modify roles and associated permissions": "Define or modify roles and associated permissions", @@ -3461,6 +3471,7 @@ "Edit Accounting Rules": "Edit Accounting Rules", "Edit Adhoc Query": "Edit Adhoc Query", "Edit Amazon S3 Configuration": "Edit Amazon S3 Configuration", + "Edit Breach": "Edit Breach", "Edit Cashier": "Edit Cashier", "Edit Center": "Edit Center", "Edit Charge": "Edit Charge", @@ -3482,7 +3493,9 @@ "Edit Group": "Edit Group", "Edit Holidays": "Edit Holidays", "Edit Hook": "Edit Hook", + "Edit Loan Originator": "Edit Loan Originator", "Edit Loan Product": "Edit Loan Product", + "Edit Near Breach": "Edit Near Breach", "Edit Notification Configuration": "Edit Notification Configuration", "Edit Office": "Edit Office", "Edit Payment Type": "Edit Payment Type", @@ -3742,6 +3755,7 @@ "N/A": "N/A", "Navigate system selecting entity": "This will allow the user to quickly navigate the system selecting entity while searching makes the navigation more robust.", "Navigation": "Navigation", + "Near Breach Configurations": "Near Breach Configurations", "Not Activated": "Not Activated", "No Data": "No Data", "No Description": "No Description", @@ -3811,6 +3825,7 @@ "Recurring Deposits Account Transactions": "Recurring Deposits Account Transactions", "RecurringDeposit Account View": "Recurring Deposit Account View", "Red asterisk field": "Fields with a red asterisk (*) are required. To know more click:", + "Remittances": "Remittances", "Repayment Schedule": "Repayment Schedule", "Repeats' and 'Repeats every": "Note: 'Repeats' and 'Repeats every' cannot not be modified if there are active accounts (JLG Loans, Recurring Deposits etc) dependent on this meeting.", "Report Parameters": "Report Parameters", @@ -3953,6 +3968,7 @@ "View Adhoc Query": "View Adhoc Query", "View Amazon S3 Configuration": "View Amazon S3 Configuration", "View Audit": "View Audit", + "View Breach": "View Breach", "View Bulk Import": "View Bulk Import", "View Cashier": "View Cashier", "View Charges": "View Charges", @@ -3975,7 +3991,9 @@ "View Group": "View Group", "View Holidays": "View Holidays", "View Hook": "View Hook", + "View Loan Originator": "View Loan Originator", "View Loan Product": "View Loan Product", + "View Near Breach": "View Near Breach", "View Notification Configuration": "View Notification Configuration", "View Office": "View Office", "View Product Mix": "View Product Mix", diff --git a/src/assets/translations/es-CL.json b/src/assets/translations/es-CL.json index c972dacf74..9d4bbc396e 100644 --- a/src/assets/translations/es-CL.json +++ b/src/assets/translations/es-CL.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "El cargo no se puede configurar como una penalización adeudada en el momento del curso.", "error.msg.charge.duplicate.name": "El cargo con ese nombre ya existe.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "No se admite la actualización del cargo aplicable.", + "error.msg.data.integrity.issue": "La solicitud causó un problema de integridad de datos en la base de datos", "error.msg.loan.product.close.date.cannot.be.before.start.date": "La fecha de cierre del producto crediticio no puede ser anterior a la fecha de inicio.", "error.msg.product.loan.duplicate.charge": "El producto de Crédito sólo podrá tener un cargo de cada tipo.", "error.msg.product.loan.duplicate.name": "El producto de Crédito con nombre `{{params[0].value}}` ya existe.", @@ -1046,6 +1047,8 @@ "are": "son", "be larger than 0 and at most 100": "ser mayor que 0 y como máximo 100", "begin with a special character or number": "comenzar con un carácter especial o número", + "can not be less than": "no puede ser menos que", + "can not be more than": "no puede ser más que", "cannot begin with a special character or number": "no puede comenzar con un carácter o número especial", "decimal places": "lugares decimales", "do not match": "no coinciden", @@ -1347,6 +1350,7 @@ "Minimum Active Period": "Período mínimo activo", "Minimum Deposit Term": "Plazo mínimo de depósito", "Moratorium": "Moratoria", + "Near Breach Configuration": "Configuración de Incumplimiento Cercano", "Nominal Interest Rate by loan cycle": "Tasa de Interés Nominal por ciclo de Crédito", "Notes": "Notas", "Notification External Service": "Notificación Servicio Externo", @@ -1539,7 +1543,8 @@ "Payout Assignment": "Asignación de Pago", "Identification": "Identificación", "Professional Information": "Información Profesional", - "Add Profile Entry": "Agregar Entrada de Perfil" + "Add Profile Entry": "Agregar Entrada de Perfil", + "Recipient Summary": "Resumen del destinatario" }, "inputs": { "Loan Account Status": "Estado de la cuenta", @@ -2369,6 +2374,7 @@ "Name": "Nombre", "Name Decorated": "Nombre decorado", "Name of the Organization": "Nombre de la organización", + "Near Breach": "Incumplimiento inminente", "Near Breach Evaluation Frequency": "Frecuencia de evaluación de incumplimiento inminente", "Near Breach Evaluation Frequency Type": "Tipo de frecuencia de evaluación de incumplimiento inminente", "Near Breach Threshold": "Umbral de incumplimiento inminente", @@ -2777,6 +2783,7 @@ "Text": "Texto", "Theme": "Tema", "Theme and Font": "Tema y fuente", + "Threshold": "Umbral", "Thursday": "Jueves", "Time": "Tiempo", "To": "A", @@ -2993,7 +3000,46 @@ "Period Payment Frequency Type": "Tipo de frecuencia de pago por período", "Payment Allocation Transactions": "Transacciones de asignación de pagos", "Net Present Value day count": "Recuento de días del valor presente neto", - "Installment": "Cuota" + "Installment": "Cuota", + "Beneficiary Selection": "Selección de beneficiario", + "Confirmation Number": "Número de confirmación", + "Sub Status": "Subestado", + "Document": "Documento", + "Document Number": "Número de documento", + "Document number is required": "El número de documento es obligatorio", + "Allow full term for each tranche": "Permitir plazo completo para cada tramo", + "Failed to load vendors": "No se pudieron cargar los proveedores", + "First name is required": "El nombre es obligatorio", + "Last name is required": "El apellido es obligatorio", + "Search Client": "Buscar cliente", + "Type client name or account number": "Ingrese nombre del cliente o número de cuenta", + "Overdue": "Vencido", + "Overdue Fees": "Cargos vencidos", + "Confirmed At": "Confirmado el", + "Full Name": "Nombre completo", + "Loading vendors": { + "": { + "": { + "": "Cargando proveedores..." + } + } + }, + "Minimum 3 characters": "Mínimo 3 caracteres", + "National ID": "RUT / Cédula de identidad", + "Nationality": "Nacionalidad", + "Payout Amount": "Monto de pago", + "Payout Country": "País de pago", + "Payout Token": "Token de pago", + "Recipient Name": "Nombre del destinatario", + "Send Amount": "Monto a enviar", + "Send Country": "País de envío", + "Sender": "Remitente", + "Sender Name": "Nombre del remitente", + "Sent By": "Enviado por", + "Deposited At": "Depositado el", + "Passport": "Pasaporte", + "Driver's License": "Licencia de conducir", + "Mothers Maiden Name": "Apellido de soltera de la madre" }, "links": { "Community": "Comunidad", @@ -3133,7 +3179,8 @@ "Reject Additional Shares": "Rechazar acciones adicionales", "Tasks": "Tareas", "Remittances": "Remesas", - "Process Remittance": "Procesar Remesa" + "Process Remittance": "Procesar Remesa", + "Undo Write-off": "Deshacer castigo contable" }, "placeholders": { "Add new server": "Agregar nuevo servidor", @@ -3256,6 +3303,7 @@ "Audit logs of all the activities": "Registros de auditoría de todas las actividades, como crear clientes, desembolsar Créditos, etc.", "Bar": "Bar", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Configuraciones de Incumplimiento", "Bulk Import": "Importación masiva", "Bulk Loan Reassignment": "Reasignación de Créditos a granel", "Bulk data import using excel spreadsheet templates": "Importación masiva de datos mediante plantillas de hojas de cálculo excel para clientes, oficinas, etc.", @@ -3306,6 +3354,7 @@ "Create Accounting Closure": "Crear cierre contable", "Create Accounting Rule": "Crear regla de contabilidad", "Create Adhoc Query": "Crear consulta ad hoc", + "Create Breach": "Crear Incumplimiento", "Create Center": "Crear centro", "Create Charge": "Crear cargo", "Create Client": "Crear cliente", @@ -3334,6 +3383,7 @@ "View Loan Originator": "Ver Originador de Créditos", "Edit Loan Originator": "Editar Originador de Créditos", "Create Loans Account": "Crear cuenta de Créditos", + "Create Near Breach": "Crear Cuasi Incumplimiento", "Create New GL Account": "Esta opción le permite crear nuevas cuentas GL.", "Create Office": "Crear oficina", "Create Payment Type": "Crear tipo de pago", @@ -3403,6 +3453,7 @@ "Define delinquency day ranges and bucket set for loan products": "Definir rangos de días de morosidad y conjuntos de categorías para productos de Crédito", "Define floating rates for loan products": "Definir tasas flotantes para productos crediticios", "Define holidays for office": "Definir días festivos para la oficina.", + "Define near breaches for working capital products": "Definir incumplimientos cercanos para productos de capital de trabajo", "Define or modify Maker Checker tasks": "Definir o modificar tareas de Realizador Aprobador", "Define or modify entity to entity mappings": "Definir o modificar asignaciones de entidad a entidad", "Define or modify roles and associated permissions": "Definir o modificar roles y permisos asociados.", @@ -3422,6 +3473,7 @@ "Edit Accounting Rules": "Editar reglas de contabilidad", "Edit Adhoc Query": "Editar consulta ad hoc", "Edit Amazon S3 Configuration": "Editar la configuración de Amazon S3", + "Edit Breach": "Editar Incumplimiento", "Edit Cashier": "Editar cajero", "Edit Center": "Centro de edición", "Edit Charge": "Editar cargo", @@ -3443,7 +3495,9 @@ "Edit Group": "Editar grupo", "Edit Holidays": "Editar días festivos", "Edit Hook": "Editar gancho", + "Edit Loan Originator": "Editar Originador de Préstamo", "Edit Loan Product": "Editar producto de Crédito", + "Edit Near Breach": "Editar Cuasi Incumplimiento", "Edit Notification Configuration": "Editar configuración de notificación", "Edit Office": "Editar oficina", "Edit Payment Type": "Editar tipo de pago", @@ -3619,6 +3673,7 @@ "N/A": "N/A", "Navigate system selecting entity": "Esto permitirá al usuario navegar rápidamente por el sistema seleccionando la entidad mientras la búsqueda hace que la navegación sea más sólida.", "Navigation": "Navegación", + "Near Breach Configurations": "Configuraciones de Cuasi Incumplimiento", "Not Activated": "No Activado", "No Data": "Sin datos", "No Description": "Sin descripción", @@ -3687,6 +3742,7 @@ "Recurring Deposits Account Transactions": "Transacciones de cuentas de depósitos recurrentes", "RecurringDeposit Account View": "Vista de cuenta de Depósito Recurrente", "Red asterisk field": "Los campos con un asterisco rojo (*) son obligatorios. Para saber más haga clic en:", + "Remittances": "Remesas", "Repayment Schedule": "Calendario de pagos", "Repeats' and 'Repeats every": "Nota: 'Repeticiones' y 'Repeticiones cada' no se pueden modificar si hay cuentas activas (Créditos JLG, depósitos recurrentes, etc.) que dependen de esta reunión.", "Report Parameters": "Parámetros del reporte", @@ -3815,6 +3871,7 @@ "View Adhoc Query": "Ver consulta ad hoc", "View Amazon S3 Configuration": "Ver la configuración de Amazon S3", "View Audit": "Ver auditoría", + "View Breach": "Ver Incumplimiento", "View Bulk Import": "Ver importación masiva", "View Cashier": "Ver cajero", "View Charges": "Ver cargos", @@ -3837,7 +3894,9 @@ "View Group": "Ver grupo", "View Holidays": "Ver festivos", "View Hook": "Ver gancho", + "View Loan Originator": "Ver Originador de Préstamo", "View Loan Product": "Ver producto de Crédito", + "View Near Breach": "Ver Cuasi Incumplimiento", "View Notification Configuration": "Ver configuración de notificación", "View Office": "Ver Oficina", "View Product Mix": "Ver mezcla de productos", @@ -3912,7 +3971,9 @@ "Failed to search clients. Please try again.": "Error al buscar clientes. Intente de nuevo.", "Process Remittance": "Procesar Remesa", "Loan Originators": "Originadores de créditos", - "Loan Reschedules": "Reprogramaciones de Créditos" + "Loan Reschedules": "Reprogramaciones de Créditos", + "Settings saved successfully": "Configuración guardada exitosamente.", + "Undo Write-off Description": "Esta acción revertirá la transacción de castigo contable y restaurará el préstamo a su estado activo anterior. Por favor, proporcione una nota explicando el motivo de esta acción." }, "permissions": { "actions": { @@ -4429,7 +4490,8 @@ "ACTIVE": "ACTIVO", "PENDING": "PENDIENTE", "INACTIVE": "INACTIVO", - "Process Remittance": "Procesar Remesa" + "Process Remittance": "Procesar Remesa", + "Allow full term length for each tranche disbursement": "Cuando está habilitado, cada desembolso de tramo seguirá el cronograma completo del préstamo en lugar de ajustarse al plazo restante. Solo disponible para el tipo de cronograma PROGRESIVO." }, "countries": { "AF": "Afganistán", @@ -4603,5 +4665,13 @@ "failure": "Error al enviar la encuesta." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Error no implementado", + "message": "¡Funcionalidad no implementada!" + } + } } } diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json index 7c4ff98cfe..fbbcc50b8a 100644 --- a/src/assets/translations/es-MX.json +++ b/src/assets/translations/es-MX.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "El cargo no se puede configurar como una penalización adeudada en el momento de la ministración.", "error.msg.charge.duplicate.name": "El cargo con ese nombre ya existe.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "No se admite la actualización del cargo aplicable.", + "error.msg.data.integrity.issue": "La solicitud provocó un problema de integridad de datos en la base de datos", "error.msg.loan.product.close.date.cannot.be.before.start.date": "La fecha de cierre del producto crediticio no puede ser anterior a la fecha de inicio.", "error.msg.product.loan.duplicate.charge": "El producto de Crédito sólo podrá tener un cargo de cada tipo.", "error.msg.product.loan.duplicate.name": "El producto de Crédito con nombre `{{params[0].value}}` ya existe.", @@ -1049,6 +1050,8 @@ "are": "son", "be larger than 0 and at most 100": "ser mayor que 0 y como máximo 100", "begin with a special character or number": "comenzar con un carácter especial o número", + "can not be less than": "no puede ser menos que", + "can not be more than": "no puede ser más que", "cannot begin with a special character or number": "no puede comenzar con un carácter o número especial", "decimal places": "lugares decimales", "do not match": "no coinciden", @@ -1349,6 +1352,7 @@ "Minimum Active Period": "Período mínimo activo", "Minimum Deposit Term": "Plazo mínimo de depósito", "Moratorium": "Moratoria", + "Near Breach Configuration": "Configuración de Incumplimiento Cercano", "Nominal Interest Rate by loan cycle": "Tasa de Interés Nominal por ciclo de Crédito", "Notes": "Notas", "Notification External Service": "Notificación Servicio Externo", @@ -1541,7 +1545,8 @@ "Confirmation Details": "Detalles de Confirmación", "Payment Successful": "Pago Exitoso", "Transaction Status": "Estado de la Transacción", - "Transaction Summary": "Resumen de la Transacción" + "Transaction Summary": "Resumen de la Transacción", + "Recipient Summary": "Resumen del destinatario" }, "inputs": { "Loan Account Status": "Estado de la cuenta", @@ -2372,6 +2377,7 @@ "Name": "Nombre", "Name Decorated": "Nombre decorado", "Name of the Organization": "Nombre de la organización", + "Near Breach": "Incumplimiento inminente", "Near Breach Evaluation Frequency": "Frecuencia de evaluación de incumplimiento inminente", "Near Breach Evaluation Frequency Type": "Tipo de frecuencia de evaluación de incumplimiento inminente", "Near Breach Threshold": "Umbral de incumplimiento inminente", @@ -2781,6 +2787,7 @@ "Text": "Texto", "Theme": "Tema", "Theme and Font": "Tema y fuente", + "Threshold": "Umbral", "Thursday": "Jueves", "Time": "Tiempo", "To": "A", @@ -3009,7 +3016,22 @@ "Period Payment Frequency Type": "Tipo de frecuencia de pago por período", "Payment Allocation Transactions": "Transacciones de asignación de pagos", "Net Present Value day count": "Recuento de días del valor presente neto", - "Installment": "Cuota" + "Installment": "Cuota", + "Beneficiary Selection": "Selección de beneficiario", + "Confirmation Number": "Número de confirmación", + "Sub Status": "Subestado", + "Allow full term for each tranche": "Permitir plazo completo para cada tramo", + "Confirmed At": "Confirmado el", + "Full Name": "Nombre completo", + "National ID": "CURP / INE", + "Nationality": "Nacionalidad", + "Payout Country": "País de pago", + "Payout Token": "Token de pago", + "Send Amount": "Monto a enviar", + "Send Country": "País de envío", + "Voter ID": "Credencial de elector", + "Passport": "Pasaporte", + "Driver's License": "Licencia de conducir" }, "links": { "Community": "Comunidad", @@ -3148,7 +3170,9 @@ "Redeem Shares": "Canjear acciones", "Approve Additional Shares": "Aprobar acciones adicionales", "Reject Additional Shares": "Rechazar acciones adicionales", - "Tasks": "Tareas" + "Tasks": "Tareas", + "Process Remittance": "Procesar remesa", + "Undo Write-off": "Deshacer castigo contable" }, "placeholders": { "# Remittance": "# Remesa", @@ -3287,6 +3311,7 @@ "Audit logs of all the activities": "Registros de auditoría de todas las actividades, como crear clientes, ministrar Créditos, etc.", "Bar": "Bar", "BIRT": "Mifos Plugin para generar informes usando Eclipse Birt", + "Breach Configurations": "Configuraciones de Incumplimiento", "Bulk Import": "Importación masiva", "Bulk Loan Reassignment": "Reasignación de Créditos a granel", "Bulk data import using excel spreadsheet templates": "Importación masiva de datos mediante plantillas de hojas de cálculo excel para clientes, sucursales, etc.", @@ -3337,6 +3362,7 @@ "Create Accounting Closure": "Crear cierre contable", "Create Accounting Rule": "Crear regla de contabilidad", "Create Adhoc Query": "Crear consulta ad hoc", + "Create Breach": "Crear Incumplimiento", "Create Center": "Crear centro", "Create Charge": "Crear cargo", "Create Client": "Crear cliente", @@ -3365,6 +3391,7 @@ "View Loan Originator": "Ver Originador de Créditos", "Edit Loan Originator": "Editar Originador de Créditos", "Create Loans Account": "Crear cuenta de Créditos", + "Create Near Breach": "Crear Cuasi Incumplimiento", "Create New GL Account": "Esta opción le permite crear nuevas cuentas GL.", "Create Office": "Crear sucursal", "Create Payment Type": "Crear tipo de pago", @@ -3434,6 +3461,7 @@ "Define delinquency day ranges and bucket set for loan products": "Definir rangos de días de morosidad y conjuntos de categorías para productos de Crédito", "Define floating rates for loan products": "Definir tasas flotantes para productos crediticios", "Define holidays for office": "Definir días festivos para la sucursal.", + "Define near breaches for working capital products": "Definir incumplimientos cercanos para productos de capital de trabajo", "Define or modify Maker Checker tasks": "Definir o modificar tareas de Realizador Aprobador", "Define or modify entity to entity mappings": "Definir o modificar asignaciones de entidad a entidad", "Define or modify roles and associated permissions": "Definir o modificar roles y permisos asociados.", @@ -3453,6 +3481,7 @@ "Edit Accounting Rules": "Editar reglas de contabilidad", "Edit Adhoc Query": "Editar consulta ad hoc", "Edit Amazon S3 Configuration": "Editar la configuración de Amazon S3", + "Edit Breach": "Editar Incumplimiento", "Edit Cashier": "Editar cajero", "Edit Center": "Centro de edición", "Edit Charge": "Editar cargo", @@ -3474,7 +3503,9 @@ "Edit Group": "Editar grupo", "Edit Holidays": "Editar días festivos", "Edit Hook": "Editar gancho", + "Edit Loan Originator": "Editar Originador de Préstamo", "Edit Loan Product": "Editar producto de Crédito", + "Edit Near Breach": "Editar Cuasi Incumplimiento", "Edit Notification Configuration": "Editar configuración de notificación", "Edit Office": "Editar sucursal", "Edit Payment Type": "Editar tipo de pago", @@ -3652,6 +3683,7 @@ "N/A": "N/A", "Navigate system selecting entity": "Esto permitirá al usuario navegar rápidamente por el sistema seleccionando la entidad mientras la búsqueda hace que la navegación sea más sólida.", "Navigation": "Navegación", + "Near Breach Configurations": "Configuraciones de Cuasi Incumplimiento", "Not Activated": "No Activado", "No Data": "Sin datos", "No Description": "Sin descripción", @@ -3720,6 +3752,7 @@ "Recurring Deposits Account Transactions": "Transacciones de cuentas de depósitos recurrentes", "RecurringDeposit Account View": "Vista de cuenta de Depósito Recurrente", "Red asterisk field": "Los campos con un asterisco rojo (*) son obligatorios. Para saber más haga clic en:", + "Remittances": "Remesas", "Repayment Schedule": "Calendario de pagos", "Repeats' and 'Repeats every": "Nota: 'Repeticiones' y 'Repeticiones cada' no se pueden modificar si hay cuentas activas (Créditos JLG, depósitos recurrentes, etc.) que dependen de esta reunión.", "Report Parameters": "Parámetros del reporte", @@ -3848,6 +3881,7 @@ "View Adhoc Query": "Ver consulta ad hoc", "View Amazon S3 Configuration": "Ver la configuración de Amazon S3", "View Audit": "Ver auditoría", + "View Breach": "Ver Incumplimiento", "View Bulk Import": "Ver importación masiva", "View Cashier": "Ver cajero", "View Charges": "Ver cargos", @@ -3870,7 +3904,9 @@ "View Group": "Ver grupo", "View Holidays": "Ver festivos", "View Hook": "Ver gancho", + "View Loan Originator": "Ver Originador de Préstamo", "View Loan Product": "Ver producto de Crédito", + "View Near Breach": "Ver Cuasi Incumplimiento", "View Notification Configuration": "Ver configuración de notificación", "View Office": "Ver Sucursal", "View Product Mix": "Ver mezcla de productos", @@ -3928,7 +3964,9 @@ "UploadDocumentHint": "Suba un PDF o imagen para generar una vista previa.", "Process Remittance": "Procesar Remesa", "Loan Originators": "Comisionistas de créditos", - "Loan Reschedules": "Reprogramaciones de Créditos" + "Loan Reschedules": "Reprogramaciones de Créditos", + "Settings saved successfully": "Configuración guardada exitosamente.", + "Undo Write-off Description": "Esta acción revertirá la transacción de castigo contable y restaurará el préstamo a su estado activo anterior. Por favor, proporcione una nota explicando el motivo de esta acción." }, "permissions": { "actions": { @@ -4445,7 +4483,8 @@ "Create Interest Refund": "Crear reembolso de intereses", "ACTIVE": "ACTIVO", "PENDING": "PENDIENTE", - "INACTIVE": "INACTIVO" + "INACTIVE": "INACTIVO", + "Allow full term length for each tranche disbursement": "Cuando está habilitado, cada desembolso de tramo seguirá el cronograma completo del préstamo en lugar de ajustarse al plazo restante. Solo disponible para el tipo de cronograma PROGRESIVO." }, "countries": { "AF": "Afganistán", @@ -4617,5 +4656,13 @@ "failure": "Error al enviar la encuesta." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Error no implementado", + "message": "¡Funcionalidad no implementada!" + } + } } } diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json index cdaf651a54..5bdb53db35 100644 --- a/src/assets/translations/fr-FR.json +++ b/src/assets/translations/fr-FR.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "Les frais ne peuvent pas être établis comme une pénalité due au décaissement.", "error.msg.charge.duplicate.name": "Une charge portant ce nom existe déjà.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "La mise à jour des frais s'applique à n'est pas prise en charge.", + "error.msg.data.integrity.issue": "La requête a provoqué un problème d'intégrité des données dans la base de données", "error.msg.loan.product.close.date.cannot.be.before.start.date": "La date de clôture du produit de prêt ne peut pas être antérieure à la date de début.", "error.msg.product.loan.duplicate.charge": "Le produit de prêt ne peut comporter qu’un seul frais de chaque type.", "error.msg.product.loan.duplicate.name": "Le produit de prêt portant le nom `{{params[0].value}}` existe déjà.", @@ -1048,6 +1049,8 @@ "be": "être", "be larger than 0 and at most 100": "être supérieur à 0 et au maximum 100", "begin with a special character or number": "commencer par un caractère spécial ou un chiffre", + "can not be less than": "ne peut pas être inférieur à", + "can not be more than": "ne peut pas être supérieur à", "cannot begin with a special character or number": "ne peut pas commencer par un caractère spécial ou un chiffre", "decimal places": "décimales", "do not match": "ne correspondent pas", @@ -1350,6 +1353,7 @@ "Minimum Active Period": "Période d'activité minimale", "Minimum Deposit Term": "Durée de dépôt minimale", "Moratorium": "Moratoire", + "Near Breach Configuration": "Configuration de quasi-violation", "Nominal Interest Rate by loan cycle": "Taux d'intérêt nominal par cycle de prêt", "Notes": "Remarques", "Notification External Service": "Service externe de notification", @@ -1542,7 +1546,8 @@ "Payout Assignment": "Attribution du versement", "Identification": "Identification", "Professional Information": "Informations professionnelles", - "Add Profile Entry": "Ajouter une entrée de profil" + "Add Profile Entry": "Ajouter une entrée de profil", + "Recipient Summary": "Récapitulatif du destinataire" }, "inputs": { "Loan Account Status": "Statut du compte de prêt", @@ -2371,6 +2376,7 @@ "Name": "Nom", "Name Decorated": "Nom décoré", "Name of the Organization": "Nom de l'organisation", + "Near Breach": "Violation proche", "Near Breach Evaluation Frequency": "Fréquence d'évaluation de violation proche", "Near Breach Evaluation Frequency Type": "Type de fréquence d'évaluation de violation proche", "Near Breach Threshold": "Seuil de violation proche", @@ -2779,6 +2785,7 @@ "Text": "Texte", "Theme": "Thème", "Theme and Font": "Thème et police", + "Threshold": "Seuil", "Thursday": "Jeudi", "Time": "Temps", "To": "À", @@ -2995,7 +3002,46 @@ "Period Payment Frequency Type": "Type de fréquence de paiement périodique", "Payment Allocation Transactions": "Transactions d'affectation des paiements", "Net Present Value day count": "Nombre de jours de la valeur actuelle nette", - "Installment": "Versement" + "Installment": "Versement", + "Beneficiary Selection": "Sélection du bénéficiaire", + "Confirmation Number": "Numéro de confirmation", + "Sub Status": "Sous-statut", + "Document": "Document", + "Document Number": "Numéro de document", + "Document number is required": "Le numéro de document est obligatoire", + "Allow full term for each tranche": "Autoriser la durée totale pour chaque tranche", + "Failed to load vendors": "Échec du chargement des fournisseurs", + "First name is required": "Le prénom est obligatoire", + "Last name is required": "Le nom de famille est obligatoire", + "Search Client": "Rechercher un client", + "Type client name or account number": "Saisissez le nom du client ou le numéro de compte", + "Overdue": "En retard", + "Overdue Fees": "Frais en retard", + "Confirmed At": "Confirmé le", + "Full Name": "Nom complet", + "Loading vendors": { + "": { + "": { + "": "Chargement des fournisseurs..." + } + } + }, + "Minimum 3 characters": "Minimum 3 caractères", + "National ID": "Carte d'identité nationale", + "Nationality": "Nationalité", + "Payout Amount": "Montant du paiement", + "Payout Country": "Pays de paiement", + "Payout Token": "Jeton de paiement", + "Recipient Name": "Nom du destinataire", + "Send Amount": "Montant à envoyer", + "Send Country": "Pays d'envoi", + "Sender": "Expéditeur", + "Sender Name": "Nom de l'expéditeur", + "Sent By": "Envoyé par", + "Deposited At": "Déposé le", + "Passport": "Passeport", + "Driver's License": "Permis de conduire", + "Mothers Maiden Name": "Nom de jeune fille de la mère" }, "links": { "Community": "Communauté", @@ -3135,7 +3181,8 @@ "Reject Additional Shares": "Rejeter les partages supplémentaires", "Tasks": "Tâches", "Remittances": "Transferts", - "Process Remittance": "Traiter le transfert" + "Process Remittance": "Traiter le transfert", + "Undo Write-off": "Annuler l'abandon de créance" }, "placeholders": { "Add new server": "Ajouter un nouveau serveur", @@ -3258,6 +3305,7 @@ "Audit logs of all the activities": "Journaux d'audit de toutes les activités, telles que la création de clients, le décaissement des prêts, etc.", "Bar": "Bar", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Configurations de Dépassement", "Bulk Import": "Importation en masse", "Bulk Loan Reassignment": "Réaffectation groupée de prêts", "Bulk data import using excel spreadsheet templates": "Importation de données en masse à l'aide de modèles de feuilles de calcul Excel pour les clients, les bureaux, etc.", @@ -3308,6 +3356,7 @@ "Create Accounting Closure": "Créer une clôture comptable", "Create Accounting Rule": "Créer une règle comptable", "Create Adhoc Query": "Créer une requête ad hoc", + "Create Breach": "Créer un Dépassement", "Create Center": "Créer un centre", "Create Charge": "Créer des frais", "Create Client": "Créer un client", @@ -3336,6 +3385,7 @@ "View Loan Originator": "Voir le courtier en prêts", "Edit Loan Originator": "Modifier le courtier en prêts", "Create Loans Account": "Créer un compte de prêts", + "Create Near Breach": "Créer un Quasi-Dépassement", "Create New GL Account": "Cette option vous permet de créer de nouveaux comptes GL.", "Create Office": "Créer un bureau", "Create Payment Type": "Créer un type de paiement", @@ -3405,6 +3455,7 @@ "Define delinquency day ranges and bucket set for loan products": "Définir des plages de jours de délinquance et un ensemble de catégories pour les produits de prêt", "Define floating rates for loan products": "Définir des taux variables pour les produits de prêt", "Define holidays for office": "Définir les jours fériés pour le bureau", + "Define near breaches for working capital products": "Définir les quasi-violations pour les produits de fonds de roulement", "Define or modify Maker Checker tasks": "Définir ou modifier les tâches de Maker Checker", "Define or modify entity to entity mappings": "Définir ou modifier les mappages d'entité à entité", "Define or modify roles and associated permissions": "Définir ou modifier les rôles et les autorisations associées", @@ -3424,6 +3475,7 @@ "Edit Accounting Rules": "Modifier les règles comptables", "Edit Adhoc Query": "Modifier une requête ad hoc", "Edit Amazon S3 Configuration": "Modifier la configuration d'Amazon S3", + "Edit Breach": "Modifier un Dépassement", "Edit Cashier": "Modifier le caissier", "Edit Center": "Centre d'édition", "Edit Charge": "Modifier les frais", @@ -3445,7 +3497,9 @@ "Edit Group": "Modifier le groupe", "Edit Holidays": "Modifier les jours fériés", "Edit Hook": "Modifier le crochet", + "Edit Loan Originator": "Modifier l'Initiateur de Prêt", "Edit Loan Product": "Modifier le produit de prêt", + "Edit Near Breach": "Modifier un Quasi-Dépassement", "Edit Notification Configuration": "Modifier la configuration des notifications", "Edit Office": "Modifier le bureau", "Edit Payment Type": "Modifier le type de paiement", @@ -3620,6 +3674,7 @@ "N/A": "N / A", "Navigate system selecting entity": "Cela permettra à l'utilisateur de naviguer rapidement dans l'entité de sélection du système tandis que la recherche rendra la navigation plus robuste.", "Navigation": "La navigation", + "Near Breach Configurations": "Configurations de Quasi-Dépassement", "Not Activated": "Non activé", "No Data": "Pas de données", "No Description": "Pas de description", @@ -3688,6 +3743,7 @@ "Recurring Deposits Account Transactions": "Opérations récurrentes sur le compte de dépôt", "RecurringDeposit Account View": "Vue du compte de dépôt récurrent", "Red asterisk field": "Les champs marqués d'un astérisque rouge (*) sont obligatoires. Pour en savoir plus cliquez :", + "Remittances": "Remises", "Repayment Schedule": "Calendrier de remboursement", "Repeats' and 'Repeats every": "Remarque : « Répétitions » et « Répétitions tous les » ne peuvent pas être modifiés s'il existe des comptes actifs (prêts JLG, dépôts récurrents, etc.) dépendant de cette réunion.", "Report Parameters": "Paramètres du rapport", @@ -3816,6 +3872,7 @@ "View Adhoc Query": "Afficher la requête ad hoc", "View Amazon S3 Configuration": "Afficher la configuration d'Amazon S3", "View Audit": "Afficher l'audit", + "View Breach": "Afficher un Dépassement", "View Bulk Import": "Afficher l'importation groupée", "View Cashier": "Afficher le caissier", "View Charges": "Afficher les frais", @@ -3838,7 +3895,9 @@ "View Group": "Afficher le groupe", "View Holidays": "Voir les jours fériés", "View Hook": "Voir le crochet", + "View Loan Originator": "Afficher l'Initiateur de Prêt", "View Loan Product": "Voir le produit de prêt", + "View Near Breach": "Afficher un Quasi-Dépassement", "View Notification Configuration": "Afficher la configuration des notifications", "View Office": "Voir le bureau", "View Product Mix": "Voir la gamme de produits", @@ -3913,7 +3972,9 @@ "Failed to search clients. Please try again.": "Échec de la recherche de clients. Veuillez réessayer.", "Process Remittance": "Traiter le transfert", "Loan Originators": "Les courtiers en prêts", - "Loan Reschedules": "Rééchelonnements de prêt" + "Loan Reschedules": "Rééchelonnements de prêt", + "Settings saved successfully": "Paramètres enregistrés avec succès.", + "Undo Write-off Description": "Cette action annulera la transaction d'abandon de créance et rétablira le prêt à son statut actif précédent. Veuillez fournir une note expliquant la raison de cette action." }, "permissions": { "actions": { @@ -4430,7 +4491,8 @@ "ACTIVE": "ACTIF", "PENDING": "EN ATTENTE", "INACTIVE": "INACTIF", - "Process Remittance": "Traiter le transfert" + "Process Remittance": "Traiter le transfert", + "Allow full term length for each tranche disbursement": "Lorsqu'activé, chaque décaissement de tranche suivra le calendrier complet du prêt au lieu de s'adapter à la durée restante. Disponible uniquement pour le type de calendrier PROGRESSIF." }, "countries": { "AF": "Afghanistan", @@ -4605,5 +4667,13 @@ "failure": "Échec de la soumission de l'enquête." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Erreur non implémentée", + "message": "Fonctionnalité non implémentée !" + } + } } } diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json index 8348d4b164..b5c9618893 100644 --- a/src/assets/translations/it-IT.json +++ b/src/assets/translations/it-IT.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "L'addebito non può essere impostato come penale dovuta al momento dell'esborso.", "error.msg.charge.duplicate.name": "L'addebito con quel nome esiste già.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "L'aggiornamento della tariffa applicata non è supportato.", + "error.msg.data.integrity.issue": "La richiesta ha causato un problema di integrità dei dati nel database", "error.msg.loan.product.close.date.cannot.be.before.start.date": "La data di chiusura del prodotto di prestito non può essere anteriore alla data di inizio.", "error.msg.product.loan.duplicate.charge": "Il prodotto in prestito può avere un solo addebito per ciascun tipo.", "error.msg.product.loan.duplicate.name": "Il prodotto di prestito con il nome `{{params[0].value}}` esiste già.", @@ -753,7 +754,8 @@ "PRINT": "Stampa", "DONE": "Fatto", "Submitting": "Invio in corso", - "OK": "OK" + "OK": "OK", + "Is Self Service": "Self Service" }, "catalogs": { "Interest payment waiver": "Rinuncia al pagamento degli interessi", @@ -1046,6 +1048,8 @@ "are": "Sono", "be larger than 0 and at most 100": "essere maggiore di 0 e al massimo 100", "begin with a special character or number": "iniziare con un carattere o un numero speciale", + "can not be less than": "non può essere meno di", + "can not be more than": "non può essere più di", "cannot begin with a special character or number": "non può iniziare con un carattere o un numero speciale", "decimal places": "decimali", "do not match": "non corrispondono", @@ -1346,6 +1350,7 @@ "Minimum Active Period": "Periodo attivo minimo", "Minimum Deposit Term": "Durata minima del deposito", "Moratorium": "Moratoria", + "Near Breach Configuration": "Configurazione di quasi-violazione", "Nominal Interest Rate by loan cycle": "Tasso di interesse nominale per ciclo di prestito", "Notes": "Appunti", "Notification External Service": "Servizio esterno di notifica", @@ -1538,7 +1543,8 @@ "Payout Assignment": "Assegnazione pagamento", "Identification": "Identificazione", "Professional Information": "Informazioni professionali", - "Add Profile Entry": "Aggiungi voce di profilo" + "Add Profile Entry": "Aggiungi voce di profilo", + "Recipient Summary": "Riepilogo destinatario" }, "inputs": { "Loan Account Status": "Stato del conto di prestito", @@ -2367,6 +2373,7 @@ "Name": "Nome", "Name Decorated": "Nome decorato", "Name of the Organization": "Nome dell'organizzazione", + "Near Breach": "Violazione prossima", "Near Breach Evaluation Frequency": "Frequenza di valutazione della violazione prossima", "Near Breach Evaluation Frequency Type": "Tipo di frequenza di valutazione della violazione prossima", "Near Breach Threshold": "Soglia di violazione prossima", @@ -2775,6 +2782,7 @@ "Text": "Testo", "Theme": "Tema", "Theme and Font": "Tema e carattere", + "Threshold": "Soglia", "Thursday": "Giovedì", "Time": "Tempo", "To": "A", @@ -2991,7 +2999,46 @@ "Period Payment Frequency Type": "Periodo Frequenza di pagamento Tipo", "Payment Allocation Transactions": "Transazioni di allocazione dei pagamenti", "Net Present Value day count": "Conteggio dei giorni del valore attuale netto", - "Installment": "Rata" + "Installment": "Rata", + "Beneficiary Selection": "Selezione beneficiario", + "Confirmation Number": "Numero di conferma", + "Sub Status": "Sotto-stato", + "Document": "Documento", + "Document Number": "Numero documento", + "Document number is required": "Il numero documento è obbligatorio", + "Allow full term for each tranche": "Consenti durata intera per ogni tranche", + "Failed to load vendors": "Impossibile caricare i fornitori", + "First name is required": "Il nome è obbligatorio", + "Last name is required": "Il cognome è obbligatorio", + "Search Client": "Cerca cliente", + "Type client name or account number": "Inserisci nome cliente o numero conto", + "Overdue": "Scaduto", + "Overdue Fees": "Commissioni scadute", + "Confirmed At": "Confermato il", + "Full Name": "Nome completo", + "Loading vendors": { + "": { + "": { + "": "Caricamento fornitori..." + } + } + }, + "Minimum 3 characters": "Minimo 3 caratteri", + "National ID": "Carta d'identità nazionale", + "Nationality": "Nazionalità", + "Payout Amount": "Importo pagamento", + "Payout Country": "Paese di pagamento", + "Payout Token": "Token di pagamento", + "Recipient Name": "Nome destinatario", + "Send Amount": "Importo da inviare", + "Send Country": "Paese di invio", + "Sender": "Mittente", + "Sender Name": "Nome mittente", + "Sent By": "Inviato da", + "Deposited At": "Depositato il", + "Passport": "Passaporto", + "Driver's License": "Patente di guida", + "Mothers Maiden Name": "Cognome da nubile della madre" }, "links": { "Community": "Comunità", @@ -3130,7 +3177,8 @@ "Reject Additional Shares": "Rifiutare condivisioni aggiuntive", "Tasks": "Attività", "Remittances": "Rimesse", - "Process Remittance": "Elabora rimessa" + "Process Remittance": "Elabora rimessa", + "Undo Write-off": "Annulla storno" }, "placeholders": { "Add new server": "Aggiungi nuovo server", @@ -3253,6 +3301,7 @@ "Audit logs of all the activities": "Registri di controllo di tutte le attività, come la creazione di clienti, l'erogazione di prestiti, ecc", "Bar": "Sbarra", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Configurazioni Violazione", "Bulk Import": "Importazione in blocco", "Bulk Loan Reassignment": "Riassegnazione del prestito in blocco", "Bulk data import using excel spreadsheet templates": "Importazione di dati in blocco utilizzando modelli di fogli di calcolo Excel per clienti, uffici, ecc.", @@ -3303,6 +3352,7 @@ "Create Accounting Closure": "Creare la chiusura contabile", "Create Accounting Rule": "Crea regola contabile", "Create Adhoc Query": "Crea query ad hoc", + "Create Breach": "Crea Violazione", "Create Center": "Crea centro", "Create Charge": "Crea carica", "Create Client": "Crea cliente", @@ -3331,6 +3381,7 @@ "View Loan Originator": "Visualizza originatore di prestiti", "Edit Loan Originator": "Modifica originatore di prestiti", "Create Loans Account": "Crea un conto prestiti", + "Create Near Breach": "Crea Quasi Violazione", "Create New GL Account": "Questa opzione ti consente di creare nuovi account GL.", "Create Office": "Crea ufficio", "Create Payment Type": "Crea tipo di pagamento", @@ -3400,6 +3451,7 @@ "Define delinquency day ranges and bucket set for loan products": "Definire gli intervalli di giorni di insolvenza e l'insieme dei bucket per i prodotti di prestito", "Define floating rates for loan products": "Definire tassi variabili per i prodotti di prestito", "Define holidays for office": "Definire le ferie per l'ufficio", + "Define near breaches for working capital products": "Definire le quasi-violazioni per i prodotti di capitale circolante", "Define or modify Maker Checker tasks": "Definire o modificare le attività di Maker Checker", "Define or modify entity to entity mappings": "Definire o modificare le mappature da entità a entità", "Define or modify roles and associated permissions": "Definire o modificare i ruoli e le autorizzazioni associate", @@ -3419,6 +3471,7 @@ "Edit Accounting Rules": "Modifica regole contabili", "Edit Adhoc Query": "Modifica query ad hoc", "Edit Amazon S3 Configuration": "Modifica la configurazione di Amazon S3", + "Edit Breach": "Modifica Violazione", "Edit Cashier": "Modifica Cassiere", "Edit Center": "Centro modifica", "Edit Charge": "Modifica addebito", @@ -3440,7 +3493,9 @@ "Edit Group": "Modifica gruppo", "Edit Holidays": "Modifica festività", "Edit Hook": "Modifica gancio", + "Edit Loan Originator": "Modifica Originatore Prestito", "Edit Loan Product": "Modifica prodotto di prestito", + "Edit Near Breach": "Modifica Quasi Violazione", "Edit Notification Configuration": "Modifica configurazione di notifica", "Edit Office": "Modifica ufficio", "Edit Payment Type": "Modifica tipo di pagamento", @@ -3616,6 +3671,7 @@ "N/A": "N / A", "Navigate system selecting entity": "Ciò consentirà all'utente di navigare rapidamente nel sistema selezionando l'entità mentre la ricerca rende la navigazione più affidabile.", "Navigation": "Navigazione", + "Near Breach Configurations": "Configurazioni Quasi Violazione", "Not Activated": "Non attivato", "No Data": "Nessun dato", "No Description": "Nessuna descrizione", @@ -3684,6 +3740,7 @@ "Recurring Deposits Account Transactions": "Transazioni del conto di deposito ricorrente", "RecurringDeposit Account View": "Visualizzazione del conto di deposito ricorrente", "Red asterisk field": "I campi con l'asterisco rosso (*) sono obbligatori. Per saperne di più clicca:", + "Remittances": "Rimesse", "Repayment Schedule": "Programma di rimborso", "Repeats' and 'Repeats every": "Nota: 'Ripete' e 'Ripete ogni' non possono essere modificati se sono presenti conti attivi (prestiti JLG, depositi ricorrenti, ecc.) dipendenti da questo incontro.", "Report Parameters": "Parametri del rapporto", @@ -3812,6 +3869,7 @@ "View Adhoc Query": "Visualizza query ad hoc", "View Amazon S3 Configuration": "Visualizza la configurazione di Amazon S3", "View Audit": "Visualizza controllo", + "View Breach": "Visualizza Violazione", "View Bulk Import": "Visualizza importazione in blocco", "View Cashier": "Visualizza cassiere", "View Charges": "Visualizza addebiti", @@ -3834,7 +3892,9 @@ "View Group": "Visualizza gruppo", "View Holidays": "Visualizza festività", "View Hook": "Visualizza gancio", + "View Loan Originator": "Visualizza Originatore Prestito", "View Loan Product": "Visualizza il prodotto di prestito", + "View Near Breach": "Visualizza Quasi Violazione", "View Notification Configuration": "Visualizza la configurazione delle notifiche", "View Office": "Visualizza ufficio", "View Product Mix": "Visualizza il mix di prodotti", @@ -3909,7 +3969,9 @@ "Failed to search clients. Please try again.": "Ricerca clienti non riuscita. Si prega di riprovare.", "Process Remittance": "Elabora rimessa", "Loan Originators": "Originatori di prestiti", - "Loan Reschedules": "Riprogrammazioni dei prestiti" + "Loan Reschedules": "Riprogrammazioni dei prestiti", + "Settings saved successfully": "Impostazioni salvate con successo.", + "Undo Write-off Description": "Questa azione annullerà la transazione di storno e ripristinerà il prestito al suo precedente stato attivo. Fornire una nota che spieghi il motivo di questa azione." }, "permissions": { "actions": { @@ -4426,7 +4488,8 @@ "ACTIVE": "ATTIVO", "PENDING": "IN ATTESA DI", "INACTIVE": "INATTIVO", - "Process Remittance": "Elabora rimessa" + "Process Remittance": "Elabora rimessa", + "Allow full term length for each tranche disbursement": "Quando abilitato, ogni erogazione di tranche seguirà il calendario completo del prestito invece di adattarsi alla durata residua. Disponibile solo per il tipo di piano PROGRESSIVO." }, "countries": { "AF": "Afghanistan", @@ -4600,5 +4663,13 @@ "failure": "Impossibile inviare il sondaggio." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Errore non implementato", + "message": "Funzionalità non implementata!" + } + } } } diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json index 1ffc82955c..0b324f6e50 100644 --- a/src/assets/translations/ko-KO.json +++ b/src/assets/translations/ko-KO.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "지불 시 부과되는 벌금을 벌금으로 설정할 수 없습니다.", "error.msg.charge.duplicate.name": "해당 이름의 청구가 이미 존재합니다.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "요금 적용 대상 업데이트는 지원되지 않습니다.", + "error.msg.data.integrity.issue": "요청이 데이터베이스에서 데이터 무결성 문제를 일으켰습니다", "error.msg.loan.product.close.date.cannot.be.before.start.date": "대출상품 마감일은 시작일보다 이전일 수 없습니다.", "error.msg.product.loan.duplicate.charge": "대출 상품은 각 유형별로 한 번만 청구할 수 있습니다.", "error.msg.product.loan.duplicate.name": "'{{params[0].value}}' 이름의 대출 상품이 이미 존재합니다.", @@ -1047,6 +1048,8 @@ "are": "~이다", "be larger than 0 and at most 100": "0보다 크고 최대 100이어야 합니다.", "begin with a special character or number": "특수 문자나 숫자로 시작", + "can not be less than": "보다 작을 수 없습니다", + "can not be more than": "보다 클 수 없습니다", "cannot begin with a special character or number": "특수 문자나 숫자로 시작할 수 없습니다.", "decimal places": "소수점 자리", "do not match": "일치하지 않는", @@ -1347,6 +1350,7 @@ "Minimum Active Period": "최소 활동 기간", "Minimum Deposit Term": "최소 예금 기간", "Moratorium": "모라토리엄", + "Near Breach Configuration": "근접 위반 구성", "Nominal Interest Rate by loan cycle": "대출주기별 명목이자율", "Notes": "노트", "Notification External Service": "알림 외부 서비스", @@ -1540,7 +1544,8 @@ "Payout Assignment": "지급 배정 정보", "Identification": "신원 확인", "Professional Information": "직업 정보", - "Add Profile Entry": "프로필 항목 추가" + "Add Profile Entry": "프로필 항목 추가", + "Recipient Summary": "수취인 요약" }, "inputs": { "Loan Account Status": "대출 계좌 상태", @@ -2369,6 +2374,7 @@ "Name": "이름", "Name Decorated": "이름 장식", "Name of the Organization": "조직 이름", + "Near Breach": "위반 임박", "Near Breach Evaluation Frequency": "임박한 위반 평가 빈도", "Near Breach Evaluation Frequency Type": "임박한 위반 평가 빈도 유형", "Near Breach Threshold": "임박한 위반 임계값", @@ -2777,6 +2783,7 @@ "Text": "텍스트", "Theme": "주제", "Theme and Font": "테마 및 글꼴", + "Threshold": "임계값", "Thursday": "목요일", "Time": "시간", "To": "에게", @@ -2992,7 +2999,46 @@ "Period Payment Frequency Type": "기간별 지급 빈도 유형", "Payment Allocation Transactions": "지불 할당 거래", "Net Present Value day count": "순현재가치 일수 계산", - "Installment": "할부" + "Installment": "할부", + "Beneficiary Selection": "수익자 선택", + "Confirmation Number": "확인 번호", + "Sub Status": "하위 상태", + "Document": "문서", + "Document Number": "문서 번호", + "Document number is required": "문서 번호는 필수입니다", + "Allow full term for each tranche": "각 트란셰에 전체 기간 허용", + "Failed to load vendors": "공급업체를 불러오지 못했습니다", + "First name is required": "이름은 필수입니다", + "Last name is required": "성은 필수입니다", + "Search Client": "고객 검색", + "Type client name or account number": "고객명 또는 계좌번호를 입력하세요", + "Overdue": "연체", + "Overdue Fees": "연체 수수료", + "Confirmed At": "확인 날짜", + "Full Name": "전체 이름", + "Loading vendors": { + "": { + "": { + "": "공급업체 불러오는 중..." + } + } + }, + "Minimum 3 characters": "최소 3자 이상", + "National ID": "주민등록번호", + "Nationality": "국적", + "Payout Amount": "지급 금액", + "Payout Country": "지급 국가", + "Payout Token": "지급 토큰", + "Recipient Name": "수취인 이름", + "Send Amount": "송금액", + "Send Country": "발송 국가", + "Sender": "발신자", + "Sender Name": "발신자 이름", + "Sent By": "발송인", + "Deposited At": "입금일", + "Passport": "여권", + "Driver's License": "운전면허증", + "Mothers Maiden Name": "어머니 결혼 전 성" }, "links": { "Community": "지역 사회", @@ -3131,7 +3177,8 @@ "Reject Additional Shares": "추가 공유 거부", "Tasks": "작업", "Remittances": "송금", - "Process Remittance": "송금 처리" + "Process Remittance": "송금 처리", + "Undo Write-off": "상각 취소" }, "placeholders": { "Add new server": "새 서버 추가", @@ -3254,6 +3301,7 @@ "Audit logs of all the activities": "클라이언트 생성, 대출 지급 등과 같은 모든 활동에 대한 감사 로그", "Bar": "술집", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "위반 구성", "Bulk Import": "대량 가져오기", "Bulk Loan Reassignment": "대량대출 재할당", "Bulk data import using excel spreadsheet templates": "고객, 사무실 등을 위한 Excel 스프레드시트 템플릿을 사용하여 대량 데이터 가져오기", @@ -3304,6 +3352,7 @@ "Create Accounting Closure": "회계 마감 생성", "Create Accounting Rule": "회계 규칙 생성", "Create Adhoc Query": "임시 쿼리 만들기", + "Create Breach": "위반 생성", "Create Center": "센터 만들기", "Create Charge": "청구 생성", "Create Client": "클라이언트 생성", @@ -3332,6 +3381,7 @@ "View Loan Originator": "대출 담당자 보기", "Edit Loan Originator": "대출 담당자 수정", "Create Loans Account": "대출 계좌 만들기", + "Create Near Breach": "근접 위반 생성", "Create New GL Account": "이 옵션을 사용하면 새 GL 계정을 만들 수 있습니다.", "Create Office": "사무실 만들기", "Create Payment Type": "결제 유형 생성", @@ -3401,6 +3451,7 @@ "Define delinquency day ranges and bucket set for loan products": "대출 상품에 대한 연체 기간 및 버킷 세트 정의", "Define floating rates for loan products": "대출 상품에 대한 변동 금리 정의", "Define holidays for office": "사무실의 휴일을 정의하세요.", + "Define near breaches for working capital products": "운전자본 상품에 대한 근접 위반 정의", "Define or modify Maker Checker tasks": "Maker Checker 작업 정의 또는 수정", "Define or modify entity to entity mappings": "엔터티 대 엔터티 매핑 정의 또는 수정", "Define or modify roles and associated permissions": "역할 및 관련 권한 정의 또는 수정", @@ -3420,6 +3471,7 @@ "Edit Accounting Rules": "회계 규칙 편집", "Edit Adhoc Query": "임시 쿼리 편집", "Edit Amazon S3 Configuration": "Amazon S3 구성 편집", + "Edit Breach": "위반 수정", "Edit Cashier": "계산원 편집", "Edit Center": "편집 센터", "Edit Charge": "청구 수정", @@ -3441,7 +3493,9 @@ "Edit Group": "그룹 편집", "Edit Holidays": "공휴일 수정", "Edit Hook": "후크 편집", + "Edit Loan Originator": "대출 담당자 수정", "Edit Loan Product": "대출상품 수정", + "Edit Near Breach": "근접 위반 수정", "Edit Notification Configuration": "알림 구성 편집", "Edit Office": "사무실 편집", "Edit Payment Type": "결제 유형 수정", @@ -3617,6 +3671,7 @@ "N/A": "해당 없음", "Navigate system selecting entity": "이를 통해 사용자는 시스템 선택 엔터티를 빠르게 탐색할 수 있으며 검색은 탐색을 더욱 강력하게 만듭니다.", "Navigation": "항해", + "Near Breach Configurations": "근접 위반 구성", "No Data": "데이터 없음", "Not Activated": "활성화되지 않음", "No Description": "설명이 없습니다", @@ -3685,6 +3740,7 @@ "Recurring Deposits Account Transactions": "정기예금 계좌거래", "RecurringDeposit Account View": "정기예금 계좌조회", "Red asterisk field": "빨간색 별표(*)가 있는 필드는 필수입니다. 자세한 내용을 보려면 다음을 클릭하세요.", + "Remittances": "송금", "Repayment Schedule": "상환 일정", "Repeats' and 'Repeats every": "참고: 이 회의에 종속된 활성 계좌(JLG 대출, 정기 예금 등)가 있는 경우 '반복' 및 '반복 간격'은 수정할 수 없습니다.", "Report Parameters": "보고서 매개변수", @@ -3813,6 +3869,7 @@ "View Adhoc Query": "임시 쿼리 보기", "View Amazon S3 Configuration": "Amazon S3 구성 보기", "View Audit": "감사 보기", + "View Breach": "위반 보기", "View Bulk Import": "대량 가져오기 보기", "View Cashier": "계산원 보기", "View Charges": "요금 보기", @@ -3835,7 +3892,9 @@ "View Group": "그룹 보기", "View Holidays": "휴일 보기", "View Hook": "후크 보기", + "View Loan Originator": "대출 담당자 보기", "View Loan Product": "대출상품 보기", + "View Near Breach": "근접 위반 보기", "View Notification Configuration": "알림 구성 보기", "View Office": "사무실 보기", "View Product Mix": "제품 믹스 보기", @@ -3910,7 +3969,9 @@ "Failed to search clients. Please try again.": "고객 검색에 실패했습니다. 다시 시도하세요.", "Process Remittance": "송금 처리", "Loan Originators": "대출 담당자", - "Loan Reschedules": "대출 일정 변경" + "Loan Reschedules": "대출 일정 변경", + "Settings saved successfully": "설정이 성공적으로 저장되었습니다.", + "Undo Write-off Description": "이 작업은 상각 거래를 취소하고 대출을 이전 활성 상태로 복원합니다. 이 작업의 이유를 설명하는 메모를 제공해 주세요." }, "permissions": { "actions": { @@ -4427,7 +4488,8 @@ "ACTIVE": "활동적인", "PENDING": "보류 중", "INACTIVE": "비활성", - "Process Remittance": "송금 처리" + "Process Remittance": "송금 처리", + "Allow full term length for each tranche disbursement": "활성화되면 각 트란셰 지급은 남은 기간에 맞추는 대신 전체 대출 기간 일정을 따릅니다. PROGRESSIVE 대출 일정 유형에만 사용 가능합니다." }, "countries": { "AF": "아프가니스탄", @@ -4601,5 +4663,13 @@ "failure": "설문조사 제출에 실패했습니다." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "구현되지 않은 오류", + "message": "구현되지 않은 기능입니다!" + } + } } } diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json index abf795e8f5..703de978ff 100644 --- a/src/assets/translations/lt-LT.json +++ b/src/assets/translations/lt-LT.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "Mokestis negali būti nustatytas kaip bauda, ​​mokėtina išmokėjimo metu.", "error.msg.charge.duplicate.name": "Mokestis tokiu pavadinimu jau yra.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "Mokesčio atnaujinimas taikomas nepalaikomas.", + "error.msg.data.integrity.issue": "Užklausa sukėlė duomenų vientisumo problemą duomenų bazėje", "error.msg.loan.product.close.date.cannot.be.before.start.date": "Paskolos produkto uždarymo data negali būti ankstesnė už pradžios datą.", "error.msg.product.loan.duplicate.charge": "Paskolos produktas gali turėti tik vieną kiekvienos rūšies mokestį.", "error.msg.product.loan.duplicate.name": "Paskolos produktas pavadinimu `{{params[0].value}}` jau yra.", @@ -1024,7 +1025,8 @@ "DAYS": "DIENOS", "MONTHS": "MĖNESIŲ", "YEARS": "METAI", - "Loan Creation": "Paskolos sukūrimas" + "Loan Creation": "Paskolos sukūrimas", + "Account_transfer": "Sąskaitos perkėlimas" }, "commons": { "50 characters long": "50 simbolių ilgio", @@ -1045,6 +1047,8 @@ "are": "yra", "be larger than 0 and at most 100": "būti didesnis nei 0 ir daugiausia 100", "begin with a special character or number": "prasideda specialiu simboliu arba skaičiumi", + "can not be less than": "negali būti mažiau nei", + "can not be more than": "negali būti daugiau nei", "cannot begin with a special character or number": "negali prasidėti specialiuoju simboliu ar skaičiumi", "decimal places": "po kablelio", "do not match": "nesutampa", @@ -1345,6 +1349,7 @@ "Minimum Active Period": "Minimalus aktyvus laikotarpis", "Minimum Deposit Term": "Minimalus indėlio terminas", "Moratorium": "Moratoriumas", + "Near Breach Configuration": "Artimo pažeidimo konfigūracija", "Nominal Interest Rate by loan cycle": "Nominali palūkanų norma pagal paskolos ciklą", "Notes": "Pastabos", "Notification External Service": "Pranešimų išorinė tarnyba", @@ -1537,7 +1542,8 @@ "Payout Assignment": "Išmokos priskyrimas", "Identification": "Identifikacija", "Professional Information": "Profesinė informacija", - "Add Profile Entry": "Pridėti profilio įrašą" + "Add Profile Entry": "Pridėti profilio įrašą", + "Recipient Summary": "Gavėjo suvestinė" }, "inputs": { "Loan Account Status": "Paskolos sąskaitos būsena", @@ -2366,6 +2372,7 @@ "Name": "vardas", "Name Decorated": "Vardas Dekoruotas", "Name of the Organization": "Organizacijos pavadinimas", + "Near Breach": "Artėjantis pažeidimas", "Near Breach Evaluation Frequency": "Artėjančio pažeidimo vertinimo dažnumas", "Near Breach Evaluation Frequency Type": "Artėjančio pažeidimo vertinimo dažnumo tipas", "Near Breach Threshold": "Artėjančio pažeidimo slenkstis", @@ -2773,6 +2780,7 @@ "Text": "Tekstas", "Theme": "tema", "Theme and Font": "Tema ir šriftas", + "Threshold": "Slenkstis", "Thursday": "ketvirtadienis", "Time": "Laikas", "To": "Į", @@ -2992,7 +3000,44 @@ "Period Payment Frequency Type": "Laikotarpio mokėjimo dažnumo tipas", "Payment Allocation Transactions": "Mokėjimų paskirstymo operacijos", "Net Present Value day count": "Grynosios dabartinės vertės dienų skaičius", - "Installment": "Įmoka" + "Installment": "Įmoka", + "Beneficiary Selection": "Gavėjo pasirinkimas", + "Confirmation Number": "Patvirtinimo numeris", + "Sub Status": "Papildomas statusas", + "Document": "Dokumentas", + "Document Number": "Dokumento numeris", + "Document number is required": "Dokumento numeris yra privalomas", + "Allow full term for each tranche": "Leisti visą terminą kiekvienai tranšei", + "Failed to load vendors": "Nepavyko įkelti tiekėjų", + "First name is required": "Vardas yra privalomas", + "Last name is required": "Pavardė yra privaloma", + "Search Client": "Ieškoti kliento", + "Type client name or account number": "Įveskite kliento vardą arba sąskaitos numerį", + "Confirmed At": "Patvirtinta", + "Full Name": "Pilnas vardas", + "Loading vendors": { + "": { + "": { + "": "Kraunami tiekėjai..." + } + } + }, + "Minimum 3 characters": "Mažiausiai 3 simboliai", + "National ID": "Asmens kodas", + "Nationality": "Pilietybė", + "Payout Amount": "Išmokos suma", + "Payout Country": "Išmokos šalis", + "Payout Token": "Išmokos žetonas", + "Recipient Name": "Gavėjo vardas", + "Send Amount": "Siuntimo suma", + "Send Country": "Siuntimo šalis", + "Sender": "Siuntėjas", + "Sender Name": "Siuntėjo vardas", + "Sent By": "Siuntė", + "Deposited At": "Įnešta", + "Passport": "Pasas", + "Driver's License": "Vairuotojo pažymėjimas", + "Mothers Maiden Name": "Motinos mergautinė pavardė" }, "links": { "Community": "bendruomenė", @@ -3132,7 +3177,8 @@ "Reject Additional Shares": "Atmesti papildomas akcijas", "Tasks": "Užduotys", "Remittances": "Pervedimai", - "Process Remittance": "Apdoroti pervedimą" + "Process Remittance": "Apdoroti pervedimą", + "Undo Write-off": "Atšaukti nurašymą" }, "placeholders": { "Add new server": "Pridėti naują serverį", @@ -3255,6 +3301,7 @@ "Audit logs of all the activities": "Audito žurnalus apie visas veiklas, tokias kaip kliento kūrimas, paskolų išmokėjimas ir kt", "Bar": "Baras", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Pažeidimų Konfigūracijos", "Bulk Import": "Masinis importas", "Bulk Loan Reassignment": "Masinės paskolos perskirstymas", "Bulk data import using excel spreadsheet templates": "Masinis duomenų importavimas naudojant „Excel“ skaičiuoklės šablonus klientams, biurams ir kt.", @@ -3305,6 +3352,7 @@ "Create Accounting Closure": "Sukurti apskaitos uždarymą", "Create Accounting Rule": "Sukurkite apskaitos taisyklę", "Create Adhoc Query": "Sukurkite Adhoc užklausą", + "Create Breach": "Sukurti Pažeidimą", "Create Center": "Sukurti centrą", "Create Charge": "Sukurti mokestį", "Create Client": "Sukurti klientą", @@ -3333,6 +3381,7 @@ "View Loan Originator": "Peržiūrėti paskolos teikėją", "Edit Loan Originator": "Redaguoti paskolos teikėją", "Create Loans Account": "Sukurti paskolų sąskaitą", + "Create Near Breach": "Sukurti Beveik Pažeidimą", "Create New GL Account": "Ši parinktis leidžia kurti naujas GL paskyras.", "Create Office": "Sukurkite biurą", "Create Payment Type": "Sukurti mokėjimo tipą", @@ -3402,6 +3451,7 @@ "Define delinquency day ranges and bucket set for loan products": "Apibrėžkite paskolų produktų nusikalstamų veikų dienų intervalus ir segmentų rinkinį", "Define floating rates for loan products": "Apibrėžkite paskolų produktų kintamąsias palūkanų normas", "Define holidays for office": "Apibrėžkite biuro šventes", + "Define near breaches for working capital products": "Apibrėžti artimus pažeidimus darbo kapitalo produktams", "Define or modify Maker Checker tasks": "Apibrėžkite arba pakeiskite Maker Checker užduotis", "Define or modify entity to entity mappings": "Apibrėžkite arba pakeiskite objektą į objektų susiejimą", "Define or modify roles and associated permissions": "Apibrėžkite arba keiskite vaidmenis ir susijusius leidimus", @@ -3421,6 +3471,7 @@ "Edit Accounting Rules": "Redaguoti apskaitos taisykles", "Edit Adhoc Query": "Redaguoti Adhoc užklausą", "Edit Amazon S3 Configuration": "Redaguoti Amazon S3 konfigūraciją", + "Edit Breach": "Redaguoti Pažeidimą", "Edit Cashier": "Redaguoti kasininką", "Edit Center": "Redagavimo centras", "Edit Charge": "Redaguoti mokestį", @@ -3442,7 +3493,9 @@ "Edit Group": "Redaguoti grupę", "Edit Holidays": "Redaguoti šventes", "Edit Hook": "Redaguoti kabliuką", + "Edit Loan Originator": "Redaguoti Paskolos Teikėją", "Edit Loan Product": "Redaguoti paskolos produktą", + "Edit Near Breach": "Redaguoti Beveik Pažeidimą", "Edit Notification Configuration": "Redaguoti pranešimų konfigūraciją", "Edit Office": "Redaguoti biurą", "Edit Payment Type": "Redaguoti mokėjimo tipą", @@ -3618,6 +3671,7 @@ "N/A": "N/A", "Navigate system selecting entity": "Tai leis vartotojui greitai naršyti sistemos pasirinkimo objektą, o ieškant naršymas tampa patikimesnis.", "Navigation": "Navigacija", + "Near Breach Configurations": "Beveik Pažeidimų Konfigūracijos", "No Data": "Nėra duomenų", "Not Activated": "Neaktyvinta", "No Description": "Nėra aprašymo", @@ -3686,6 +3740,7 @@ "Recurring Deposits Account Transactions": "Periodinių indėlių sąskaitos operacijos", "RecurringDeposit Account View": "Pasikartojantis indėlio sąskaitos vaizdas", "Red asterisk field": "Laukus su raudona žvaigždute (*) būtina užpildyti. Norėdami sužinoti daugiau, spustelėkite:", + "Remittances": "Pervedimai", "Repayment Schedule": "Grąžinimo grafikas", "Repeats' and 'Repeats every": "Pastaba: „Pasikartoja“ ir „Pasikartoja kas“ negalima keisti, jei yra aktyvių sąskaitų (JLG paskolos, pasikartojantys indėliai ir kt.), priklausančių nuo šio susitikimo.", "Report Parameters": "Ataskaitos parametrai", @@ -3814,6 +3869,7 @@ "View Adhoc Query": "Peržiūrėkite Adhoc užklausą", "View Amazon S3 Configuration": "Peržiūrėkite „Amazon S3“ konfigūraciją", "View Audit": "Žiūrėti auditą", + "View Breach": "Peržiūrėti Pažeidimą", "View Bulk Import": "Peržiūrėti masinį importavimą", "View Cashier": "Peržiūrėti kasininkę", "View Charges": "Peržiūrėti mokesčius", @@ -3836,7 +3892,9 @@ "View Group": "Peržiūrėti grupę", "View Holidays": "Žiūrėti šventes", "View Hook": "Žiūrėti kabliuką", + "View Loan Originator": "Peržiūrėti Paskolos Teikėją", "View Loan Product": "Peržiūrėkite paskolos produktą", + "View Near Breach": "Peržiūrėti Beveik Pažeidimą", "View Notification Configuration": "Peržiūrėkite pranešimų konfigūraciją", "View Office": "Žiūrėti biurą", "View Product Mix": "Žiūrėti produktų mišinį", @@ -3911,7 +3969,9 @@ "Failed to search clients. Please try again.": "Nepavyko ieškoti klientų. Bandykite dar kartą.", "Process Remittance": "Apdoroti pervedimą", "Loan Originators": "Paskolų teikėjai", - "Loan Reschedules": "Paskolų atidėjimas" + "Loan Reschedules": "Paskolų atidėjimas", + "Settings saved successfully": "Nustatymai sėkmingai išsaugoti.", + "Undo Write-off Description": "Šis veiksmas atšauks nurašymo operaciją ir atkurs paskolą į ankstesnę aktyvią būseną. Pateikite pastabą, paaiškinančią šio veiksmo priežastį." }, "permissions": { "actions": { @@ -4428,7 +4488,8 @@ "ACTIVE": "AKTYVUS", "PENDING": "LAUKIAMA", "INACTIVE": "NEAKTYVUS", - "Process Remittance": "Apdoroti pervedimą" + "Process Remittance": "Apdoroti pervedimą", + "Allow full term length for each tranche disbursement": "Kai įjungta, kiekvienas tranšės išmokėjimas bus vykdomas pagal visą paskolos termino grafiką, o ne likusio termino ribose. Pasiekiama tik PROGRESYVIOJO paskolos grafiko tipui." }, "countries": { "AF": "Afganistanas", @@ -4602,5 +4663,13 @@ "failure": "Nepavyko pateikti apklausos." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Neįgyvendintos klaidos", + "message": "Neįgyvendinta funkcija!" + } + } } } diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json index 2d8a00aceb..774df70f5b 100644 --- a/src/assets/translations/lv-LV.json +++ b/src/assets/translations/lv-LV.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "Maksu nevar iestatīt kā sodu, kas jāmaksā izmaksas brīdī.", "error.msg.charge.duplicate.name": "Maksa ar šādu nosaukumu jau pastāv.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "Maksas atjaunināšana netiek atbalstīta.", + "error.msg.data.integrity.issue": "Pieprasījums izraisīja datu integritātes problēmu datu bāzē", "error.msg.loan.product.close.date.cannot.be.before.start.date": "Aizdevuma produkta slēgšanas datums nedrīkst būt agrāks par sākuma datumu.", "error.msg.product.loan.duplicate.charge": "Aizdevuma produktam var būt tikai viena maksa par katru veidu.", "error.msg.product.loan.duplicate.name": "Aizdevuma produkts ar nosaukumu `{{params[0].value}}` jau pastāv.", @@ -1047,6 +1048,8 @@ "are": "ir", "be larger than 0 and at most 100": "jābūt lielākam par 0 un ne vairāk kā 100", "begin with a special character or number": "sākas ar īpašu rakstzīmi vai ciparu", + "can not be less than": "nedrīkst būt mazāk par", + "can not be more than": "nedrīkst būt vairāk par", "cannot begin with a special character or number": "nevar sākties ar speciālo rakstzīmi vai ciparu", "decimal places": "decimālzīmes", "do not match": "nesakrīt", @@ -1347,6 +1350,7 @@ "Minimum Active Period": "Minimālais aktīvais periods", "Minimum Deposit Term": "Minimālais depozīta termiņš", "Moratorium": "Moratorijs", + "Near Breach Configuration": "Tuvas pārkāpuma konfigurācija", "Nominal Interest Rate by loan cycle": "Nominālā procentu likme pēc aizdevuma cikla", "Notes": "Piezīmes", "Notification External Service": "Paziņojumu ārējais pakalpojums", @@ -1539,7 +1543,8 @@ "Payout Assignment": "Izmaksas piešķiršana", "Identification": "Identifikācija", "Professional Information": "Profesionālā informācija", - "Add Profile Entry": "Pievienot profila ierakstu" + "Add Profile Entry": "Pievienot profila ierakstu", + "Recipient Summary": "Saņēmēja kopsavilkums" }, "inputs": { "Loan Account Status": "Aizdevuma konta statuss", @@ -2368,6 +2373,7 @@ "Name": "Vārds", "Name Decorated": "Nosaukums Dekorēts", "Name of the Organization": "Organizācijas nosaukums", + "Near Breach": "Tuvu pārkāpumam", "Near Breach Evaluation Frequency": "Tuva pārkāpuma novērtēšanas biežums", "Near Breach Evaluation Frequency Type": "Tuva pārkāpuma novērtēšanas biežuma veids", "Near Breach Threshold": "Tuva pārkāpuma slieksnis", @@ -2776,6 +2782,7 @@ "Text": "Teksts", "Theme": "Tēma", "Theme and Font": "Motīvs un fonts", + "Threshold": "Slieksnis", "Thursday": "ceturtdiena", "Time": "Laiks", "To": "Uz", @@ -2992,7 +2999,46 @@ "Period Payment Frequency Type": "Perioda maksājumu biežuma veids", "Payment Allocation Transactions": "Maksājumu sadales darījumi", "Net Present Value day count": "Neto pašreizējās vērtības dienu skaits", - "Installment": "Iemaksa" + "Installment": "Iemaksa", + "Beneficiary Selection": "Saņēmēja izvēle", + "Confirmation Number": "Apstiprinājuma numurs", + "Sub Status": "Apakšstatuss", + "Document": "Dokuments", + "Document Number": "Dokumenta numurs", + "Document number is required": "Dokumenta numurs ir obligāts", + "Allow full term for each tranche": "Atļaut pilnu termiņu katrai tranšei", + "Failed to load vendors": "Neizdevās ielādēt piegādātājus", + "First name is required": "Vārds ir obligāts", + "Last name is required": "Uzvārds ir obligāts", + "Search Client": "Meklēt klientu", + "Type client name or account number": "Ievadiet klienta vārdu vai konta numuru", + "Overdue": "Nokavēts", + "Overdue Fees": "Nokavēšanas maksas", + "Confirmed At": "Apstiprināts", + "Full Name": "Pilns vārds", + "Loading vendors": { + "": { + "": { + "": "Ielādē piegādātājus..." + } + } + }, + "Minimum 3 characters": "Vismaz 3 rakstzīmes", + "National ID": "Personas kods", + "Nationality": "Pilsonība", + "Payout Amount": "Izmaksas summa", + "Payout Country": "Izmaksas valsts", + "Payout Token": "Izmaksas žetons", + "Recipient Name": "Saņēmēja vārds", + "Send Amount": "Sūtīšanas summa", + "Send Country": "Sūtīšanas valsts", + "Sender": "Sūtītājs", + "Sender Name": "Sūtītāja vārds", + "Sent By": "Sūtīja", + "Deposited At": "Iemaksāts", + "Passport": "Pase", + "Driver's License": "Vadītāja apliecība", + "Mothers Maiden Name": "Mātes pirmslaulību uzvārds" }, "links": { "Community": "kopiena", @@ -3131,7 +3177,8 @@ "Reject Additional Shares": "Noraidīt papildu akcijas", "Tasks": "Uzdevumi", "Remittances": "Pārvedumi", - "Process Remittance": "Apstrādāt pārvedumu" + "Process Remittance": "Apstrādāt pārvedumu", + "Undo Write-off": "Atcelt norakstīšanu" }, "placeholders": { "Add new server": "Pievienot jaunu serveri", @@ -3253,6 +3300,7 @@ "Audit logs of all the activities": "Pārbaudīt visu darbību žurnālus, piemēram, klienta izveidošanu, aizdevumu izsniegšanu utt", "Bar": "Bārs", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Pārkāpumu Konfigurācijas", "Bulk Import": "Lielapjoma importēšana", "Bulk Loan Reassignment": "Lielapjoma aizdevuma pārcelšana", "Bulk data import using excel spreadsheet templates": "Lielapjoma datu importēšana, izmantojot Excel izklājlapu veidnes klientiem, birojiem utt.", @@ -3303,6 +3351,7 @@ "Create Accounting Closure": "Izveidojiet grāmatvedības slēgšanu", "Create Accounting Rule": "Izveidojiet grāmatvedības noteikumu", "Create Adhoc Query": "Izveidojiet Adhoc vaicājumu", + "Create Breach": "Izveidot Pārkāpumu", "Create Center": "Izveidot centru", "Create Charge": "Izveidot maksu", "Create Client": "Izveidot klientu", @@ -3331,6 +3380,7 @@ "View Loan Originator": "Skatīt aizdevuma izsniedzēju", "Edit Loan Originator": "Rediģēt aizdevuma izsniedzēju", "Create Loans Account": "Izveidojiet aizdevuma kontu", + "Create Near Breach": "Izveidot Gandrīz Pārkāpumu", "Create New GL Account": "Šī opcija ļauj izveidot jaunus GL kontus.", "Create Office": "Izveidojiet biroju", "Create Payment Type": "Izveidojiet maksājuma veidu", @@ -3401,6 +3451,7 @@ "Define delinquency day ranges and bucket set for loan products": "Definējiet maksātnespējas dienu diapazonus un aizdevuma produktu kopu", "Define floating rates for loan products": "Definējiet mainīgās procentu likmes aizdevumu produktiem", "Define holidays for office": "Definējiet biroja brīvdienas", + "Define near breaches for working capital products": "Definēt tuvas pārkāpuma robežas apgrozāmā kapitāla produktiem", "Define or modify Maker Checker tasks": "Definējiet vai modificējiet Maker Checker uzdevumus", "Define or modify entity to entity mappings": "Definējiet vai modificējiet entītiju kartējumus", "Define or modify roles and associated permissions": "Definējiet vai mainiet lomas un saistītās atļaujas", @@ -3420,6 +3471,7 @@ "Edit Accounting Rules": "Rediģēt grāmatvedības noteikumus", "Edit Adhoc Query": "Rediģēt Adhoc vaicājumu", "Edit Amazon S3 Configuration": "Rediģēt Amazon S3 konfigurāciju", + "Edit Breach": "Rediģēt Pārkāpumu", "Edit Cashier": "Rediģēt kasieri", "Edit Center": "Rediģēšanas centrs", "Edit Charge": "Rediģēt maksu", @@ -3441,7 +3493,9 @@ "Edit Group": "Rediģēt grupu", "Edit Holidays": "Rediģēt brīvdienas", "Edit Hook": "Rediģēt Āķi", + "Edit Loan Originator": "Rediģēt Aizdevuma Izsniedzēju", "Edit Loan Product": "Rediģēt aizdevuma produktu", + "Edit Near Breach": "Rediģēt Gandrīz Pārkāpumu", "Edit Notification Configuration": "Rediģēt paziņojumu konfigurāciju", "Edit Office": "Rediģēt Office", "Edit Payment Type": "Rediģēt maksājuma veidu", @@ -3617,6 +3671,7 @@ "N/A": "N/A", "Navigate system selecting entity": "Tas ļaus lietotājam ātri pārvietoties pa sistēmas atlases entītiju, kamēr meklēšana padara navigāciju noturīgāku.", "Navigation": "Navigācija", + "Near Breach Configurations": "Gandrīz Pārkāpumu Konfigurācijas", "No Data": "Nav datu", "Not Activated": "Nav aktivizēts", "No Description": "Nav apraksta", @@ -3685,6 +3740,7 @@ "Recurring Deposits Account Transactions": "Periodiskie noguldījumu konta darījumi", "RecurringDeposit Account View": "Atkārtota depozīta konta skats", "Red asterisk field": "Jāaizpilda lauki ar sarkanu zvaigznīti (*). Lai uzzinātu vairāk, noklikšķiniet:", + "Remittances": "Pārvedumi", "Repayment Schedule": "Atmaksas grafiks", "Repeats' and 'Repeats every": "Piezīme: \"Atkārtojas\" un \"Atkārtojas katru\" nevar mainīt, ja ir aktīvi konti (JLG aizdevumi, periodiski noguldījumi utt.), kas ir atkarīgi no šīs sanāksmes.", "Report Parameters": "Pārskata parametri", @@ -3813,6 +3869,7 @@ "View Adhoc Query": "Skatīt Adhoc vaicājumu", "View Amazon S3 Configuration": "Skatīt Amazon S3 konfigurāciju", "View Audit": "Skatīt auditu", + "View Breach": "Skatīt Pārkāpumu", "View Bulk Import": "Skatīt lielapjoma importēšanu", "View Cashier": "Skatīt Kasieri", "View Charges": "Skatīt maksas", @@ -3835,7 +3892,9 @@ "View Group": "Skatīt grupu", "View Holidays": "Skatīt brīvdienas", "View Hook": "Skatīt Āķi", + "View Loan Originator": "Skatīt Aizdevuma Izsniedzēju", "View Loan Product": "Skatīt aizdevuma produktu", + "View Near Breach": "Skatīt Gandrīz Pārkāpumu", "View Notification Configuration": "Skatīt paziņojumu konfigurāciju", "View Office": "Skatīt Office", "View Product Mix": "Skatīt produktu kombināciju", @@ -3910,7 +3969,9 @@ "Failed to search clients. Please try again.": "Neizdevās meklēt klientus. Lūdzu, mēģiniet vēlreiz.", "Process Remittance": "Apstrādāt pārvedumu", "Loan Originators": "Aizdevumu izsniedzēji", - "Loan Reschedules": "Aizdevuma grafiki" + "Loan Reschedules": "Aizdevuma grafiki", + "Settings saved successfully": "Iestatījumi veiksmīgi saglabāti.", + "Undo Write-off Description": "Šī darbība atcels norakstīšanas darījumu un atjaunos aizdevumu tā iepriekšējā aktīvajā statusā. Lūdzu, norādiet piezīmi, kurā paskaidrots šīs darbības iemesls." }, "permissions": { "actions": { @@ -4427,7 +4488,8 @@ "ACTIVE": "AKTĪVS", "PENDING": "NEAPSTRĀDĀTS", "INACTIVE": "NEAKTIVS", - "Process Remittance": "Apstrādāt pārvedumu" + "Process Remittance": "Apstrādāt pārvedumu", + "Allow full term length for each tranche disbursement": "Ja iespējots, katrs tranšes izmaksājums sekos pilnajam aizdevuma termiņa grafikam, nevis pielāgosies atlikušajam termiņam. Pieejams tikai PROGRESĪVAJAM aizdevuma grafika tipam." }, "countries": { "AF": "Afganistāna", @@ -4601,5 +4663,13 @@ "failure": "Neizdevās iesniegt aptauju." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Neimplementēta kļūda", + "message": "Neimplementēta funkcionalitāte!" + } + } } } diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json index d72ac8224b..3de0887360 100644 --- a/src/assets/translations/ne-NE.json +++ b/src/assets/translations/ne-NE.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "भुक्तानी गर्दा शुल्कलाई जरिवानाको रूपमा सेटअप गर्न सकिँदैन।", "error.msg.charge.duplicate.name": "त्यो नामको चार्ज पहिले नै अवस्थित छ।", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "मा लागू हुने शुल्कको अद्यावधिक समर्थित छैन।", + "error.msg.data.integrity.issue": "अनुरोधले डाटाबेसमा डेटा अखण्डता समस्या उत्पन्न गर्‍यो", "error.msg.loan.product.close.date.cannot.be.before.start.date": "ऋण उत्पादन बन्द मिति सुरु मिति भन्दा पहिले हुन सक्दैन।", "error.msg.product.loan.duplicate.charge": "ऋण उत्पादन प्रत्येक प्रकारको मात्र एक शुल्क हुन सक्छ।", "error.msg.product.loan.duplicate.name": "`{{params[0].value}}` नामको ऋण उत्पादन पहिले नै अवस्थित छ।", @@ -1024,7 +1025,8 @@ "DAYS": "दिनहरू", "MONTHS": "महिनाहरू", "YEARS": "वर्षहरू", - "Loan Creation": "ऋण सिर्जना" + "Loan Creation": "ऋण सिर्जना", + "Account_transfer": "खाता स्थानान्तरण" }, "commons": { "50 characters long": "५० वर्ण लामो", @@ -1045,6 +1047,8 @@ "are": "छन्", "be larger than 0 and at most 100": "० भन्दा ठुलो र बढीमा १००", "begin with a special character or number": "एक विशेष वर्ण वा संख्या संग सुरु गर्नुहोस्", + "can not be less than": "भन्दा कम हुन सक्दैन", + "can not be more than": "भन्दा बढी हुन सक्दैन", "cannot begin with a special character or number": "विशेष वर्ण वा संख्याबाट सुरु गर्न सकिँदैन", "decimal places": "दशमलव स्थानहरू", "do not match": "मिल्दैन", @@ -1345,6 +1349,7 @@ "Minimum Active Period": "न्यूनतम सक्रिय अवधि", "Minimum Deposit Term": "न्यूनतम जम्मा अवधि", "Moratorium": "मोरेटोरियम", + "Near Breach Configuration": "नजिकको उल्लङ्घन कन्फिगरेसन", "Nominal Interest Rate by loan cycle": "ऋण चक्र द्वारा नाममात्र ब्याज दर", "Notes": "नोटहरू", "Notification External Service": "सूचना बाह्य सेवा", @@ -1536,7 +1541,9 @@ "Payout Assignment": "भुक्तानी तोकिएको", "Identification": "पहिचान", "Professional Information": "पेशागत जानकारी", - "Add Profile Entry": "प्रोफाइल प्रविष्टि थप्नुहोस्" + "Add Profile Entry": "प्रोफाइल प्रविष्टि थप्नुहोस्", + "Id": "आईडी", + "Recipient Summary": "प्राप्तकर्ता सारांश" }, "inputs": { "Loan Account Status": "ऋण खाता स्थिति", @@ -2365,6 +2372,7 @@ "Name": "नाम", "Name Decorated": "नाम सजाइएको", "Name of the Organization": "संस्थाको नाम", + "Near Breach": "नजिकको उल्लंघन", "Near Breach Evaluation Frequency": "नजिकको उल्लंघन मूल्यांकन आवृत्ति", "Near Breach Evaluation Frequency Type": "नजिकको उल्लंघन मूल्यांकन आवृत्ति प्रकार", "Near Breach Threshold": "नजिकको उल्लंघन सीमा", @@ -2773,6 +2781,7 @@ "Text": "पाठ", "Theme": "विषयवस्तु", "Theme and Font": "विषयवस्तु र फन्ट", + "Threshold": "थ्रेसहोल्ड", "Thursday": "बिहीबार", "Time": "समय", "To": "को", @@ -2989,7 +2998,46 @@ "Period Payment Frequency Type": "अवधि भुक्तानी आवृत्ति प्रकार", "Payment Allocation Transactions": "भुक्तानी विनियोजन लेनदेन", "Net Present Value day count": "खुद वर्तमान मूल्य दिन गणना", - "Installment": "किस्ता" + "Installment": "किस्ता", + "Beneficiary Selection": "लाभार्थी चयन", + "Confirmation Number": "पुष्टि नम्बर", + "Sub Status": "उप-स्थिति", + "Document": "कागजात", + "Document Number": "कागजात नम्बर", + "Document number is required": "कागजात नम्बर आवश्यक छ", + "Allow full term for each tranche": "प्रत्येक किस्तालाई पूर्ण अवधि अनुमति दिनुहोस्", + "Failed to load vendors": "विक्रेताहरू लोड गर्न असफल भयो", + "First name is required": "पहिलो नाम आवश्यक छ", + "Last name is required": "थर आवश्यक छ", + "Search Client": "ग्राहक खोज्नुहोस्", + "Type client name or account number": "ग्राहकको नाम वा खाता नम्बर टाइप गर्नुहोस्", + "Overdue": "म्याद गुज्रेको", + "Overdue Fees": "म्याद गुज्रेको शुल्क", + "Confirmed At": "पुष्टि मिति", + "Full Name": "पूरा नाम", + "Loading vendors": { + "": { + "": { + "": "विक्रेताहरू लोड हुँदैछ..." + } + } + }, + "Minimum 3 characters": "कम्तीमा ३ अक्षर", + "National ID": "राष्ट्रिय परिचयपत्र", + "Nationality": "राष्ट्रियता", + "Payout Amount": "भुक्तानी रकम", + "Payout Country": "भुक्तानी देश", + "Payout Token": "भुक्तानी टोकन", + "Recipient Name": "प्राप्तकर्ताको नाम", + "Send Amount": "पठाउने रकम", + "Send Country": "पठाउने देश", + "Sender": "प्रेषक", + "Sender Name": "प्रेषकको नाम", + "Sent By": "द्वारा पठाइएको", + "Deposited At": "जम्मा मिति", + "Passport": "राहदानी", + "Driver's License": "सवारी चालक अनुमतिपत्र", + "Mothers Maiden Name": "आमाको कुमारी नाम" }, "links": { "Community": "समुदाय", @@ -3129,7 +3177,8 @@ "Reject Additional Shares": "अतिरिक्त शेयरहरू अस्वीकार गर्नुहोस्", "Tasks": "कार्यहरू", "Remittances": "रेमिट्यान्स", - "Process Remittance": "रेमिट्यान्स प्रक्रिया" + "Process Remittance": "रेमिट्यान्स प्रक्रिया", + "Undo Write-off": "राइट-अफ पूर्ववत गर्नुहोस्" }, "placeholders": { "Add new server": "नयाँ सर्भर थप्नुहोस्", @@ -3252,6 +3301,7 @@ "Audit logs of all the activities": "सबै गतिविधिहरूको अडिट लगहरू, जस्तै ग्राहक सिर्जना, ऋण वितरण आदि", "Bar": "बार", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "उल्लंघन कन्फिगरेसन", "Bulk Import": "थोक आयात", "Bulk Loan Reassignment": "बल्क ऋण पुन: असाइनमेन्ट", "Bulk data import using excel spreadsheet templates": "ग्राहकहरू, कार्यालयहरू, इत्यादिका लागि एक्सेल स्प्रेडसिट टेम्प्लेटहरू प्रयोग गरेर बल्क डाटा आयात।", @@ -3302,6 +3352,7 @@ "Create Accounting Closure": "लेखा बन्द सिर्जना गर्नुहोस्", "Create Accounting Rule": "लेखा नियम बनाउनुहोस्", "Create Adhoc Query": "Adhoc क्वेरी सिर्जना गर्नुहोस्", + "Create Breach": "उल्लंघन सिर्जना गर्नुहोस्", "Create Center": "केन्द्र सिर्जना गर्नुहोस्", "Create Charge": "चार्ज सिर्जना गर्नुहोस्", "Create Client": "ग्राहक सिर्जना गर्नुहोस्", @@ -3330,6 +3381,7 @@ "View Loan Originator": "ऋण सुरुवातकर्ता हेर्नुहोस्", "Edit Loan Originator": "ऋण सुरुवातकर्ता सम्पादन गर्नुहोस्", "Create Loans Account": "ऋण खाता सिर्जना गर्नुहोस्", + "Create Near Breach": "लगभग उल्लंघन सिर्जना गर्नुहोस्", "Create New GL Account": "यो विकल्पले तपाईंलाई नयाँ GL खाताहरू सिर्जना गर्न अनुमति दिन्छ।", "Create Office": "कार्यालय सिर्जना गर्नुहोस्", "Create Payment Type": "भुक्तानी प्रकार सिर्जना गर्नुहोस्", @@ -3399,6 +3451,7 @@ "Define delinquency day ranges and bucket set for loan products": "ऋण उत्पादनहरूको लागि अपराध दिन दायरा र बाल्टिन सेट परिभाषित गर्नुहोस्", "Define floating rates for loan products": "ऋण उत्पादनहरूको लागि फ्लोटिंग दरहरू परिभाषित गर्नुहोस्", "Define holidays for office": "कार्यालयका लागि छुट्टिहरू परिभाषित गर्नुहोस्", + "Define near breaches for working capital products": "कार्यशील पूँजी उत्पादहरूको लागि नजिकको उल्लङ्घन परिभाषित गर्नुहोस्", "Define or modify Maker Checker tasks": "मेकर जाँचकर्ता कार्यहरू परिभाषित वा परिमार्जन गर्नुहोस्", "Define or modify entity to entity mappings": "इकाई म्यापिङहरूमा इकाई परिभाषित वा परिमार्जन गर्नुहोस्", "Define or modify roles and associated permissions": "भूमिका र सम्बन्धित अनुमतिहरू परिभाषित वा परिमार्जन गर्नुहोस्", @@ -3418,6 +3471,7 @@ "Edit Accounting Rules": "लेखा नियमहरू सम्पादन गर्नुहोस्", "Edit Adhoc Query": "Adhoc क्वेरी सम्पादन गर्नुहोस्", "Edit Amazon S3 Configuration": "Amazon S3 कन्फिगरेसन सम्पादन गर्नुहोस्", + "Edit Breach": "उल्लंघन सम्पादन गर्नुहोस्", "Edit Cashier": "क्यासियर सम्पादन गर्नुहोस्", "Edit Center": "केन्द्र सम्पादन गर्नुहोस्", "Edit Charge": "शुल्क सम्पादन गर्नुहोस्", @@ -3439,7 +3493,9 @@ "Edit Group": "समूह सम्पादन गर्नुहोस्", "Edit Holidays": "बिदाहरू सम्पादन गर्नुहोस्", "Edit Hook": "हुक सम्पादन गर्नुहोस्", + "Edit Loan Originator": "ऋण सुरुवातकर्ता सम्पादन गर्नुहोस्", "Edit Loan Product": "ऋण उत्पादन सम्पादन गर्नुहोस्", + "Edit Near Breach": "लगभग उल्लंघन सम्पादन गर्नुहोस्", "Edit Notification Configuration": "सूचना कन्फिगरेसन सम्पादन गर्नुहोस्", "Edit Office": "कार्यालय सम्पादन गर्नुहोस्", "Edit Payment Type": "भुक्तानी प्रकार सम्पादन गर्नुहोस्", @@ -3615,6 +3671,7 @@ "N/A": "N/A", "Navigate system selecting entity": "यसले प्रयोगकर्तालाई प्रणाली चयन गर्ने निकायलाई द्रुत रूपमा नेभिगेट गर्न अनुमति दिनेछ जब खोजी गर्दा नेभिगेसनलाई अझ बलियो बनाउँछ।", "Navigation": "नेभिगेसन", + "Near Breach Configurations": "लगभग उल्लंघन कन्फिगरेसन", "No Data": "डाटा छैन", "Not Activated": "सक्रिय छैन", "No Description": "विवरण छैन", @@ -3683,6 +3740,7 @@ "Recurring Deposits Account Transactions": "आवर्ती जम्मा खाता लेनदेन", "RecurringDeposit Account View": "आवर्ती जम्मा खाता दृश्य", "Red asterisk field": "रातो तारा चिन्ह (*) भएका क्षेत्रहरू आवश्यक छन्। थप जान्नको लागि क्लिक गर्नुहोस्:", + "Remittances": "रेमिट्यान्स", "Repayment Schedule": "पुन: भुक्तानी तालिका", "Repeats' and 'Repeats every": "नोट: यस बैठकमा निर्भर सक्रिय खाताहरू (JLG Loans, Recurring Deposits आदि) छन् भने 'दोहोर्याउने' र 'हरेक दोहोर्याउने' परिमार्जन गर्न सकिँदैन।", "Report Parameters": "रिपोर्ट प्यारामिटरहरू", @@ -3811,6 +3869,7 @@ "View Adhoc Query": "Adhoc क्वेरी हेर्नुहोस्", "View Amazon S3 Configuration": "Amazon S3 कन्फिगरेसन हेर्नुहोस्", "View Audit": "लेखापरीक्षण हेर्नुहोस्", + "View Breach": "उल्लंघन हेर्नुहोस्", "View Bulk Import": "बल्क आयात हेर्नुहोस्", "View Cashier": "क्यासियर हेर्नुहोस्", "View Charges": "शुल्कहरू हेर्नुहोस्", @@ -3833,7 +3892,9 @@ "View Group": "समूह हेर्नुहोस्", "View Holidays": "बिदाहरू हेर्नुहोस्", "View Hook": "हुक हेर्नुहोस्", + "View Loan Originator": "ऋण सुरुवातकर्ता हेर्नुहोस्", "View Loan Product": "ऋण उत्पादन हेर्नुहोस्", + "View Near Breach": "लगभग उल्लंघन हेर्नुहोस्", "View Notification Configuration": "सूचना कन्फिगरेसन हेर्नुहोस्", "View Office": "कार्यालय हेर्नुहोस्", "View Product Mix": "उत्पादन मिक्स हेर्नुहोस्", @@ -3908,7 +3969,9 @@ "Failed to search clients. Please try again.": "ग्राहकहरू खोज्न असफल भयो। कृपया पुनः प्रयास गर्नुहोस्।", "Process Remittance": "रेमिट्यान्स प्रक्रिया गर्नुहोस्", "Loan Originators": "ऋण सुरुवातकर्ताहरू", - "Loan Reschedules": "ऋण पुन: तालिका" + "Loan Reschedules": "ऋण पुन: तालिका", + "Settings saved successfully": "सेटिङहरू सफलतापूर्वक सेभ गरियो।", + "Undo Write-off Description": "यो कार्यले राइट-अफ ट्रान्जेक्सन फिर्ता गर्नेछ र ऋणलाई यसको अघिल्लो सक्रिय अवस्थामा पुनर्स्थापित गर्नेछ। कृपया यस कार्यको कारण बताउने नोट प्रदान गर्नुहोस्।" }, "permissions": { "actions": { @@ -4010,7 +4073,8 @@ "ALL": "सबै", "BYPASS": "बाइपास", "CHECKER": "जाँचकर्ता", - "REPORTING": "रिपोर्टिङ" + "REPORTING": "रिपोर्टिङ", + "UNASSIGNSTAFF": "कर्मचारी हटाउनुहोस्" }, "entities": { "ACCOUNTINGRULE": "लेखा नियम", @@ -4117,7 +4181,11 @@ "STANDINGINSTRUCTION": "स्थायी निर्देशन", "FUNCTIONS": "कार्यहरू", "TWOFACTOR": "दुई-कारक", - "SUPER_USER": "सुपर प्रयोगकर्ता" + "SUPER_USER": "सुपर प्रयोगकर्ता", + "REPAYMENT_SCHEDULE": "भुक्तानी तालिका", + "SHARESACCOUNTCHARGE": "सेयर खाता शुल्क", + "TAXCOMPONENT": "कर घटक", + "TAXGROUP": "कर समूह" } }, "auditTrail": { @@ -4420,7 +4488,8 @@ "ACTIVE": "सक्रिय", "PENDING": "पेन्डिङ", "INACTIVE": "निष्क्रिय", - "Process Remittance": "रेमिट्यान्स प्रक्रिया" + "Process Remittance": "रेमिट्यान्स प्रक्रिया", + "Allow full term length for each tranche disbursement": "सक्षम गरिएमा, प्रत्येक किस्ता वितरण बाँकी अवधिमा फिट हुनुको सट्टा पूर्ण ऋण अवधि तालिका अनुसरण गर्नेछ। केवल PROGRESSIVE ऋण तालिका प्रकारको लागि उपलब्ध।" }, "countries": { "AF": "अफगानिस्तान", @@ -4594,5 +4663,13 @@ "failure": "सर्वेक्षण बुझाउन असफल भयो।" } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "कार्यान्वयन नभएको त्रुटि", + "message": "कार्यान्वयन नभएको कार्यक्षमता!" + } + } } } diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json index 7454da2f29..657f4b903b 100644 --- a/src/assets/translations/pt-PT.json +++ b/src/assets/translations/pt-PT.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "A cobrança não pode ser configurada como uma penalidade devida no desembolso.", "error.msg.charge.duplicate.name": "Já existe cobrança com esse nome.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "A atualização de cobrança se aplica a não é suportada.", + "error.msg.data.integrity.issue": "O pedido causou um problema de integridade de dados na base de dados", "error.msg.loan.product.close.date.cannot.be.before.start.date": "A data de fechamento do produto de empréstimo não pode ser anterior à data de início.", "error.msg.product.loan.duplicate.charge": "O produto de empréstimo só pode ter uma cobrança de cada tipo.", "error.msg.product.loan.duplicate.name": "O produto de empréstimo com o nome `{{params[0].value}}` já existe.", @@ -1047,6 +1048,8 @@ "are": "são", "be larger than 0 and at most 100": "ser maior que 0 e no máximo 100", "begin with a special character or number": "comece com um caractere especial ou número", + "can not be less than": "não pode ser menos do que", + "can not be more than": "não pode ser mais do que", "cannot begin with a special character or number": "não pode começar com um caractere especial ou número", "decimal places": "casas decimais", "do not match": "não combina", @@ -1346,6 +1349,7 @@ "Minimum Active Period": "Período Mínimo Ativo", "Minimum Deposit Term": "Prazo mínimo de depósito", "Moratorium": "Moratória", + "Near Breach Configuration": "Configuração de quase incumprimento", "Nominal Interest Rate by loan cycle": "Taxa de juros nominal por ciclo de empréstimo", "Notes": "Notas", "Notification External Service": "Serviço externo de notificação", @@ -1538,7 +1542,8 @@ "Payout Assignment": "Atribuição de pagamento", "Identification": "Identificação", "Professional Information": "Informações profissionais", - "Add Profile Entry": "Adicionar entrada de perfil" + "Add Profile Entry": "Adicionar entrada de perfil", + "Recipient Summary": "Resumo do destinatário" }, "inputs": { "Loan Account Status": "Estado da conta do empréstimo", @@ -2367,6 +2372,7 @@ "Name": "Nome", "Name Decorated": "Nome Decorado", "Name of the Organization": "Nome da Organização", + "Near Breach": "Violação próxima", "Near Breach Evaluation Frequency": "Frequência de avaliação de violação próxima", "Near Breach Evaluation Frequency Type": "Tipo de frequência de avaliação de violação próxima", "Near Breach Threshold": "Limiar de violação próxima", @@ -2775,6 +2781,7 @@ "Text": "Texto", "Theme": "Tema", "Theme and Font": "Tema e fonte", + "Threshold": "Limiar", "Thursday": "Quinta-feira", "Time": "Tempo", "To": "Para", @@ -2991,7 +2998,46 @@ "Period Payment Frequency Type": "Tipo de frequência de pagamento do período", "Payment Allocation Transactions": "Transações de Alocação de Pagamentos", "Net Present Value day count": "Contagem de dias do Valor Presente Líquido", - "Installment": "Prestação" + "Installment": "Prestação", + "Beneficiary Selection": "Seleção de beneficiário", + "Confirmation Number": "Número de confirmação", + "Sub Status": "Sub estado", + "Document": "Documento", + "Document Number": "Número do documento", + "Document number is required": "O número do documento é obrigatório", + "Allow full term for each tranche": "Permitir prazo completo para cada tranche", + "Failed to load vendors": "Falha ao carregar fornecedores", + "First name is required": "O nome é obrigatório", + "Last name is required": "O apelido é obrigatório", + "Search Client": "Pesquisar cliente", + "Type client name or account number": "Insira o nome do cliente ou o número de conta", + "Overdue": "Em atraso", + "Overdue Fees": "Taxas em atraso", + "Confirmed At": "Confirmado em", + "Full Name": "Nome completo", + "Loading vendors": { + "": { + "": { + "": "A carregar fornecedores..." + } + } + }, + "Minimum 3 characters": "Mínimo 3 caracteres", + "National ID": "Bilhete de identidade", + "Nationality": "Nacionalidade", + "Payout Amount": "Valor do pagamento", + "Payout Country": "País do pagamento", + "Payout Token": "Token de pagamento", + "Recipient Name": "Nome do destinatário", + "Send Amount": "Valor a enviar", + "Send Country": "País de envio", + "Sender": "Remetente", + "Sender Name": "Nome do remetente", + "Sent By": "Enviado por", + "Deposited At": "Depositado em", + "Passport": "Passaporte", + "Driver's License": "Carta de condução", + "Mothers Maiden Name": "Nome de solteira da mãe" }, "links": { "Community": "Comunidade", @@ -3131,7 +3177,8 @@ "Reject Additional Shares": "Rejeitar compartilhamentos adicionais", "Tasks": "Tarefas", "Remittances": "Remessas", - "Process Remittance": "Processar remessa" + "Process Remittance": "Processar remessa", + "Undo Write-off": "Desfazer abatimento" }, "placeholders": { "Add new server": "Adicionar novo servidor", @@ -3254,6 +3301,7 @@ "Audit logs of all the activities": "Registros de auditoria de todas as atividades, como criação de cliente, desembolso de empréstimos, etc.", "Bar": "Bar", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Configurações de Incumprimento", "Bulk Import": "Importação em massa", "Bulk Loan Reassignment": "Reatribuição de empréstimo em massa", "Bulk data import using excel spreadsheet templates": "Importação de dados em massa usando modelos de planilhas Excel para clientes, escritórios, etc.", @@ -3304,6 +3352,7 @@ "Create Accounting Closure": "Criar encerramento contábil", "Create Accounting Rule": "Criar regra contábil", "Create Adhoc Query": "Criar consulta ad hoc", + "Create Breach": "Criar Incumprimento", "Create Center": "Criar Centro", "Create Charge": "Criar cobrança", "Create Client": "Criar cliente", @@ -3332,6 +3381,7 @@ "View Loan Originator": "Ver Originador de Empréstimo", "Edit Loan Originator": "Editar Originador de Empréstimo", "Create Loans Account": "Criar conta de empréstimos", + "Create Near Breach": "Criar Quase Incumprimento", "Create New GL Account": "Esta opção permite criar novas contas contábeis.", "Create Office": "Criar escritório", "Create Payment Type": "Criar tipo de pagamento", @@ -3401,6 +3451,7 @@ "Define delinquency day ranges and bucket set for loan products": "Definir intervalos de dias de inadimplência e conjuntos de intervalos para produtos de empréstimo", "Define floating rates for loan products": "Definir taxas flutuantes para produtos de empréstimo", "Define holidays for office": "Defina feriados para o escritório", + "Define near breaches for working capital products": "Definir quase incumprimentos para produtos de capital de giro", "Define or modify Maker Checker tasks": "Definir ou modificar tarefas do Maker Checker", "Define or modify entity to entity mappings": "Definir ou modificar mapeamentos de entidade para entidade", "Define or modify roles and associated permissions": "Definir ou modificar funções e permissões associadas", @@ -3420,6 +3471,7 @@ "Edit Accounting Rules": "Editar regras contábeis", "Edit Adhoc Query": "Editar consulta ad hoc", "Edit Amazon S3 Configuration": "Editar configuração do Amazon S3", + "Edit Breach": "Editar Incumprimento", "Edit Cashier": "Editar caixa", "Edit Center": "Centro de edição", "Edit Charge": "Editar cobrança", @@ -3441,7 +3493,9 @@ "Edit Group": "Editar grupo", "Edit Holidays": "Editar feriados", "Edit Hook": "Editar gancho", + "Edit Loan Originator": "Editar Agente de Crédito", "Edit Loan Product": "Editar produto de empréstimo", + "Edit Near Breach": "Editar Quase Incumprimento", "Edit Notification Configuration": "Editar configuração de notificação", "Edit Office": "Editar escritório", "Edit Payment Type": "Editar tipo de pagamento", @@ -3617,6 +3671,7 @@ "N/A": "N / D", "Navigate system selecting entity": "Isso permitirá que o usuário navegue rapidamente no sistema selecionando a entidade enquanto a pesquisa torna a navegação mais robusta.", "Navigation": "Navegação", + "Near Breach Configurations": "Configurações de Quase Incumprimento", "No Data": "Sem dados", "Not Activated": "Não ativado", "No Description": "Sem descrição", @@ -3685,6 +3740,7 @@ "Recurring Deposits Account Transactions": "Transações de contas de depósitos recorrentes", "RecurringDeposit Account View": "Visualização da conta de depósito recorrente", "Red asterisk field": "Os campos com asterisco vermelho (*) são obrigatórios. Para saber mais clique:", + "Remittances": "Remessas", "Repayment Schedule": "Cronograma de Reembolso", "Repeats' and 'Repeats every": "Nota: 'Repetições' e 'Repetições a cada' não podem ser modificadas se houver contas ativas (Empréstimos JLG, Depósitos Recorrentes etc.) dependentes desta reunião.", "Report Parameters": "Parâmetros do relatório", @@ -3813,6 +3869,7 @@ "View Adhoc Query": "Ver consulta ad hoc", "View Amazon S3 Configuration": "Ver configuração do Amazon S3", "View Audit": "Ver auditoria", + "View Breach": "Ver Incumprimento", "View Bulk Import": "Ver importação em massa", "View Cashier": "Ver caixa", "View Charges": "Ver cobranças", @@ -3835,7 +3892,9 @@ "View Group": "Ver grupo", "View Holidays": "Ver feriados", "View Hook": "Ver gancho", + "View Loan Originator": "Ver Agente de Crédito", "View Loan Product": "Ver produto de empréstimo", + "View Near Breach": "Ver Quase Incumprimento", "View Notification Configuration": "Ver configuração de notificação", "View Office": "Ver escritório", "View Product Mix": "Ver mix de produtos", @@ -3910,7 +3969,9 @@ "Failed to search clients. Please try again.": "Falha ao pesquisar clientes. Tente novamente.", "Process Remittance": "Processar remessa", "Loan Originators": "Agentes de Crédito", - "Loan Reschedules": "Reprogramações de empréstimos" + "Loan Reschedules": "Reprogramações de empréstimos", + "Settings saved successfully": "Definições guardadas com sucesso.", + "Undo Write-off Description": "Esta ação reverterá a transação de abatimento e restaurará o empréstimo ao seu estado ativo anterior. Por favor, forneça uma nota explicando o motivo desta ação." }, "permissions": { "actions": { @@ -4427,7 +4488,8 @@ "ACTIVE": "ATIVO", "PENDING": "PENDENTE", "INACTIVE": "INATIVO", - "Process Remittance": "Processar remessa" + "Process Remittance": "Processar remessa", + "Allow full term length for each tranche disbursement": "Quando ativado, cada desembolso de tranche seguirá o calendário completo do empréstimo em vez de se ajustar ao prazo restante. Disponível apenas para o tipo de calendário PROGRESSIVO." }, "countries": { "AF": "Afeganistão", @@ -4601,5 +4663,13 @@ "failure": "Falha ao submeter o questionário." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Erro não implementado", + "message": "Funcionalidade não implementada!" + } + } } } diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json index 73573c904a..7aa9b6a8ee 100644 --- a/src/assets/translations/sw-SW.json +++ b/src/assets/translations/sw-SW.json @@ -28,6 +28,7 @@ "error.msg.charge.due.at.disbursement.cannot.be.penalty": "Malipo hayawezi kuanzishwa kama adhabu kutokana na ulipaji.", "error.msg.charge.duplicate.name": "Malipo yenye jina hilo tayari yapo.", "error.msg.charge.update.of.charge.applies.to.is.not.supported": "Usasishaji wa Malipo unatumika kwa halitumiki.", + "error.msg.data.integrity.issue": "Ombi lilileta tatizo la uadilifu wa data kwenye hifadhidata", "error.msg.loan.product.close.date.cannot.be.before.start.date": "Tarehe ya kufunga bidhaa ya mkopo haiwezi kabla ya tarehe ya kuanza.", "error.msg.product.loan.duplicate.charge": "Bidhaa ya mkopo inaweza kuwa na malipo moja tu ya kila aina.", "error.msg.product.loan.duplicate.name": "Bidhaa ya mkopo yenye jina `{{params[0].value}}` tayari ipo.", @@ -1045,6 +1046,8 @@ "are": "ni", "be larger than 0 and at most 100": "kuwa kubwa kuliko 0 na angalau 100", "begin with a special character or number": "anza na herufi maalum au nambari", + "can not be less than": "haiwezi kuwa chini ya", + "can not be more than": "haiwezi kuwa zaidi ya", "cannot begin with a special character or number": "haiwezi kuanza na herufi maalum au nambari", "decimal places": "maeneo ya desimali", "do not match": "hailingani", @@ -1344,6 +1347,7 @@ "Minimum Active Period": "Kipindi cha Amilifu cha Chini", "Minimum Deposit Term": "Muda wa chini wa Amana", "Moratorium": "Kusitishwa", + "Near Breach Configuration": "Mipangilio ya Ukiukaji wa Karibu", "Nominal Interest Rate by loan cycle": "Kiwango cha Riba cha Kawaida kwa mzunguko wa mkopo", "Notes": "Vidokezo", "Notification External Service": "Huduma ya Nje ya Arifa", @@ -1535,7 +1539,9 @@ "Payout Assignment": "Ugawaji wa malipo", "Identification": "Utambulisho", "Professional Information": "Taarifa za kitaaluma", - "Add Profile Entry": "Ongeza ingizo la wasifu" + "Add Profile Entry": "Ongeza ingizo la wasifu", + "Id": "Kitambulisho", + "Recipient Summary": "Muhtasari wa Mpokeaji" }, "inputs": { "Loan Account Status": "Hali ya akaunti ya mkopo", @@ -2364,6 +2370,7 @@ "Name": "Jina", "Name Decorated": "Jina Limepambwa", "Name of the Organization": "Jina la Shirika", + "Near Breach": "Ukiukaji unaokaribia", "Near Breach Evaluation Frequency": "Mzunguko wa tathmini ya ukiukaji unaokaribia", "Near Breach Evaluation Frequency Type": "Aina ya mzunguko wa tathmini ya ukiukaji unaokaribia", "Near Breach Threshold": "Kiwango cha ukiukaji unaokaribia", @@ -2772,6 +2779,7 @@ "Text": "Maandishi", "Theme": "Mandhari", "Theme and Font": "Mandhari na Fonti", + "Threshold": "Kizingiti", "Thursday": "Alhamisi", "Time": "Wakati", "To": "Kwa", @@ -2988,7 +2996,46 @@ "Period Payment Frequency Type": "Aina ya Mara kwa Mara za Malipo ya Kipindi", "Payment Allocation Transactions": "Miamala ya Ugawaji wa Malipo", "Net Present Value day count": "Idadi halisi ya siku za Thamani ya Sasa", - "Installment": "Awamu" + "Installment": "Awamu", + "Beneficiary Selection": "Uchaguzi wa Mpokeaji", + "Confirmation Number": "Nambari ya Uthibitisho", + "Sub Status": "Hali Ndogo", + "Document": "Hati", + "Document Number": "Nambari ya Hati", + "Document number is required": "Nambari ya hati inahitajika", + "Allow full term for each tranche": "Ruhusu muda wote kwa kila tranche", + "Failed to load vendors": "Imeshindwa kupakia wauzaji", + "First name is required": "Jina la kwanza linahitajika", + "Last name is required": "Jina la ukoo linahitajika", + "Search Client": "Tafuta Mteja", + "Type client name or account number": "Andika jina la mteja au nambari ya akaunti", + "Overdue": "Imechelewa", + "Overdue Fees": "Ada Zilizochelewa", + "Confirmed At": "Imethibitishwa", + "Full Name": "Jina Kamili", + "Loading vendors": { + "": { + "": { + "": "Inapakia wauzaji..." + } + } + }, + "Minimum 3 characters": "Angalau herufi 3", + "National ID": "Kitambulisho cha Taifa", + "Nationality": "Utaifa", + "Payout Amount": "Kiasi cha Malipo", + "Payout Country": "Nchi ya Malipo", + "Payout Token": "Tokeni ya Malipo", + "Recipient Name": "Jina la Mpokeaji", + "Send Amount": "Kiasi cha Kutuma", + "Send Country": "Nchi ya Kutuma", + "Sender": "Mtumaji", + "Sender Name": "Jina la Mtumaji", + "Sent By": "Imetumwa na", + "Deposited At": "Iliwekwa", + "Passport": "Pasipoti", + "Driver's License": "Leseni ya Udereva", + "Mothers Maiden Name": "Jina la Mama Kabla ya Ndoa" }, "links": { "Community": "Jumuiya", @@ -3127,7 +3174,8 @@ "Reject Additional Shares": "Kataa Hisa za Ziada", "Tasks": "Kazi", "Remittances": "Uhawilishaji", - "Process Remittance": "Chakata uhawilishaji" + "Process Remittance": "Chakata uhawilishaji", + "Undo Write-off": "Futa Kuandika-mbali" }, "placeholders": { "Add new server": "Ongeza seva mpya", @@ -3250,6 +3298,7 @@ "Audit logs of all the activities": "Kagua kumbukumbu za shughuli zote, kama vile kuunda mteja, kutoa mikopo n.k", "Bar": "Baa", "BIRT": "Mifos Reporting Plugin for Eclipse Birt", + "Breach Configurations": "Mipangilio ya Uvunjaji", "Bulk Import": "Ingiza Wingi", "Bulk Loan Reassignment": "Ugawaji upya wa mkopo kwa wingi", "Bulk data import using excel spreadsheet templates": "Leta data kwa wingi kwa kutumia violezo vya lahajedwali bora kwa wateja, ofisi, n.k.", @@ -3300,6 +3349,7 @@ "Create Accounting Closure": "Unda Kufungwa kwa Uhasibu", "Create Accounting Rule": "Tengeneza Kanuni ya Uhasibu", "Create Adhoc Query": "Unda Hoja ya Adhoc", + "Create Breach": "Unda Uvunjaji", "Create Center": "Unda Kituo", "Create Charge": "Unda Malipo", "Create Client": "Unda Mteja", @@ -3328,6 +3378,7 @@ "View Loan Originator": "Angalia Mwanzilishi wa Mkopo", "Edit Loan Originator": "Hariri Mwanzilishi wa Mkopo", "Create Loans Account": "Unda Akaunti ya Mikopo", + "Create Near Breach": "Unda Karibu Uvunjaji", "Create New GL Account": "Chaguo hili hukuruhusu kuunda akaunti mpya za GL.", "Create Office": "Unda Ofisi", "Create Payment Type": "Unda Aina ya Malipo", @@ -3397,6 +3448,7 @@ "Define delinquency day ranges and bucket set for loan products": "Bainisha safu za siku za uhalifu na ndoo zilizowekwa kwa bidhaa za mkopo", "Define floating rates for loan products": "Bainisha viwango vinavyoelea vya bidhaa za mkopo", "Define holidays for office": "Fafanua likizo kwa ofisi", + "Define near breaches for working capital products": "Fafanua ukiukaji wa karibu kwa bidhaa za mtaji wa uendeshaji", "Define or modify Maker Checker tasks": "Bainisha au urekebishe kazi za Kikagua Kitengeneza", "Define or modify entity to entity mappings": "Bainisha au urekebishe huluki kwa mpangilio wa huluki", "Define or modify roles and associated permissions": "Bainisha au urekebishe majukumu na ruhusa zinazohusiana", @@ -3416,6 +3468,7 @@ "Edit Accounting Rules": "Badilisha Sheria za Uhasibu", "Edit Adhoc Query": "Hariri Hoja ya Adhoc", "Edit Amazon S3 Configuration": "Hariri Usanidi wa Amazon S3", + "Edit Breach": "Hariri Uvunjaji", "Edit Cashier": "Badilisha Cashier", "Edit Center": "Hariri Kituo", "Edit Charge": "Badilisha Malipo", @@ -3437,7 +3490,9 @@ "Edit Group": "Badilisha Kikundi", "Edit Holidays": "Hariri Likizo", "Edit Hook": "Hariri Hook", + "Edit Loan Originator": "Hariri Mwanzilishi wa Mkopo", "Edit Loan Product": "Hariri Bidhaa ya Mkopo", + "Edit Near Breach": "Hariri Karibu Uvunjaji", "Edit Notification Configuration": "Badilisha Usanidi wa Arifa", "Edit Office": "Badilisha Ofisi", "Edit Payment Type": "Badilisha Aina ya Malipo", @@ -3613,6 +3668,7 @@ "N/A": "N/A", "Navigate system selecting entity": "Hii itamruhusu mtumiaji kuabiri kwa haraka huluki ya kuchagua mfumo huku akitafuta hufanya urambazaji kuwa thabiti zaidi.", "Navigation": "Urambazaji", + "Near Breach Configurations": "Mipangilio ya Karibu Uvunjaji", "No Data": "Hakuna Data", "Not Activated": "Haijawezeshwa", "No Description": "Hakuna maelezo", @@ -3681,6 +3737,7 @@ "Recurring Deposits Account Transactions": "Miamala ya Akaunti ya Amana ya Mara kwa Mara", "RecurringDeposit Account View": "Mwonekano wa Akaunti ya Amana unaorudiwa", "Red asterisk field": "Sehemu zilizo na nyota nyekundu (*) zinahitajika. Kujua zaidi bofya:", + "Remittances": "Uhamisho wa Fedha", "Repayment Schedule": "Ratiba ya Marejesho", "Repeats' and 'Repeats every": "Kumbuka: 'Rudia' na 'Rudia kila' haziwezi kubadilishwa ikiwa kuna akaunti zinazotumika (Mikopo ya JLG, Amana Zinazorudiwa n.k) zinategemea mkutano huu.", "Report Parameters": "Vigezo vya Ripoti", @@ -3809,6 +3866,7 @@ "View Adhoc Query": "Tazama Hoja ya Adhoc", "View Amazon S3 Configuration": "Tazama Usanidi wa Amazon S3", "View Audit": "Angalia Ukaguzi", + "View Breach": "Tazama Uvunjaji", "View Bulk Import": "Tazama Uingizaji Wingi", "View Cashier": "Tazama Keshia", "View Charges": "Tazama Malipo", @@ -3831,7 +3889,9 @@ "View Group": "Tazama Kikundi", "View Holidays": "Tazama Likizo", "View Hook": "Tazama ndoano", + "View Loan Originator": "Tazama Mwanzilishi wa Mkopo", "View Loan Product": "Tazama Bidhaa ya Mkopo", + "View Near Breach": "Tazama Karibu Uvunjaji", "View Notification Configuration": "Tazama Usanidi wa Arifa", "View Office": "Angalia Ofisi", "View Product Mix": "Tazama Mchanganyiko wa Bidhaa", @@ -3906,7 +3966,9 @@ "Failed to search clients. Please try again.": "Imeshindwa kutafuta wateja. Tafadhali jaribu tena.", "Process Remittance": "Chakata uhawilishaji", "Loan Originators": "Waanzilishi wa Mikopo", - "Loan Reschedules": "Ratiba za Mikopo" + "Loan Reschedules": "Ratiba za Mikopo", + "Settings saved successfully": "Mipangilio imehifadhiwa.", + "Undo Write-off Description": "Kitendo hiki kitabatilisha muamala wa kuandika-mbali na kurejesha mkopo kwa hali yake ya awali ya kazi. Tafadhali toa maelezo yanayoelezea sababu ya kitendo hiki." }, "permissions": { "actions": { @@ -4423,7 +4485,8 @@ "ACTIVE": "INAYOENDELEA", "PENDING": "INAKARIBISHWA", "INACTIVE": "HAITUMIKI", - "Process Remittance": "Chakata uhawilishaji" + "Process Remittance": "Chakata uhawilishaji", + "Allow full term length for each tranche disbursement": "Inapowezeshwa, kila usambazaji wa tranche utafuata ratiba kamili ya mkopo badala ya kulingana na muda uliobaki. Inapatikana tu kwa aina ya ratiba ya mkopo ya MAENDELEO." }, "countries": { "AF": "Afghanistani", @@ -4597,5 +4660,13 @@ "failure": "Imeshindwa kuwasilisha utafiti." } } + }, + "error": { + "resource": { + "notImplemented": { + "type": "Hitilafu Isiyotekelezwa", + "message": "Utendakazi ambao haujatekelezwa!" + } + } } }