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
@@ -1,24 +1,24 @@
<nav class="breadcrumb-wrapper">
<ul class="breadcrumb">
<span #breadcrumb class="breadcrumb-title">{{ breadcrumbs[breadcrumbs.length-1].label | translate }}</span>
<span #breadcrumb class="breadcrumb-title">{{ getTranslate(breadcrumbs[breadcrumbs.length-1].label) }}</span>
<span *ngIf="breadcrumbs.length-1 !== 0" class="separator">
<li *ngFor="let breadcrumb of breadcrumbs; let last = last" class="breadcrumb-label">
<span *ngIf="!last" class="breadcrumb-link">
<a *ngIf="breadcrumb.url" [routerLink]="breadcrumb.url">{{ breadcrumb.label | translate }}</a>
<span *ngIf="!breadcrumb.url">{{ breadcrumb.label | translate }}</span>
<a *ngIf="breadcrumb.url" [routerLink]="breadcrumb.url">{{ getTranslate(breadcrumb.label) }}</a>
<span *ngIf="!breadcrumb.url">{{ getTranslate(breadcrumb.label) }}</span>
</span>
<span *ngIf="last">{{ breadcrumb.label | translate }}</span>
<span *ngIf="last">{{ getTranslate(breadcrumb.label) }}</span>
</li>
</span>
</ul>
</nav>
<ng-template #templateBreadcrumb let-popover="popover">
<h2>{{ 'labels.popovers.Breadcrumbs' | translate }}</h2>
<p class="mw300">{{"labels.text.User's current location" |translate}}</p>
<h2>{{'labels.popovers.Breadcrumbs' | translate}}</h2>
<p class="mw300">{{"labels.text.User's current location" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{ 'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{ 'labels.buttons.Back' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{ 'labels.buttons.Next' | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{'labels.buttons.Back' | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{'labels.buttons.Next' | translate }}</button>
</div>
</ng-template>
@@ -11,6 +11,7 @@ import { Breadcrumb } from './breadcrumb.model';
/** Custom Services */
import { PopoverService } from '../../../configuration-wizard/popover/popover.service';
import { ConfigurationWizardService } from '../../../configuration-wizard/configuration-wizard.service';
import { TranslateService } from '@ngx-translate/core';
/**
* Route data property to generate breadcrumb using a static string.
@@ -68,7 +69,8 @@ export class BreadcrumbComponent implements OnInit, AfterViewInit {
constructor(private activatedRoute: ActivatedRoute,
private router: Router,
private configurationWizardService: ConfigurationWizardService,
private popoverService: PopoverService) {
private popoverService: PopoverService,
private translateService: TranslateService) {
this.generateBreadcrumbs();
}
@@ -228,4 +230,11 @@ export class BreadcrumbComponent implements OnInit, AfterViewInit {
this.router.navigate(['/home']);
}
getTranslate(text: string): any {
const key: string = 'labels.text.' + text;
const translation = this.translateService.instant(key);
const result = (translation !== key) ? translation : text;
return result;
}
}
@@ -8,7 +8,7 @@
<!-- TODO: Allow customization by organization -->
<div class="app-brand" [routerLink]="['/home']">
<img src="assets/images/MifosX_logo.png" alt="app-logo" class="app-logo">
<span #logo class="app-logo-text text-muted">{{ 'APP_NAME' | translate }}</span>
<span #logo class="app-logo-text text-muted">{{ 'APP_NAME' | translate}}</span>
</div>
<div class="app-user">
@@ -20,10 +20,10 @@
{{ tenantIdentifier }} / {{ username }}
</span>
<div #userPanel class="app-user-controls">
<button class="xs-button" mat-icon-button matTooltip="{{ 'tooltips.Settings' | translate }}" [routerLink]="['/settings']">
<button class="xs-button" mat-icon-button matTooltip="{{ 'tooltips.Settings' | translate}}" [routerLink]="['/settings']">
<fa-icon icon="cog"></fa-icon>
</button>
<button class="xs-button" mat-icon-button matTooltip="{{ 'tooltips.Sign Out' | translate }}" (click)="logout()">
<button class="xs-button" mat-icon-button matTooltip="{{ 'tooltips.Sign Out' | translate}}" (click)="logout()">
<fa-icon icon="sign-out-alt"></fa-icon>
</button>
</div>
@@ -34,7 +34,7 @@
<div #frequentlyAccessed>
<div class="mt-1 mb-1 nav-item-sep">
<mat-divider></mat-divider>
<span class="text-muted icon-menu-title">{{ 'labels.menus.Frequently Accessed' | translate }}</span>
<span class="text-muted icon-menu-title">{{'labels.menus.Frequently Accessed' | translate}}</span>
</div>
</div>
<div class="icon-menu">
@@ -47,69 +47,69 @@
<div class="nav-item-sep">
<mat-divider></mat-divider>
<span class="text-muted">{{ 'labels.menus.Main Items' | translate }}</span>
<span class="text-muted">{{'labels.menus.Main Items' | translate}}</span>
</div>
<mat-nav-list>
<mat-list-item [routerLink]="['/dashboard']" matTooltip="{{ 'tooltips.Dashboard' | translate }}">
<mat-list-item [routerLink]="['/dashboard']" matTooltip="{{ 'tooltips.Dashboard' | translate}}">
<mat-icon matListIcon >
<fa-icon icon="tachometer-alt" size="sm"></fa-icon>
</mat-icon>
<a matLine #dashboard>{{ 'labels.menus.Dashboard' | translate }}</a>
<a matLine #dashboard>{{'labels.menus.Dashboard' | translate}}</a>
</mat-list-item>
<mat-list-item [routerLink]="['/navigation']" matTooltip="{{ 'tooltips.Navigation' | translate }}">
<mat-list-item [routerLink]="['/navigation']" matTooltip="{{ 'tooltips.Navigation' | translate}}">
<mat-icon matListIcon>
<fa-icon icon="location-arrow" size="sm"></fa-icon>
</mat-icon>
<a matLine #navigation>{{ 'labels.menus.Navigation' | translate }}</a>
<a matLine #navigation>{{'labels.menus.Navigation' | translate}}</a>
</mat-list-item>
<mat-list-item [routerLink]="['/checker-inbox-and-tasks/checker-inbox']" matTooltip="{{ 'tooltips.Checker Inbox and Tasks' | translate }}">
<mat-list-item [routerLink]="['/checker-inbox-and-tasks/checker-inbox']" matTooltip="{{ 'tooltips.Checker Inbox and Tasks' | translate}}">
<mat-icon matListIcon>
<i class="fa fa-check" ></i>
</mat-icon>
<a matLine>{{ 'labels.menus.Checker Inbox and Tasks' | translate }}</a>
<a matLine>{{'labels.menus.Checker Inbox and Tasks' | translate}}</a>
</mat-list-item>
<mat-list-item [routerLink]="['/collections/individual-collection-sheet']" matTooltip="{{ 'tooltips.Individual Collection Sheet' | translate }}">
<mat-list-item [routerLink]="['/collections/individual-collection-sheet']" matTooltip="{{ 'tooltips.Individual Collection Sheet' | translate}}">
<mat-icon matListIcon>
<i class="fa fa-tasks "></i>
</mat-icon>
<a matLine>{{ 'labels.menus.Individual Collection Sheet' | translate }}</a>
<a matLine>{{'labels.menus.Individual Collection Sheet' | translate}}</a>
</mat-list-item>
<mat-list-item [routerLink]="['/notifications']" matTooltip="{{ 'tooltips.Notifications' | translate }}">
<mat-list-item [routerLink]="['/notifications']" matTooltip="{{ 'tooltips.Notifications' | translate}}">
<mat-icon matListIcon>
<fa-icon icon="bell" size="sm"></fa-icon>
</mat-icon>
<a matLine>{{ 'labels.menus.Notifications' | translate }}</a>
<a matLine>{{'labels.menus.Notifications' | translate}}</a>
</mat-list-item>
<mat-list-item [routerLink]="['/accounting/journal-entries/frequent-postings']" matTooltip="{{ 'tooltips.Frequent Postings' | translate }}">
<mat-list-item [routerLink]="['/accounting/journal-entries/frequent-postings']" matTooltip="{{ 'tooltips.Frequent Postings' | translate}}">
<mat-icon matListIcon>
<fa-icon icon="sync" size="sm"></fa-icon>
</mat-icon>
<a matLine #frequentPostings>{{ 'labels.menus.Frequent Postings' | translate }}</a>
<a matLine #frequentPostings>{{'labels.menus.Frequent Postings' | translate}}</a>
</mat-list-item>
<mat-list-item [routerLink]="['/accounting/journal-entries/create']" matTooltip="{{ 'tooltips.Create Journal Entry' | translate }}">
<mat-list-item [routerLink]="['/accounting/journal-entries/create']" matTooltip="{{ 'tooltips.Create Journal Entry' | translate}}">
<mat-icon matListIcon>
<fa-icon icon="plus" size="sm"></fa-icon>
</mat-icon>
<a matLine #createJournalEntry>{{ 'labels.menus.Create Journal Entry' | translate }}</a>
<a matLine #createJournalEntry>{{'labels.menus.Create Journal Entry' | translate}}</a>
</mat-list-item>
<mat-list-item [routerLink]="['/accounting/chart-of-accounts']" matTooltip="{{ 'tooltips.Chart Of Accounts' | translate }}">
<mat-list-item [routerLink]="['/accounting/chart-of-accounts']" matTooltip="{{ 'tooltips.Chart Of Accounts' | translate}}">
<mat-icon matListIcon>
<fa-icon icon="sitemap" size="sm"></fa-icon>
</mat-icon>
<a matLine #chartOfAccounts>{{ 'labels.menus.Chart of Accounts' | translate }}</a>
<a matLine #chartOfAccounts>{{'labels.menus.Chart of Accounts' | translate}}</a>
</mat-list-item>
<mat-list-item (click)="showKeyboardShortcuts()" matTooltip="{{ 'tooltips.Keyboard Shortcuts' | translate }}">
<mat-list-item (click)="showKeyboardShortcuts()" matTooltip="{{ 'tooltips.Keyboard Shortcuts' | translate}}">
<mat-icon matListIcon>
<fa-icon icon="keyboard" size="sm"></fa-icon>
</mat-icon>
<a matLine>{{ 'labels.menus.Keyboard Shortcuts' | translate }}</a>
<a matLine>{{'labels.menus.Keyboard Shortcuts' | translate}}</a>
</mat-list-item>
<mat-list-item matTooltip="{{ 'tooltips.Help' | translate }}">
<mat-list-item matTooltip="{{ 'tooltips.Help' | translate}}">
<mat-icon matListIcon (click)="help()">
<fa-icon icon="question-circle" size="sm"></fa-icon>
</mat-icon>
<a matLine>{{ 'labels.menus.Help' | translate }}</a>
<a matLine>{{'labels.menus.Help' | translate}}</a>
</mat-list-item>
</mat-nav-list>
@@ -121,80 +121,80 @@
<ng-template #templateLogo let-popover="popover">
<p class="mw300">{{"labels.text.Welcome page logo from anywhere" | translate }}</p>
<p class="mw300">{{"labels.text.Welcome page logo from anywhere" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateUserPanel,userPanel,'bottom', true);">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateUserPanel,userPanel,'bottom', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateUserPanel let-popover="popover">
<h2>{{ 'labels.menus.User Panel' | translate }}</h2>
<p class="mw300">{{"labels.text.Section Buttons" | translate }}</p>
<h2>{{'labels.menus.User Panel' | translate}}</h2>
<p class="mw300">{{"labels.text.Section Buttons" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateLogo,logo,'bottom', true);">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentlyAccessed,frequentlyAccessed,'bottom', true);">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateLogo,logo,'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentlyAccessed,frequentlyAccessed,'bottom', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateFrequentlyAccessed let-popover="popover">
<h2>{{ 'labels.menus.Frequently Accessed' | translate }}</h2>
<p class="mw300">{{"labels.text.Shortcut to the frequently accessed components" | translate }}</p>
<h2>{{'labels.menus.Frequently Accessed' | translate}}</h2>
<p class="mw300">{{"labels.text.Shortcut to the frequently accessed components" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateUserPanel,userPanel,'bottom', true);">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateDashboard,dashboard,'bottom', true);">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateUserPanel,userPanel,'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateDashboard,dashboard,'bottom', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateDashboard let-popover="popover">
<h2>{{ 'labels.menus.Dashboard' | translate }}</h2>
<p class="mw300">{{"labels.text.User Dashboard Component" | translate }}</p>
<h2>{{'labels.menus.Dashboard' | translate}}</h2>
<p class="mw300">{{"labels.text.User Dashboard Component" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentlyAccessed,frequentlyAccessed,'bottom', true);">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNavigation,navigation,'bottom', true);">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentlyAccessed,frequentlyAccessed,'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNavigation,navigation,'bottom', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateNavigation let-popover="popover">
<h2>{{ 'labels.menus.Navigation' | translate }}</h2>
<p class="mw300">{{"labels.text.User Entity navigation screen" | translate }}</p>
<h2>{{'labels.menus.Navigation' | translate}}</h2>
<p class="mw300">{{"labels.text.User Entity navigation screen" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateDashboard,dashboard,'bottom', true);">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentPostings,frequentPostings,'top', true);">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateDashboard,dashboard,'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentPostings,frequentPostings,'top', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateFrequentPostings let-popover="popover">
<h2>{{ 'labels.menus.Frequent Postings' | translate }}</h2>
<p class="mw300">{{"labels.text.Shortcut accounting rules" | translate }}</p>
<h2>{{'labels.menus.Frequent Postings' | translate}}</h2>
<p class="mw300">{{"labels.text.Shortcut accounting rules" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNavigation,navigation,'bottom', true);">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateCreateJournalEntry,createJournalEntry,'top', true);">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNavigation,navigation,'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateCreateJournalEntry,createJournalEntry,'top', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateCreateJournalEntry let-popover="popover">
<h2>{{ 'labels.menus.Create Journal Entry' | translate }}</h2>
<p class="mw300">{{"labels.text.Shortcut entry screen" | translate }}</p>
<h2>{{'labels.menus.Create Journal Entry' | translate}}</h2>
<p class="mw300">{{"labels.text.Shortcut entry screen" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentPostings,frequentPostings,'top', true);">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateChartOfAccounts,chartOfAccounts,'top', true);">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFrequentPostings,frequentPostings,'top', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateChartOfAccounts,chartOfAccounts,'top', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateChartOfAccounts let-popover="popover">
<h2>{{ 'labels.menus.Chart of Accounts' | translate }}</h2>
<p class="mw300">{{"labels.text.Shortcut accounts screen" | translate }}</p>
<h2>{{'labels.menus.Chart of Accounts' | translate}}</h2>
<p class="mw300">{{"labels.text.Shortcut accounts screen" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateCreateJournalEntry,createJournalEntry,'top', true);">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateCreateJournalEntry,createJournalEntry,'top', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -1,10 +1,10 @@
<mat-toolbar fxLayout="row" color="primary" id="mifosx-toolbar">
<button mat-icon-button *ngIf="!sidenavCollapsed" (click)="toggleSidenav()" matTooltip="{{ 'tooltips.Toggle Hide/Open' | translate }}">
<button mat-icon-button *ngIf="!sidenavCollapsed" (click)="toggleSidenav()" matTooltip="{{ 'tooltips.Toggle Hide/Open' | translate}}">
<fa-icon icon="bars" size="lg"></fa-icon>
</button>
<button mat-icon-button *ngIf="sidenav.opened" (click)="toggleSidenavCollapse()" matTooltip="{{ 'tooltips.Toggle Collapse' | translate }}" fxHide.lt-md="true">
<button mat-icon-button *ngIf="sidenav.opened" (click)="toggleSidenavCollapse()" matTooltip="{{ 'tooltips.Toggle Collapse' | translate}}" fxHide.lt-md="true">
<fa-icon *ngIf="!sidenavCollapsed" icon="chevron-left"></fa-icon>
<fa-icon *ngIf="sidenavCollapsed" icon="chevron-right"></fa-icon>
</button>
@@ -13,31 +13,31 @@
<a #institution mat-tab-link class="tab-link" [matMenuTriggerFor]="institutionMenu" #institutionMenuTrigger="matMenuTrigger">
<fa-icon class="mr-05" icon="university" size="lg"></fa-icon>
{{ 'labels.menus.Institution' | translate }}
{{'labels.menus.Institution' | translate}}
</a>
<span fxHide.lt-lg="true">
<a #accounting mat-tab-link class="tab-link" [routerLink]="['/accounting']">
<fa-icon class="mr-05" icon="money-bill-alt" size="lg"></fa-icon>
{{ 'labels.menus.Accounting' | translate }}
{{'labels.menus.Accounting' | translate}}
</a>
<a #reports mat-tab-link class="tab-link" [matMenuTriggerFor]="reportsMenu" #reportsMenuTrigger="matMenuTrigger" >
<fa-icon class="mr-05" icon="chart-bar" size="lg"></fa-icon>
{{ 'labels.menus.Reports' | translate }}
{{'labels.menus.Reports' | translate}}
</a>
<a #admin mat-tab-link class="tab-link" [matMenuTriggerFor]="adminMenu" #adminMenuTrigger="matMenuTrigger">
<fa-icon class="mr-05" icon="shield-alt" size="lg"></fa-icon>
{{ 'labels.menus.Admin' | translate }}
{{'labels.menus.Admin' | translate}}
</a>
<a #selfService mat-tab-link class="tab-link" [matMenuTriggerFor]="selfServiceMenu" #selfServiceMenuTrigger="matMenuTrigger">
<fa-icon class="mr-05" icon="users" size="lg"></fa-icon>
{{ 'labels.menus.Self Service' | translate }}
{{'labels.menus.Self Service' | translate}}
</a>
<a #configWizard mat-tab-link class="tab-link" (click)="openDialog()">
<fa-icon class="mr-05" icon="info" size="lg"></fa-icon>
{{ 'labels.menus.Configuration Wizard' | translate }}
{{'labels.menus.Configuration Wizard' | translate}}
</a>
</span>
@@ -66,40 +66,40 @@
</mat-toolbar>
<mat-menu #institutionMenu="matMenu" [overlapTrigger]="false">
<button mat-menu-item routerLink="/clients">{{ 'labels.menus.Clients' | translate }}</button>
<button mat-menu-item routerLink="/groups">{{ 'labels.menus.Groups' | translate }}</button>
<button mat-menu-item routerLink="/centers">{{ 'labels.menus.Centers' | translate }}</button>
<button mat-menu-item routerLink="/clients">{{'labels.menus.Clients' | translate}}</button>
<button mat-menu-item routerLink="/groups">{{'labels.menus.Groups' | translate}}</button>
<button mat-menu-item routerLink="/centers">{{'labels.menus.Centers' | translate}}</button>
<span fxHide.lt>
<button mat-menu-item [routerLink]="['/accounting']">{{ 'labels.menus.Accounting' | translate }}</button>
<button mat-menu-item [matMenuTriggerFor]="reportsMenu">{{ 'labels.menus.Reports' | translate }}</button>
<button mat-menu-item [matMenuTriggerFor]="adminMenu">{{ 'labels.menus.Admin' | translate }}</button>
<button mat-menu-item [matMenuTriggerFor]="selfServiceMenu">{{ 'labels.menus.Self Service' | translate }}</button>
<button mat-menu-item [routerLink]="['/accounting']">{{'labels.menus.Accounting' | translate}}</button>
<button mat-menu-item [matMenuTriggerFor]="reportsMenu">{{'labels.menus.Reports' | translate}}</button>
<button mat-menu-item [matMenuTriggerFor]="adminMenu">{{'labels.menus.Admin' | translate}}</button>
<button mat-menu-item [matMenuTriggerFor]="selfServiceMenu">{{'labels.menus.Self Service' | translate}}</button>
</span>
</mat-menu>
<!-- Toolbar Menus -->
<mat-menu #reportsMenu="matMenu" [overlapTrigger]="false">
<button mat-menu-item [routerLink]="['/reports']">{{ 'labels.menus.All' | translate }}</button>
<button mat-menu-item [routerLink]="['/reports', 'Client']">{{ 'labels.menus.Clients' | translate }}</button>
<button mat-menu-item [routerLink]="['/reports', 'Loan']">{{ 'labels.menus.Loans' | translate }}</button>
<button mat-menu-item [routerLink]="['/reports', 'Savings']">{{ 'labels.menus.Savings' | translate }}</button>
<button mat-menu-item [routerLink]="['/reports', 'Fund']">{{ 'labels.menus.Funds' | translate }}</button>
<button mat-menu-item [routerLink]="['/reports', 'Accounting']">{{ 'labels.menus.Accounting' | translate }}</button>
<button mat-menu-item [routerLink]="['/xbrl']">{{ 'labels.menus.XBRL' | translate }}</button>
<button mat-menu-item [routerLink]="['/reports']">{{'labels.menus.All' | translate}}</button>
<button mat-menu-item [routerLink]="['/reports', 'Client']">{{'labels.menus.Clients' | translate}}</button>
<button mat-menu-item [routerLink]="['/reports', 'Loan']">{{'labels.menus.Loans' | translate}}</button>
<button mat-menu-item [routerLink]="['/reports', 'Savings']">{{'labels.menus.Savings' | translate}}</button>
<button mat-menu-item [routerLink]="['/reports', 'Fund']">{{'labels.menus.Funds' | translate}}</button>
<button mat-menu-item [routerLink]="['/reports', 'Accounting']">{{'labels.menus.Accounting' | translate}}</button>
<button mat-menu-item [routerLink]="['/xbrl']">{{'labels.menus.XBRL' | translate}}</button>
</mat-menu>
<mat-menu #adminMenu="matMenu" [overlapTrigger]="false">
<button mat-menu-item (click)="navigateMenu('/appusers')">{{ 'labels.menus.Users' | translate }}</button>
<button mat-menu-item [routerLink]="['/organization']">{{ 'labels.menus.Organization' | translate }}</button>
<button mat-menu-item [routerLink]="['/system']">{{ 'labels.menus.System' | translate }}</button>
<button mat-menu-item [routerLink]="['/products']">{{ 'labels.menus.Products' | translate }}</button>
<button mat-menu-item routerLink="/templates">{{ 'labels.menus.Templates' | translate }}</button>
<button mat-menu-item (click)="navigateMenu('/appusers')">{{'labels.menus.Users' | translate}}</button>
<button mat-menu-item [routerLink]="['/organization']">{{'labels.menus.Organization' | translate}}</button>
<button mat-menu-item [routerLink]="['/system']">{{'labels.menus.System' | translate}}</button>
<button mat-menu-item [routerLink]="['/products']">{{'labels.menus.Products' | translate}}</button>
<button mat-menu-item routerLink="/templates">{{'labels.menus.Templates' | translate}}</button>
</mat-menu>
<mat-menu #selfServiceMenu="matMenu" [overlapTrigger]="false">
<button mat-menu-item [routerLink]="['/self-service/users']">{{ 'labels.menus.User Management' | translate }}</button>
<button mat-menu-item [routerLink]="['/self-service/app-configuration']">{{ 'labels.menus.App Configuration' | translate }}</button>
<button mat-menu-item [routerLink]="['/self-service/task-management']">{{ 'labels.menus.Task Management' | translate }}</button>
<button mat-menu-item [routerLink]="['/self-service/users']">{{'labels.menus.User Management' | translate}}</button>
<button mat-menu-item [routerLink]="['/self-service/app-configuration']">{{'labels.menus.App Configuration' | translate}}</button>
<button mat-menu-item [routerLink]="['/self-service/task-management']">{{'labels.menus.Task Management' | translate}}</button>
</mat-menu>
<!-- Application User Help Menu -->
@@ -108,134 +108,134 @@
<mat-icon matListIcon>
<fa-icon icon="question-circle" size="sm"></fa-icon>
</mat-icon>
<span>{{ 'labels.menus.Help' | translate }}</span>
<span>{{'labels.menus.Help' | translate}}</span>
</button>
<button mat-menu-item [routerLink]="['/profile']">
<mat-icon>
<fa-icon icon="user" size="sm"></fa-icon>
</mat-icon>
<span>{{ 'labels.menus.Profile' | translate }}</span>
<span>{{'labels.menus.Profile' | translate}}</span>
</button>
<button mat-menu-item [routerLink]="['/settings']">
<mat-icon>
<fa-icon icon="cog" size="sm"></fa-icon>
</mat-icon>
<span>{{ 'labels.menus.Settings' | translate }}</span>
<span>{{'labels.menus.Settings' | translate}}</span>
</button>
<button mat-menu-item (click)="logout()" id="logout">
<mat-icon>
<fa-icon icon="sign-out-alt" size="sm"></fa-icon>
</mat-icon>
<span>{{ 'labels.menus.Sign Out' | translate }}</span>
<span>{{'labels.menus.Sign Out' | translate}}</span>
</button>
</mat-menu>
<ng-template #templateInstitution let-popover="popover">
<h2>{{ 'labels.menus.Institution' | translate }}</h2>
<p class="mw300">{{"labels.text.Button for individual account" | translate }}</p>
<h2>{{'labels.menus.Institution' | translate}}</h2>
<p class="mw300">{{"labels.text.Button for individual account" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAccounting, accounting)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAccounting, accounting)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateAccounting let-popover="popover">
<h2>{{ 'labels.menus.Accounting' | translate }}</h2>
<p class="mw300">{{"labels.text.Button for accounting department" | translate }}</p>
<h2>{{'labels.menus.Accounting' | translate}}</h2>
<p class="mw300">{{"labels.text.Button for accounting department" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateInstitution, institution)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateReports, reports)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateInstitution, institution)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateReports, reports)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateReports let-popover="popover">
<h2>{{ 'labels.menus.Reports' | translate }}</h2>
<p class="mw300">{{"labels.text.Dropdown system reports" | translate }}</p>
<h2>{{'labels.menus.Reports' | translate}}</h2>
<p class="mw300">{{"labels.text.Dropdown system reports" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAccounting, accounting)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAdmin, admin)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAccounting, accounting)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAdmin, admin)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateAdmin let-popover="popover">
<h2>{{ 'labels.menus.Admin' | translate }}</h2>
<p class="mw300">{{"labels.text.Setup organization including users" | translate }}</p>
<h2>{{'labels.menus.Admin' | translate}}</h2>
<p class="mw300">{{"labels.text.Setup organization including users" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateReports, reports)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateSelfService, selfService)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateReports, reports)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateSelfService, selfService)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateSelfService let-popover="popover">
<h2>{{ 'labels.menus.Self Service' | translate }}</h2>
<p class="mw300">{{"labels.text.Dropdown self service user administrative portal" | translate }}</p>
<h2>{{'labels.menus.Self Service' | translate}}</h2>
<p class="mw300">{{"labels.text.Dropdown self service user administrative portal" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAdmin, admin)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateConfigWizard, configWizard)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAdmin, admin)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateConfigWizard, configWizard)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateConfigWizard let-popover="popover">
<h2>{{ 'labels.menus.Configuration Wizard' | translate }}</h2>
<p class="mw300">{{"labels.text.Initial setup and application tour" | translate }}</p>
<h2>{{'labels.menus.Configuration Wizard' | translate}}</h2>
<p class="mw300">{{"labels.text.Initial setup and application tour" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateSelfService, selfService)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateGlobalSearch, globalSearch)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateSelfService, selfService)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateGlobalSearch, globalSearch)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateGlobalSearch let-popover="popover">
<h2>{{ 'labels.menus.Global Search' | translate }}</h2>
<p class="mw300">{{"labels.text.Navigate system selecting entity" | translate }}</p>
<h2>{{'labels.menus.Global Search' | translate}}</h2>
<p class="mw300">{{"labels.text.Navigate system selecting entity" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateConfigWizard, configWizard)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateLanguageSelector, languageSelector)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateConfigWizard, configWizard)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateLanguageSelector, languageSelector)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateLanguageSelector let-popover="popover">
<h2>{{ 'labels.menus.Language Selector' | translate }}</h2>
<p class="mw300">{{"labels.text.Organization available languages" | translate }}</p>
<h2>{{'labels.menus.Language Selector' | translate}}</h2>
<p class="mw300">{{"labels.text.Organization available languages" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateGlobalSearch, globalSearch)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateThemePicker, themePicker)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateGlobalSearch, globalSearch)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateThemePicker, themePicker)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateThemePicker let-popover="popover">
<h2>{{ 'labels.menus.Theme Picker' | translate }}</h2>
<p class="mw300">{{"labels.text.Choose a theme as per organization will" | translate }}</p>
<h2>{{'labels.menus.Theme Picker' | translate}}</h2>
<p class="mw300">{{"labels.text.Choose a theme as per organization will" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateLanguageSelector, languageSelector)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNotifications, notifications)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateLanguageSelector, languageSelector)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNotifications, notifications)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateNotifications let-popover="popover">
<h2>{{ 'labels.menus.Notifications' | translate }}</h2>
<p class="mw300">{{"labels.text.This shows all the notifications." | translate }}</p>
<h2>{{'labels.menus.Notifications' | translate}}</h2>
<p class="mw300">{{"labels.text.This shows all the notifications." | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateThemePicker, themePicker)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAppMenu, appMenu)">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateThemePicker, themePicker)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAppMenu, appMenu)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateAppMenu let-popover="popover">
<h2>{{ 'labels.menus.Application Menu' | translate }}</h2>
<p class="mw300">{{"labels.text.User settings and sign out button" | translate }}</p>
<h2>{{'labels.menus.Application Menu' | translate}}</h2>
<p class="mw300">{{"labels.text.User settings and sign out button" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNotifications, notifications)">{{"labels.buttons.Back" | translate }}</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStep()">{{"labels.buttons.Next" | translate }}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateNotifications, notifications)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStep()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>