diff --git a/README.md b/README.md index 2bdcff5c..854f592b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,13 @@ # Framadate - funky version ![landing_page](docs/img/landing_page.png) + +État de la traduction + + + +État de la traduction + + 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. diff --git a/docs/cadrage/i18n.md b/docs/cadrage/i18n.md index 568b45a8..51f9a9b2 100644 --- a/docs/cadrage/i18n.md +++ b/docs/cadrage/i18n.md @@ -1,5 +1,9 @@ # Internationalisation - i18n + +État de la traduction + ## Dans les templates HTML + 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) diff --git a/docs/traductions.md b/docs/traductions.md index cff0fbd1..6da13a79 100644 --- a/docs/traductions.md +++ b/docs/traductions.md @@ -1,4 +1,10 @@ # Traductions + +État de la traduction + + +État de la traduction + Les chaînes sont traduites via des clés de fichiers 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** 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 -import localeEn from '@angular/common/locales/en'; -import localeFr from '@angular/common/locales/fr'; - -import { CommonModule, registerLocaleData } from '@angular/common'; - -registerLocaleData(localeEn, 'en-EN'); -registerLocaleData(localeFr, 'fr-FR'); +export enum Language { + FR = 'fr', + BR = 'br', + EN = 'en', + //... etc + } ``` diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 061182d4..10cdab94 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,4 +1,4 @@ -import { CommonModule, registerLocaleData } from '@angular/common'; +import { CommonModule } from '@angular/common'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; @@ -31,13 +31,13 @@ import { KeyboardShortcutsModule } from 'ng-keyboard-shortcuts'; import { AdministrationModule } from './features/administration/administration.module'; // register languages files for translation -import localeEn from '@angular/common/locales/en'; -import localeFr from '@angular/common/locales/fr'; -import localeEs from '@angular/common/locales/es'; -// code for locale are listed by the ISO-639 -registerLocaleData(localeFr, 'fr-FR'); -registerLocaleData(localeEn, 'en-EN'); -registerLocaleData(localeEs, 'ca-ES'); +// import localeEn from '@angular/common/locales/en'; +// import localeFr from '@angular/common/locales/fr'; +// import localeEs from '@angular/common/locales/es'; +// // code for locale are listed by the ISO-639 +// registerLocaleData(localeFr, 'fr-FR'); +// registerLocaleData(localeEn, 'en-EN'); +// registerLocaleData(localeEs, 'ca-ES'); export class MyMissingTranslationHandler implements MissingTranslationHandler { public handle(params: MissingTranslationHandlerParams): string { diff --git a/src/app/core/enums/language.enum.ts b/src/app/core/enums/language.enum.ts index 4dc6dbfe..cfbcbf7c 100644 --- a/src/app/core/enums/language.enum.ts +++ b/src/app/core/enums/language.enum.ts @@ -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 { FR = 'fr', - // BR = 'br', + BR = 'br', // CA = 'ca', // DE = 'de', // EL = 'el', EN = 'en', - // ES = 'es', + ES = 'es', // GL = 'gl', // HU = 'hu', - // IT = 'it', + IT = 'it', // NL = 'nl', - // OC = 'oc', + OC = 'oc', // SV = 'sv', } diff --git a/src/assets/i18n/BR.json b/src/assets/i18n/BR.json new file mode 100644 index 00000000..36a37131 --- /dev/null +++ b/src/assets/i18n/BR.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/src/assets/i18n/IT.json b/src/assets/i18n/IT.json new file mode 100644 index 00000000..0db3279e --- /dev/null +++ b/src/assets/i18n/IT.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/src/assets/i18n/OC.json b/src/assets/i18n/OC.json new file mode 100644 index 00000000..0db3279e --- /dev/null +++ b/src/assets/i18n/OC.json @@ -0,0 +1,3 @@ +{ + +}