diff --git a/README.md b/README.md
index 2bdcff5c..d2bb2976 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,13 @@
# Framadate - funky version
![landing_page](docs/img/landing_page.png)
+
+
+
+
+
+
+
+
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.
@@ -11,12 +19,7 @@ This version uses a brand new backend API.
[lire la doc pour débuter votre Funky Framadate](docs/GETTING_STARTED.md)
## Design et maquettes
-Maquette naviguable:
-https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/a/rbYngRP/play
-
-Planche de création de sondage, https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/p/9F41E940-BAAF-489A-8C90-AC6E5C762211
-
-Planche des participations https://www.sketch.com/s/5833607c-e93e-4e9b-9c7e-0614238c6d8c/p/BFC83003-AAF3-4858-9EE1-F28A88D11305
+Maquette naviguable: https://www.figma.com/file/Q3I15MEuOtTwL0WIQ2eSMu/%F0%9F%93%85-Framadate?node-id=0%3A6510
## Documentation
@@ -26,8 +29,8 @@ EN: All documentation is available in the "doc" folder, mainly in French because
# Version funky framadate
-* maquettes par Thomas Bonamy :
- * icones https://feathericons.com/
+* Selon les maquettes par Thomas Bonamy : https://www.figma.com/file/Q3I15MEuOtTwL0WIQ2eSMu
+* icones https://feathericons.com/
* [Spécifications](docs/cadrage/specifications-fonctionnelles)
* maquettes par @maiwann : https://scene.zeplin.io/project/5d4d83d68866d6522ff2ff10
diff --git a/docs/cadrage/i18n.md b/docs/cadrage/i18n.md
index 790cec6e..6e29f19c 100644
--- a/docs/cadrage/i18n.md
+++ b/docs/cadrage/i18n.md
@@ -1,16 +1,25 @@
# Internationalisation - i18n
+
+
+
+
+## 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)
La documentation a été pensée pour être compréhensible en premier lieu par des personnes francophones, le projet étant issu de Framasoft et de personnes uniquement Francophones, nous avons jugé que c'était le moyen le plus efficace pour le faire grandir.
-Voir les fichiers src/assets/i18n [EN.json](/src/assets/i18n/EN.json) et [FR.json](/src/assets/i18n/FR.json)
-La traduction se base sur un système de clés-valeur.
+Voir les fichiers dans le dossier **src/assets/i18n**
+[EN.json](/src/assets/i18n/EN.json) et [FR.json](/src/assets/i18n/FR.json)
+
+La traduction se base sur un système de clés-valeur dans des fichiers JSON.
Les clés sont entrées dans les templates html, et c'est la config d'Angular qui les traduit selon la langue demandée par le visiteur du site.
-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.
-
-Utilisez des sous groupes dans vos traductions afin de mieux segmenter les chaines de caractère par page et selon le sens qu'elles sous tendent.
+Utilisez des sous groupes dans vos traductions afin de mieux segmenter les chaines de caractère par page et selon leur sens.
+Faites en sorte de réutiliser au maximum les phrases identiques.
## Traduction de la documentation mkdocs
-voir ici https://www.mkdocs.org/user-guide/configuration/#lang
+Pour traduire cette documentation (les fichiers markdwon dans le dossier /docs/) qui génère un mini site avec mkdocs avec la commande de build, il faut faire des fichiers avec un nom de langue tels que index.fr.md et index.en.md.
+Plus d'infos: https://www.mkdocs.org/user-guide/configuration/#lang
diff --git a/docs/reunions/2021.md b/docs/reunions/2021.md
index cf59a85f..f5d4c323 100644
--- a/docs/reunions/2021.md
+++ b/docs/reunions/2021.md
@@ -1,5 +1,8 @@
# 2021
![landing_page](../img/landing_page.png)
+
+## Septembre
+Début des jours ouvrés par Tykayn avec les designs de la DINUM
## Mars
la DINUM propose de contribuer à financer le développement de la nouvelle version.
diff --git a/docs/reunions/2022.md b/docs/reunions/2022.md
new file mode 100644
index 00000000..f28dabb2
--- /dev/null
+++ b/docs/reunions/2022.md
@@ -0,0 +1,7 @@
+
+# Février 2022
+- Présentation du rework design Figma, ajout de la section participation au vote.
+Prévision de version 1 pour le Lundi 14 Mars 2022.
+
+# Janvier 2022
+- Rework design après tests utilisateurs, développement en pause pendant le mois.
diff --git a/docs/traductions.md b/docs/traductions.md
index e66951d8..6da13a79 100644
--- a/docs/traductions.md
+++ b/docs/traductions.md
@@ -1,9 +1,34 @@
# Traductions
+
+
+
+
+
+
Les chaînes sont traduites via des clés de fichiers JSON
exemple: [src/assets/i18n/FR.json]()
-La mise en place de weblate pour faire des traductions collaboratives reste à réaliser
-https://framagit.org/framasoft/framadate/funky-framadate-front/-/issues/112
+La mise en place de weblate pour faire des traductions collaboratives a été faite.
+Vous pouvez contribuer ici https://weblate.framasoft.org/projects/funky-framadate/funky-framadate-front
Nous avons récupéré les chaînes de traduction du projet Framadate v1, il faudra faire un nettoyage des clés et valeurs inutilisées dans les fichiers de traduction.
+# Ajouter de nouvelles langues
+
+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 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
+export enum Language {
+ FR = 'fr',
+ BR = 'br',
+ EN = 'en',
+ //... etc
+ }
+
+```
+
+# prise en charges des traductions manquantes
+Les textes manquants seront indiqués avec "MISSING TRANSLATION FOR" et le nom de la clé demandée par le HTML.
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 27923488..10cdab94 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -1,7 +1,6 @@
-import { CommonModule, registerLocaleData } from '@angular/common';
+import { CommonModule } from '@angular/common';
import { HttpClient, HttpClientModule } from '@angular/common/http';
-import localeEn from '@angular/common/locales/en';
-import localeFr from '@angular/common/locales/fr';
+
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserModule, Title } from '@angular/platform-browser';
@@ -30,8 +29,15 @@ import { CipheringComponent } from './features/shared/components/ui/static-pages
import { ErrorsListComponent } from './features/shared/components/ui/form/errors-list/errors-list.component';
import { KeyboardShortcutsModule } from 'ng-keyboard-shortcuts';
import { AdministrationModule } from './features/administration/administration.module';
-registerLocaleData(localeEn, 'en-EN');
-registerLocaleData(localeFr, 'fr-FR');
+
+// 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');
export class MyMissingTranslationHandler implements MissingTranslationHandler {
public handle(params: MissingTranslationHandlerParams): string {
@@ -40,7 +46,7 @@ export class MyMissingTranslationHandler implements MissingTranslationHandler {
}
export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
- return new TranslateHttpLoader(http);
+ return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
@NgModule({
@@ -60,7 +66,7 @@ export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
NgxWebstorageModule.forRoot({ prefix: environment.localStorage.key }),
SharedModule,
TranslateModule.forRoot({
- defaultLanguage: 'FR',
+ defaultLanguage: environment.defaultLanguage,
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
diff --git a/src/app/core/enums/language.enum.ts b/src/app/core/enums/language.enum.ts
index 4dc6dbfe..b09cf498 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',
- // CA = 'ca',
- // DE = 'de',
- // EL = 'el',
+ BR = 'br',
+ CA = 'ca',
+ DE = 'de',
+ EL = 'el',
EN = 'en',
- // ES = 'es',
- // GL = 'gl',
- // HU = 'hu',
- // IT = 'it',
- // NL = 'nl',
- // OC = 'oc',
- // SV = 'sv',
+ ES = 'es',
+ GL = 'gl',
+ HU = 'hu',
+ IT = 'it',
+ NL = 'nl',
+ OC = 'oc',
+ SV = 'sv',
}
diff --git a/src/app/features/administration/form/advanced-config/advanced-config.component.html b/src/app/features/administration/form/advanced-config/advanced-config.component.html
index 803f3205..b603f060 100644
--- a/src/app/features/administration/form/advanced-config/advanced-config.component.html
+++ b/src/app/features/administration/form/advanced-config/advanced-config.component.html
@@ -1,5 +1,5 @@