add langs in enum

This commit is contained in:
Tykayn 2022-02-03 11:33:57 +01:00 committed by tykayn
parent d181578893
commit 68e4823eed
8 changed files with 50 additions and 20 deletions

View File

@ -1,5 +1,13 @@
# Framadate - funky version # Framadate - funky version
![landing_page](docs/img/landing_page.png) ![landing_page](docs/img/landing_page.png)
<a href="https://weblate.framasoft.org/engage/funky-framadate/">
<img src="https://weblate.framasoft.org/widgets/funky-framadate/-/funky-framadate-front/multi-auto.svg" alt="État de la traduction" />
</a>
<a href="https://weblate.framasoft.org/engage/funky-framadate/">
<img src="https://weblate.framasoft.org/widgets/funky-framadate/-/funky-framadate-front/open-graph.png" alt="État de la traduction" />
</a>
FR: Un logiciel libre de sondage fait par les contributeurs de l'association Framasoft, avec une API backend. FR: Un logiciel libre de sondage fait par les contributeurs de l'association Framasoft, avec une API backend.
EN: A libre polling software made by contributors around the French association Framasoft. EN: A libre polling software made by contributors around the French association Framasoft.

View File

@ -1,5 +1,9 @@
# Internationalisation - i18n # Internationalisation - i18n
<a href="https://weblate.framasoft.org/engage/funky-framadate/">
<img src="https://weblate.framasoft.org/widgets/funky-framadate/-/funky-framadate-front/svg-badge.svg" alt="État de la traduction" />
</a>
## Dans les templates HTML ## Dans les templates HTML
Toutes les chaînes de texte doivent être disponible en minimum deux langues: Français et Anglais. Toutes les chaînes de texte doivent être disponible en minimum deux langues: Français et Anglais.
Pour l'ajout de nouvelles traductions voir [la documentations des traductions.md](../traductions.md) Pour l'ajout de nouvelles traductions voir [la documentations des traductions.md](../traductions.md)

View File

@ -1,4 +1,10 @@
# Traductions # Traductions
<a href="https://weblate.framasoft.org/engage/funky-framadate/">
<img src="https://weblate.framasoft.org/widgets/funky-framadate/-/funky-framadate-front/svg-badge.svg" alt="État de la traduction" />
</a>
<a href="https://weblate.framasoft.org/engage/funky-framadate/">
<img src="https://weblate.framasoft.org/widgets/funky-framadate/-/funky-framadate-front/multi-auto.svg" alt="État de la traduction" />
</a>
Les chaînes sont traduites via des clés de fichiers JSON Les chaînes sont traduites via des clés de fichiers JSON
exemple: [src/assets/i18n/FR.json]() exemple: [src/assets/i18n/FR.json]()
@ -12,16 +18,15 @@ Nous avons récupéré les chaînes de traduction du projet Framadate v1, il fau
Le Weblate effectue automatiquement des Merge Request vers Framagit, si une langue est nouvelle elle proposera de créer un fichier **nom_de_la_langue.json** dans le dossier **src/assets/i18n** Le Weblate effectue automatiquement des Merge Request vers Framagit, si une langue est nouvelle elle proposera de créer un fichier **nom_de_la_langue.json** dans le dossier **src/assets/i18n**
Pour que l'appli reconnaisse ces nouvelles langues il faut les enregistrer dans l'AppModule. Pour que l'appli reconnaisse ces nouvelles langues il faut les enregistrer dans l'AppModule.
Chaque fichier de traduction est déclaré dans le [AppModule](../../src/app/app.module.ts) avec le module @ngx-translate. Examinez l'exemple pour rajouter votre propre traduction. Chaque fichier de traduction est automatiquement chargé dans le [AppModule](../../src/app/app.module.ts) avec le Loader de @ngx-translate. Il faut ensuite ajouter le code de la langue dans l'énumération du fichier **/app/core/enums/language.enum.ts** Examinez l'exemple pour rajouter votre propre traduction.
``` typescript ``` typescript
import localeEn from '@angular/common/locales/en'; export enum Language {
import localeFr from '@angular/common/locales/fr'; FR = 'fr',
BR = 'br',
import { CommonModule, registerLocaleData } from '@angular/common'; EN = 'en',
//... etc
registerLocaleData(localeEn, 'en-EN'); }
registerLocaleData(localeFr, 'fr-FR');
``` ```

View File

@ -1,4 +1,4 @@
import { CommonModule, registerLocaleData } from '@angular/common'; import { CommonModule } from '@angular/common';
import { HttpClient, HttpClientModule } from '@angular/common/http'; import { HttpClient, HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
@ -31,13 +31,13 @@ import { KeyboardShortcutsModule } from 'ng-keyboard-shortcuts';
import { AdministrationModule } from './features/administration/administration.module'; import { AdministrationModule } from './features/administration/administration.module';
// register languages files for translation // register languages files for translation
import localeEn from '@angular/common/locales/en'; // import localeEn from '@angular/common/locales/en';
import localeFr from '@angular/common/locales/fr'; // import localeFr from '@angular/common/locales/fr';
import localeEs from '@angular/common/locales/es'; // import localeEs from '@angular/common/locales/es';
// code for locale are listed by the ISO-639 // // code for locale are listed by the ISO-639
registerLocaleData(localeFr, 'fr-FR'); // registerLocaleData(localeFr, 'fr-FR');
registerLocaleData(localeEn, 'en-EN'); // registerLocaleData(localeEn, 'en-EN');
registerLocaleData(localeEs, 'ca-ES'); // registerLocaleData(localeEs, 'ca-ES');
export class MyMissingTranslationHandler implements MissingTranslationHandler { export class MyMissingTranslationHandler implements MissingTranslationHandler {
public handle(params: MissingTranslationHandlerParams): string { public handle(params: MissingTranslationHandlerParams): string {

View File

@ -1,15 +1,19 @@
/**
* liste des fichiers JSON de traduction des textes dans l'appli à charger par ngx-translate et prposer aux utilisateurs et utilisatrices de Framdate.
* Cette enum est utilisé dans le composant de sélection de langue.
*/
export enum Language { export enum Language {
FR = 'fr', FR = 'fr',
// BR = 'br', BR = 'br',
// CA = 'ca', // CA = 'ca',
// DE = 'de', // DE = 'de',
// EL = 'el', // EL = 'el',
EN = 'en', EN = 'en',
// ES = 'es', ES = 'es',
// GL = 'gl', // GL = 'gl',
// HU = 'hu', // HU = 'hu',
// IT = 'it', IT = 'it',
// NL = 'nl', // NL = 'nl',
// OC = 'oc', OC = 'oc',
// SV = 'sv', // SV = 'sv',
} }

3
src/assets/i18n/BR.json Normal file
View File

@ -0,0 +1,3 @@
{
}

3
src/assets/i18n/IT.json Normal file
View File

@ -0,0 +1,3 @@
{
}

3
src/assets/i18n/OC.json Normal file
View File

@ -0,0 +1,3 @@
{
}