i18n: Adding new languages: Part 1 (#1882)

Co-authored-by: Jose Alberto Hernandez <alberto@blue-daemon.local>
This commit is contained in:
José Alberto Hernández
2023-10-22 20:18:05 -06:00
committed by GitHub
co-authored by Jose Alberto Hernandez
parent c7fe21e74a
commit 408f004450
432 changed files with 38051 additions and 44613 deletions
@@ -12,11 +12,11 @@
</mat-card-title>
<mat-card-subtitle>
<p>
{{"labels.inputs.Account No" | translate }}:
{{"labels.inputs.Account No" | translate}}:
<mifosx-account-number accountNo="{{centerData.accountNo}}"></mifosx-account-number>
</p>
<p *ngIf="centerData.externalId">
{{"labels.inputs.External Id" | translate }}:
{{"labels.inputs.External Id" | translate}}:
<mifosx-external-identifier externalId="{{centerData.externalId}}"></mifosx-external-identifier>
</p>
</mat-card-subtitle>
@@ -31,15 +31,15 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Activation Date" | translate }}
{{"labels.inputs.Activation Date" | translate}}
</div>
<div fxFlex="50%">
{{ centerData.activationDate | dateFormat }}
{{ centerData.activationDate | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Associated Officer" | translate }}
{{"labels.inputs.Associated Officer" | translate}}
</div>
<div fxFlex="50%">
@@ -47,7 +47,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="centerSummaryData">
{{"labels.inputs.Number of Active Clients" | translate }}
{{"labels.inputs.Number of Active Clients" | translate}}
</div>
<div fxFlex="50%" *ngIf="centerSummaryData">
@@ -55,7 +55,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="centerSummaryData">
{{"labels.inputs.Number of Active Client Loans" | translate }}
{{"labels.inputs.Number of Active Client Loans" | translate}}
</div>
<div fxFlex="50%" *ngIf="centerSummaryData">
@@ -63,7 +63,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="centerSummaryData">
{{"labels.inputs.Number of Active Client Borrowers" | translate }}
{{"labels.inputs.Number of Active Client Borrowers" | translate}}
</div>
<div fxFlex="50%" *ngIf="centerSummaryData">
@@ -71,7 +71,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="centerSummaryData">
{{"labels.inputs.Number of Active Overdue Group Loans" | translate }}
{{"labels.inputs.Number of Active Overdue Group Loans" | translate}}
</div>
<div fxFlex="50%" *ngIf="centerSummaryData">
@@ -79,7 +79,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="centerSummaryData">
{{"labels.inputs.Number of Active Overdue Client Loans" | translate }}
{{"labels.inputs.Number of Active Overdue Client Loans" | translate}}
</div>
<div fxFlex="50%" *ngIf="centerSummaryData">
@@ -87,15 +87,15 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.nextTenRecurringDates[0]">
{{"labels.inputs.Next Meeting Date" | translate }}
{{"labels.inputs.Next Meeting Date" | translate}}
</div>
<div fxFlex="50%" *ngIf="centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.nextTenRecurringDates[0]">
{{ centerSummaryData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat }}
{{ centerSummaryData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.humanReadable">
{{"labels.inputs.Meeting Frequency" | translate }}
{{"labels.inputs.Meeting Frequency" | translate}}
</div>
<div fxFlex="50%" *ngIf="centerData.collectionMeetingCalendar && centerData.collectionMeetingCalendar.humanReadable">
@@ -103,7 +103,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Number of Groups" | translate }}
{{"labels.inputs.Number of Groups" | translate}}
</div>
<div fxFlex="50%">
@@ -12,7 +12,7 @@
</mat-card-title>
<mat-card-subtitle>
<p>
{{"labels.inputs.Account No" | translate }}: {{ clientData.accountNo }} {{ clientData.externalId ? '| External ID: ' + clientData.externalId : '' }}
{{"labels.inputs.Account No" | translate}}: {{ clientData.accountNo }} {{ clientData.externalId ? '| External ID: ' + clientData.externalId : '' }}
</p>
</mat-card-subtitle>
</div>
@@ -27,7 +27,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong" *ngIf="clientData.firstName">
{{"labels.inputs.First Name" | translate }}
{{"labels.inputs.First Name" | translate}}
</div>
<div fxFlex="50%" *ngIf="clientData.firstName">
@@ -35,7 +35,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="clientData.middleName">
{{"labels.inputs.Middle Name" | translate }}
{{"labels.inputs.Middle Name" | translate}}
</div>
<div fxFlex="50%" *ngIf="clientData.middleName">
@@ -43,7 +43,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="clientData.lastName">
{{"labels.inputs.Last Name" | translate }}
{{"labels.inputs.Last Name" | translate}}
</div>
<div fxFlex="50%" *ngIf="clientData.lastName">
@@ -51,15 +51,15 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="clientData.dateOfBirth">
{{"labels.inputs.Date of Birth" | translate }}
{{"labels.inputs.Date of Birth" | translate}}
</div>
<div fxFlex="50%" *ngIf="clientData.dateOfBirth">
{{ clientData.dateOfBirth | dateFormat }}
{{ clientData.dateOfBirth | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="clientData.mobileNo">
{{"labels.inputs.Mobile Number" | translate }}
{{"labels.inputs.Mobile Number" | translate}}
</div>
<div fxFlex="50%" *ngIf="clientData.mobileNo">
@@ -67,15 +67,15 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Activation Date" | translate }}
{{"labels.inputs.Activation Date" | translate}}
</div>
<div fxFlex="50%">
{{ clientData.activationDate | dateFormat }}
{{ clientData.activationDate | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="clientData.officeName">
{{"labels.inputs.Associated Office" | translate }}
{{"labels.inputs.Associated Office" | translate}}
</div>
<div fxFlex="50%" *ngIf="clientData.officeName">
@@ -83,7 +83,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="clientData.staffName">
{{"labels.inputs.Associated Staff" | translate }}
{{"labels.inputs.Associated Staff" | translate}}
</div>
<div fxFlex="50%" *ngIf="clientData.staffName">
@@ -12,7 +12,7 @@
</mat-card-title>
<mat-card-subtitle>
<p>
{{"labels.inputs.Account No" | translate }}: {{ groupData.accountNo }} {{ groupData.externalId ? '| External ID: ' + groupData.externalId : '' }}
{{"labels.inputs.Account No" | translate}}: {{ groupData.accountNo }} {{ groupData.externalId ? '| External ID: ' + groupData.externalId : '' }}
</p>
</mat-card-subtitle>
</div>
@@ -25,15 +25,15 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Activation Date" | translate }}
{{"labels.inputs.Activation Date" | translate}}
</div>
<div fxFlex="50%">
{{ groupData.activationDate | dateFormat }}
{{ groupData.activationDate | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Associated Officer" | translate }}
{{"labels.inputs.Associated Officer" | translate}}
</div>
<div fxFlex="50%">
@@ -41,7 +41,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="groupData.centerName">
{{"labels.inputs.Associated Center" | translate }}
{{"labels.inputs.Associated Center" | translate}}
</div>
<div fxFlex="50%" *ngIf="groupData.centerName">
@@ -49,15 +49,15 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="groupData.collectionMeetingCalendar && groupData.collectionMeetingCalendar.nextTenRecurringDates[0]">
{{"labels.inputs.Next Meeting Date" | translate }}
{{"labels.inputs.Next Meeting Date" | translate}}
</div>
<div fxFlex="50%" *ngIf="groupData.collectionMeetingCalendar && groupData.collectionMeetingCalendar.nextTenRecurringDates[0]">
{{ groupData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat }}
{{ groupData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="groupData.collectionMeetingCalendar && groupData.collectionMeetingCalendar.humanReadable">
{{"labels.inputs.Meeting Frequency" | translate }}
{{"labels.inputs.Meeting Frequency" | translate}}
</div>
<div fxFlex="50%" *ngIf="groupData.collectionMeetingCalendar && groupData.collectionMeetingCalendar.humanReadable">
@@ -65,7 +65,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Number of Clients" | translate }}
{{"labels.inputs.Number of Clients" | translate}}
</div>
<div fxFlex="50%">
@@ -1,6 +1,6 @@
<div fxLayout="row" fxLayoutAlign="space-between center">
<mat-form-field fxFlex="50%">
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
<button mat-raised-button color="primary" (click)="toggleClosed()">
@@ -11,24 +11,24 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="accountNo">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate}} </th>
<td mat-cell *matCellDef="let loanAccount">{{ loanAccount.accountNo }}</td>
</ng-container>
<ng-container matColumnDef="productName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Loan Account" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Loan Account" | translate}} </th>
<td mat-cell *matCellDef="let loanAccount">{{ loanAccount.productName }}</td>
</ng-container>
<ng-container matColumnDef="Type">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Type" | translate }} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Type" | translate}} </th>
<td mat-cell *matCellDef="let loanAccount">
<fa-icon matTooltip="{{ loanAccount.loanType.value }}" matTooltipPosition="right" [icon]="(loanAccount.loanType.code === 'accountType.individual') ? 'user' : 'users'" size="lg"></fa-icon>
</td>
</ng-container>
<ng-container matColumnDef="Status">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate }} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate}} </th>
<td mat-cell *matCellDef="let loanAccount">
<span [className]="loanAccount.inArrears?'status-active-overdue' : (loanAccount.status.code | statusLookup)">
<fa-icon matTooltip="{{ loanAccount.status.value }}" matTooltipPosition="right" icon="circle" size="md"></fa-icon>
@@ -1,6 +1,6 @@
<div fxLayout="row">
<mat-form-field fxFlex="50%">
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
</div>
@@ -8,12 +8,12 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="accountNo">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate}} </th>
<td mat-cell *matCellDef="let memberGroup"> {{ memberGroup.accountNo }} </td>
</ng-container>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Group Name" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Group Name" | translate}} </th>
<td mat-cell *matCellDef="let memberGroup"> {{ memberGroup.name }} </td>
</ng-container>
@@ -5,9 +5,6 @@ import { Routes, RouterModule } from '@angular/router';
/** Routing Imports */
import { Route } from '../core/route/route.service';
/** Translation Imports */
import { extract } from '../core/i18n/i18n.service';
/** Custom Components */
import { NavigationComponent } from './navigation.component';
@@ -20,7 +17,7 @@ const routes: Routes = [
{
path: 'navigation',
component: NavigationComponent,
data: { title: extract('Navigation'), breadcrumb: 'Navigation' },
data: { title: 'Navigation', breadcrumb: 'Navigation' },
resolve: {
offices: OfficesResolver
}
+1 -1
View File
@@ -9,7 +9,7 @@
<mat-card-content fxLayout="column">
<mat-form-field *ngIf="!(officeData === undefined || officeData === null)">
<mat-label>{{"labels.inputs.Office" | translate }}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select [formControl]="officeSelector">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
@@ -9,7 +9,7 @@
</mat-card-title>
<mat-card-subtitle>
<p *ngIf="officeData.externalId">
{{"labels.inputs.External Id" | translate }}:<mifosx-external-identifier externalId="{{officeData.externalId}}"></mifosx-external-identifier>
{{"labels.inputs.External Id" | translate}}:<mifosx-external-identifier externalId="{{officeData.externalId}}"></mifosx-external-identifier>
</p>
</mat-card-subtitle>
</div>
@@ -20,15 +20,15 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Opened On" | translate }}
{{"labels.inputs.Opened On" | translate}}
</div>
<div fxFlex="50%">
{{ officeData.openingDate | dateFormat }}
{{ officeData.openingDate | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="officeData.parentName">
{{"labels.inputs.Parent officeData" | translate }}
{{"labels.inputs.Parent officeData" | translate}}
</div>
<div fxFlex="50%" *ngIf="officeData.parentName">
@@ -36,7 +36,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Number of Staff" | translate }}
{{"labels.inputs.Number of Staff" | translate}}
</div>
<div fxFlex="50%">
@@ -1,6 +1,6 @@
<div fxLayout="row" fxLayoutAlign="space-between center">
<mat-form-field fxFlex="50%">
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
<button mat-raised-button color="primary" (click)="toggleClosed()">
@@ -11,22 +11,22 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="accountNo">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate}} </th>
<td mat-cell *matCellDef="let savingsAccount">{{ savingsAccount.accountNo }}</td>
</ng-container>
<ng-container matColumnDef="productName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Savings Account" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Savings Account" | translate}} </th>
<td mat-cell *matCellDef="let savingsAccount">{{ savingsAccount.productName }}</td>
</ng-container>
<ng-container matColumnDef="accountBalance">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Balance" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Balance" | translate}} </th>
<td mat-cell *matCellDef="let savingsAccount">{{ savingsAccount.accountBalance }}</td>
</ng-container>
<ng-container matColumnDef="Status">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate }} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate}} </th>
<td mat-cell *matCellDef="let savingsAccount">
<span [className]="savingsAccount.status.code | statusLookup">
<fa-icon matTooltip="{{ savingsAccount.status.value }}" matTooltipPosition="right" icon="circle" size="md"></fa-icon>
@@ -1,6 +1,6 @@
<div fxLayout="row" fxLayoutAlign="space-between center">
<mat-form-field fxFlex="50%">
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
<button mat-raised-button color="primary" (click)="toggleClosed()">
@@ -11,22 +11,22 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="accountNo">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Number" | translate}} </th>
<td mat-cell *matCellDef="let shareAccount">{{ shareAccount.accountNo }}</td>
</ng-container>
<ng-container matColumnDef="productName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Share Account" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Share Account" | translate}} </th>
<td mat-cell *matCellDef="let shareAccount">{{ shareAccount.productName }}</td>
</ng-container>
<ng-container matColumnDef="totalApprovedShares">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Approved Shares" | translate }} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Approved Shares" | translate}} </th>
<td mat-cell *matCellDef="let savingsAccount">{{ savingsAccount.totalApprovedShares }}</td>
</ng-container>
<ng-container matColumnDef="Status">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate }} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate}} </th>
<td mat-cell *matCellDef="let shareAccount">
<span [className]="shareAccount.status.code | statusLookup">
<fa-icon matTooltip="{{ shareAccount.status.value }}" matTooltipPosition="right" icon="circle" size="md"></fa-icon>
@@ -12,7 +12,7 @@
</mat-card-title>
<mat-card-subtitle>
<p>
{{"labels.inputs.Associated Office" | translate }}: {{ employeeData.officeName }}
{{"labels.inputs.Associated Office" | translate}}: {{ employeeData.officeName }}
</p>
</mat-card-subtitle>
</div>
@@ -23,15 +23,15 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Joined On" | translate }}
{{"labels.inputs.Joined On" | translate}}
</div>
<div fxFlex="50%">
{{ employeeData.joiningDate | dateFormat }}
{{ employeeData.joiningDate | dateFormat }}
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Loan Officer" | translate }}
{{"labels.inputs.Loan Officer" | translate}}
</div>
<div fxFlex="50%">
@@ -39,7 +39,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong" *ngIf="employeeData.mobileNo">
{{"labels.inputs.Mobile Number" | translate }}
{{"labels.inputs.Mobile Number" | translate}}
</div>
<div fxFlex="50%" *ngIf="employeeData.mobileNo">
@@ -47,7 +47,7 @@
</div>
<div fxFlex="50%" class="mat-body-strong">
{{"labels.inputs.Number of Centers" | translate }}
{{"labels.inputs.Number of Centers" | translate}}
</div>
<div fxFlex="50%">