|
1 | 1 | <div *ngIf="application"> |
2 | 2 | <h2> |
3 | 3 | <mat-icon>details</mat-icon> |
4 | | - Application Details |
| 4 | + <span i18n="@@app_detail">Application Detail</span> |
5 | 5 | </h2> |
6 | 6 |
|
7 | 7 | <div class="container"> |
8 | 8 | <mat-form-field> |
9 | | - <input matInput #app_name [(ngModel)]="application.name" placeholder="Application Name" [readonly]="readOnlyValue" required/> |
| 9 | + <input matInput i18n-placeholder="@@app_name" #app_name [(ngModel)]="application.name" placeholder="Application Name" [readonly]="readOnlyValue" required/> |
10 | 10 | <mat-hint align="end">{{app_name.value?.length || 0}}/128</mat-hint> |
11 | 11 | </mat-form-field> |
12 | 12 | <mat-form-field> |
13 | | - <mat-select [(ngModel)]="application.internal_scheme" placeholder="Backend or Internal Scheme" [disabled]="readOnlyValue"> |
| 13 | + <mat-select i18n-placeholder="@@app_internal_scheme" [(ngModel)]="application.internal_scheme" placeholder="Backend or Internal Scheme" [disabled]="readOnlyValue"> |
14 | 14 | <mat-option value="http">http</mat-option> |
15 | 15 | <mat-option value="https">https</mat-option> |
16 | 16 | </mat-select> |
17 | 17 | </mat-form-field> |
18 | 18 |
|
19 | 19 | <mat-form-field *ngFor="let dest of application.destinations;let i=index; trackBy:trackByFn"> |
20 | | - <input matInput [(ngModel)]="application.destinations[i].destination" [readonly]="readOnlyValue" placeholder="Destination( IPv4 Example: 10.10.10.10:80 , IPv6 Example: [::1%lo]:8080 )" required/> |
21 | | - <mat-icon matSuffix matTooltip="Add new destination" matTooltipPosition="left" (click)="addDestination()">add_circle_outline</mat-icon> |
| 20 | + <input matInput i18n-placeholder="@@app_destination" [(ngModel)]="application.destinations[i].destination" [readonly]="readOnlyValue" placeholder="Destination( IPv4 Example: 10.10.10.10:80 , IPv6 Example: [::1%lo]:8080 )" required/> |
| 21 | + <mat-icon matSuffix i18n-matTooltip="@@add_destination" matTooltip="Add new destination" matTooltipPosition="left" (click)="addDestination()">add_circle_outline</mat-icon> |
22 | 22 | <mat-icon *ngIf="application.destinations.length>1" matSuffix (click)="delDestination(i)">remove_circle_outline</mat-icon> |
23 | 23 | </mat-form-field> |
24 | 24 |
|
25 | 25 | <div class="inner-container" *ngFor="let domain of application.domains; let i=index; trackBy:trackByFn"> |
26 | 26 | <mat-form-field> |
27 | 27 | <mat-icon matPrefix>language</mat-icon> |
28 | | - <input matInput placeholder="Domain name (editable)" [(ngModel)]="application.domains[i].name" [disabled]="readOnlyValue" list="domains" required> |
| 28 | + <input matInput i18n-placeholder="@@domain_name" placeholder="Domain name (editable)" [(ngModel)]="application.domains[i].name" [disabled]="readOnlyValue" list="domains" required> |
29 | 29 | <datalist id="domains"> |
30 | 30 | <option *ngFor="let domain of applicationService.domains;">{{domain.name}}</option> |
31 | 31 | </datalist> |
32 | 32 | </mat-form-field> |
33 | 33 |
|
34 | 34 | <mat-form-field> |
35 | 35 | <mat-icon matPrefix>lock_outline</mat-icon> |
36 | | - <mat-select placeholder="Certificate" [(ngModel)]="application.domains[i].cert_id" [disabled]="readOnlyValue" required> |
| 36 | + <mat-select i18n-placeholder="@@certificate" placeholder="Certificate" [(ngModel)]="application.domains[i].cert_id" [disabled]="readOnlyValue" required> |
37 | 37 | <mat-option *ngFor="let certificate of optionCertificates;" [value]="certificate.id"> |
38 | 38 | {{certificate.common_name}} |
39 | 39 | </mat-option> |
40 | 40 | </mat-select> |
41 | 41 | </mat-form-field> |
42 | 42 | <mat-form-field> |
43 | | - <mat-checkbox matPrefix [(ngModel)]="application.domains[i].redirect" [disabled]="readOnlyValue"> |
| 43 | + <mat-checkbox matPrefix i18n="@@redirect" [(ngModel)]="application.domains[i].redirect" [disabled]="readOnlyValue"> |
44 | 44 | Redirect to (301): |
45 | 45 | </mat-checkbox> |
46 | 46 | <input matInput placeholder="https://www.your-domain.com/" [(ngModel)]="application.domains[i].location" [disabled]="readOnlyValue"> |
47 | 47 | </mat-form-field> |
48 | 48 | <div> |
49 | | - <mat-icon matTooltip="Add new domain" matTooltipPosition="right" (click)="addDomain()">add_circle_outline</mat-icon> |
| 49 | + <mat-icon i18n-matTooltip="@@add_domain" matTooltip="Add new domain" matTooltipPosition="right" (click)="addDomain()">add_circle_outline</mat-icon> |
50 | 50 | <mat-icon *ngIf="application.domains.length>1" (click)="delDomain(i)">remove_circle_outline</mat-icon> |
51 | 51 | </div> |
52 | 52 | </div> |
53 | 53 |
|
54 | 54 | <mat-form-field> |
55 | | - <mat-select [(ngModel)]="application.ip_method" placeholder="Client IP for WAF" [disabled]="readOnlyValue"> |
| 55 | + <mat-select [(ngModel)]="application.ip_method" i18n-placeholder="@@ip_for_waf" |
| 56 | + placeholder="Client IP for WAF" [disabled]="readOnlyValue"> |
56 | 57 | <mat-option *ngFor="let ip_method_value of enum_ip_method_values;" [value]="ip_method_value.value"> |
57 | 58 | {{ ip_method_value.name }} |
58 | 59 | </mat-option> |
59 | 60 | </mat-select> |
60 | 61 | </mat-form-field> |
61 | 62 |
|
62 | 63 | <section> |
63 | | - <mat-checkbox [(ngModel)]="application.redirect_https" [disabled]="readOnlyValue"> |
| 64 | + <mat-checkbox i18n="@@redirect_https" [(ngModel)]="application.redirect_https" [disabled]="readOnlyValue"> |
64 | 65 | Redirect HTTP to HTTPS (301) |
65 | 66 | </mat-checkbox> |
66 | 67 | </section> |
67 | 68 |
|
68 | 69 | <section> |
69 | | - <mat-checkbox [(ngModel)]="application.hsts_enabled" [disabled]="readOnlyValue"> |
| 70 | + <mat-checkbox i18n="@@hsts_enabled" [(ngModel)]="application.hsts_enabled" [disabled]="readOnlyValue"> |
70 | 71 | Enable HSTS for HTTPS (Add Response Header: Strict-Transport-Security) |
71 | 72 | </mat-checkbox> |
72 | 73 | </section> |
73 | 74 |
|
74 | 75 | <section> |
75 | | - <mat-checkbox [(ngModel)]="application.waf_enabled" [disabled]="readOnlyValue"> |
| 76 | + <mat-checkbox i18n="@@waf_enabled" [(ngModel)]="application.waf_enabled" [disabled]="readOnlyValue"> |
76 | 77 | Enable WAF (Web Application Firewall) |
77 | 78 | </mat-checkbox> |
78 | 79 | </section> |
79 | 80 |
|
80 | 81 | <section> |
81 | | - <mat-checkbox [(ngModel)]="application.oauth_required" [disabled]="readOnlyValue"> |
| 82 | + <mat-checkbox i18n="@@oauth_required" [(ngModel)]="application.oauth_required" [disabled]="readOnlyValue"> |
82 | 83 | Enable OAuth2 (Only for Internal Employees and Internal Applications. {{ oauth.display_name }}) |
83 | 84 | </mat-checkbox> |
84 | 85 | </section> |
85 | 86 |
|
86 | 87 | <mat-form-field> |
87 | | - <input type="number" matInput [(ngModel)]="application.session_seconds" [readonly]="readOnlyValue" placeholder="Session Expire Seconds for OAuth2"/> |
| 88 | + <input i18n-placeholder="@@session_seconds" type="number" matInput [(ngModel)]="application.session_seconds" [readonly]="readOnlyValue" placeholder="Session Expire Seconds for OAuth2"/> |
88 | 89 | </mat-form-field> |
89 | 90 |
|
90 | 91 | <mat-form-field> |
91 | | - <input matInput [(ngModel)]="application.owner" [readonly]="readOnlyValue" placeholder="Application Owner"/> |
| 92 | + <input matInput i18n-placeholder="@@owner" [(ngModel)]="application.owner" [readonly]="readOnlyValue" placeholder="Application Owner"/> |
92 | 93 | </mat-form-field> |
93 | 94 |
|
94 | 95 | <mat-form-field> |
95 | | - <input matInput #description [(ngModel)]="application.description" [readonly]="readOnlyValue" placeholder="Description"/> |
| 96 | + <input matInput i18n-placeholder="@@description" #description [(ngModel)]="application.description" [readonly]="readOnlyValue" placeholder="Description"/> |
96 | 97 | <mat-hint align="end">{{description.value?.length || 0}}/256</mat-hint> |
97 | 98 | </mat-form-field> |
98 | 99 | <div> |
99 | | - <button mat-raised-button [disabled]="readOnlyValue" (click)="setApplication()" color="primary">Save</button> |
100 | | - <button mat-raised-button (click)="changeEditable()" color="primary">{{readOnlyButtonText}}</button> |
101 | | - <button mat-raised-button [disabled]="readOnlyValue" (click)="deleteApplication()" color="primary">Delete</button> |
| 100 | + <button i18n="@@save" mat-raised-button [disabled]="readOnlyValue" (click)="setApplication()" color="primary">Save</button> |
| 101 | + <button mat-raised-button (click)="changeEditable()" color="primary">{{readOnlyButtonText}}</button> |
| 102 | + <button i18n="@@delete" mat-raised-button [disabled]="readOnlyValue" (click)="deleteApplication()" color="primary">Delete</button> |
102 | 103 | </div> |
103 | 104 | </div> |
0 commit comments