i18n for some components.

This commit is contained in:
Florian THIERRY
2024-09-21 21:17:31 +02:00
parent f12dfc7029
commit 208b935ffa
9 changed files with 38 additions and 62 deletions

View File

@@ -1,10 +1,10 @@
<h1>{{title}}</h1>
<h2>{{description}}</h2>
<footer>
<button type="button" class="secondary" (click)="closeDialog()">
<button type="button" class="secondary" (click)="closeDialog()" i18n>
No
</button>
<button type="button" (click)="closeAndValidate()">
<button type="button" (click)="closeAndValidate()" i18n>
Yes
</button>
</footer>

View File

@@ -1,14 +1,14 @@
<div>
<span class="copy-left">&copy;</span>
2016 - 2024 Tous droits réservés
2016 - 2024 All rights reserved
-
2.0-alpha
<a [routerLink]="['./']" matTooltip="Health checking will be available in future...">
<a [routerLink]="['./']" matTooltip="Health checking will be available in future..." i18n-matTooltip>
<mat-icon>favorite</mat-icon>
</a>
</div>
<div>
<mat-icon matTooltip="Documentation will be available in future...">menu_book</mat-icon>
<mat-icon matTooltip="Documentation will be available in future..." i18n-matTooltip>menu_book</mat-icon>
-
veloppements réalisés par Florian THIERRY
<span i18n>Development realised by</span> Florian THIERRY
</div>

View File

@@ -1,23 +0,0 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { FooterComponent } from './footer.component';
describe('FooterComponent', () => {
let component: FooterComponent;
let fixture: ComponentFixture<FooterComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [FooterComponent]
})
.compileComponents();
fixture = TestBed.createComponent(FooterComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@@ -1,5 +1,5 @@
<div class="left">
<button type="button" (click)="sideMenu.open()" matTooltip="Click to show side menu">
<button type="button" (click)="sideMenu.open()" matTooltip="Click to show side menu" i18n-matTooltip>
<mat-icon>menu</mat-icon>
</button>
<a [routerLink]="['/home']">
@@ -19,18 +19,18 @@
</button>
<mat-menu #authenticatedUserMenu="matMenu">
<div class="authenticated-user-menu">
<a [routerLink]="['/my-publications']" matRipple>
<a [routerLink]="['/my-publications']" matRipple i18n>
<mat-icon>description</mat-icon>
My publications
</a>
<a [routerLink]="['/disconnect']" matRipple class="disconnection">
<a [routerLink]="['/disconnect']" matRipple class="disconnection" i18n>
<mat-icon>logout</mat-icon>
Disconnect
</a>
</div>
</mat-menu>
} @else {
<a [routerLink]="['/login']" class="button" matRipple>Login</a>
<a [routerLink]="['/login']" class="button" matRipple i18n>Login</a>
}
</div>
<app-side-menu #sideMenu></app-side-menu>

View File

