mirror of
https://framagit.org/framasoft/framadate/funky-framadate-front.git
synced 2023-08-25 13:53:14 +02:00
translate doc, add ES
This commit is contained in:
parent
c914eae60d
commit
2956ef0167
@ -1,15 +1,17 @@
|
||||
# Internationalisation - i18n
|
||||
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
|
||||
|
||||
|
@ -7,3 +7,23 @@ La mise en place de weblate pour faire des traductions collaboratives a été fa
|
||||
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 déclaré dans le [AppModule](../../src/app/app.module.ts) avec le module @ngx-translate. 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');
|
||||
|
||||
```
|
||||
|
||||
# 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.
|
||||
|
@ -1,7 +1,6 @@
|
||||
import { CommonModule, registerLocaleData } 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,14 @@ 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');
|
||||
|
||||
// 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';
|
||||
registerLocaleData(localeFr, 'fr-FR');
|
||||
registerLocaleData(localeEn, 'en-EN');
|
||||
registerLocaleData(localeEs, 'es-ES');
|
||||
|
||||
export class MyMissingTranslationHandler implements MissingTranslationHandler {
|
||||
public handle(params: MissingTranslationHandlerParams): string {
|
||||
@ -60,7 +65,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,
|
||||
|
@ -291,7 +291,7 @@
|
||||
"link_public": "Lien public",
|
||||
"delete_votes": "Supprimer tous les votes",
|
||||
"delete_comments": "Supprimer tous les commentaires",
|
||||
"delete_poll": "Supprimer le sondage",
|
||||
"delete_poll": "Supprimer le sondage"
|
||||
},
|
||||
"cancel_own": {
|
||||
"title": "Vous allez annuler votre vote",
|
||||
|
@ -86,4 +86,6 @@ export const environment = {
|
||||
key: 'FramaSondage',
|
||||
},
|
||||
display_validation_errors: false,
|
||||
propose_expire_input: false,
|
||||
defaultLanguage: 'FR',
|
||||
};
|
||||
|
@ -48,6 +48,7 @@ export const environment = {
|
||||
},
|
||||
display_validation_errors: false,
|
||||
propose_expire_input: false,
|
||||
defaultLanguage: 'FR',
|
||||
};
|
||||
|
||||
// Included with Angular CLI.
|
||||
|
Loading…
Reference in New Issue
Block a user