@@ -1,16 +1,15 @@
import { CommonModule } from '@angular/common';
import { Component, inject } from '@angular/core';
import { MatIconModule } from '@angular/material/icon';
import { FormControl, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatRippleModule } from '@angular/material/core';
import { MatIconModule } from '@angular/material/icon';
import { MatMenuModule } from '@angular/material/menu';
import { MatTooltipModule } from '@angular/material/tooltip';
import { RouterModule } from '@angular/router';
import { AuthenticationService } from '../../core/service/authentication.service';
import { CommonModule } from '@angular/common';
import { SideMenuComponent } from '../side-menu/side-menu.component';
import { MatRippleModule } from '@angular/material/core';
import { FormControl, ReactiveFormsModule } from '@angular/forms';
import { PublicationsSearchBarComponent } from '../publications-search-bar/publications-search-bar.component';
import { MatTooltipModule } from '@angular/material/tooltip';
import { MatMenuModule } from '@angular/material/menu';
import { User } from '../../core/model/User';
import { SideMenuComponent } from '../side-menu/side-menu.component';
@Component({
selector: 'app-header',

View File

@@ -1,5 +1,5 @@
<form [formGroup]="formGroup">
<input name="search-query" placeholder="Search something..." formControlName="criteria"/>
<input name="search-query" placeholder="Search something..." formControlName="criteria" i18n-placeholder/>
<button type="submit" (click)="searchPublications()">
<mat-icon>search</mat-icon>
</button>

View File

@@ -1,18 +0,0 @@
import { HttpParams } from "@angular/common/http";
import { inject, Injectable } from "@angular/core";
import { Router } from "@angular/router";
import { BehaviorSubject } from "rxjs";
@Injectable()
export class PublicationsSearchBarService {
private router = inject(Router);
private criteriaSubject = new BehaviorSubject<string>('');
private cri
searchPublications(): void {
let queryParams = new HttpParams();
queryParams = queryParams.set('query', this.criteriaSubject.value);
this.router.navigate(['/publications'], {queryParams});
}
}

View File

@@ -1,7 +1,17 @@
{
"locale": "fr-FR",
"translations": {
"3603720768157919481": "Non",
"4861926948802653243": "Oui",
"9214089025589249203": "Les indicateurs de vie du site seront disponibles ultérieurement...",
"1711651175531679766": "La documentation sera disponible ultérieurement...",
"6299155290121808295": "Développements realisés par",
"6413533995205687351": "Cliquez pour afficher le menu",
"3394094310583807145": "{$START_TAG_MAT_ICON}description{$CLOSE_TAG_MAT_ICON} Mes publications",
"5690703874094076840": "{$START_TAG_MAT_ICON}logout{$CLOSE_TAG_MAT_ICON} Déconnexion",
"2454050363478003966": "Connexion",
"2578598149846191609": "Publication postée par {$INTERPOLATION}",
"6514394873612421064": "Rechercher quelque chose...",
"3450287383703155559": "Vous n'êtes pas connecté. Veuillez vous connecter avant de réessayer.",
"7819314041543176992": "Fermer",
"5455465794443528807": "You n'êtes pas connecté. Veuillez vous connecter avant de réessayer votre opération.",
@@ -11,7 +21,6 @@
"5148998676057880041": "Chargement des publications...",
"3688381096110057852": "Il n'y a aucune publication.",
"8393632007890629197": "Une erreur est survenue lors du chargement des dernières publications...",
"2454050363478003966": "Connexion",
"8138320902772264034": "Adresse email {$START_TAG_SPAN}*{$CLOSE_TAG_SPAN}",
"9175472990822669391": "Mot de passe {$START_TAG_SPAN}*{$CLOSE_TAG_SPAN}",
"6490688569532630280": "Valider",

View File

@@ -1,7 +1,17 @@
{
"locale": "en-UK",
"translations": {
"3603720768157919481": " No ",
"4861926948802653243": " Yes ",
"9214089025589249203": "Health checking will be available in future...",
"1711651175531679766": "Documentation will be available in future...",
"6299155290121808295": "Development realised by",
"6413533995205687351": "Click to show side menu",
"3394094310583807145": "{$START_TAG_MAT_ICON}description{$CLOSE_TAG_MAT_ICON} My publications ",
"5690703874094076840": "{$START_TAG_MAT_ICON}logout{$CLOSE_TAG_MAT_ICON} Disconnect ",
"2454050363478003966": "Login",
"2578598149846191609": "Publication posted by {$INTERPOLATION}",
"6514394873612421064": "Search something...",
"3450287383703155559": "You are unauthenticated. Please, log-in first.",
"7819314041543176992": "Close",
"5455465794443528807": "You are unauthenticated. Please, re-authenticate before retrying your action.",
@@ -11,7 +21,6 @@
"5148998676057880041": "Publications loading...",
"3688381096110057852": "No any publication.",
"8393632007890629197": "An error occurred while retrieving latest publications...",
"2454050363478003966": "Login",
"8138320902772264034": " Email address {$START_TAG_SPAN}*{$CLOSE_TAG_SPAN}",
"9175472990822669391": " Password {$START_TAG_SPAN}*{$CLOSE_TAG_SPAN}",
"6490688569532630280": "Send",