create-plume-react-project
Version:
CLI to create Plume React Project
90 lines (85 loc) • 3.11 kB
text/typescript
import { viteHotContext } from '@i18n/translations/hmr-config';
import { observable, WritableObservable } from 'micro-observables';
import translationHotReload from '@i18n/translations/translations-hmr';
import { Translations } from './Translations';
const frMessages: Translations = {
// actions
action: {
back: 'Retour',
cancel: 'Annuler',
save: 'Enregistrer',
delete: 'Supprimer',
search: 'Rechercher',
add: 'Ajouter',
authenticate: 'Me connecter',
disconnect: 'Me déconnecter',
keep_editing: 'Rester sur la page',
close_without_saving: 'Fermer sans sauvegarder',
},
// common labels
label: {
creation_date: 'Date de création',
loading: 'Chargement...',
},
// common messages
message: {
changes_saved: 'Les modifications ont bien été enregistrées',
unsaved_data: 'Des modifications n\'ont pas été enregistrées. '
+ 'Si vous voulez enregistrer ces modifications, cliquez sur le bouton "Rester sur la page"',
confirm_delete: 'Pour confirmer la suppression, cliquez sur le bouton "Supprimer"',
},
// navigation
nav: {
home: 'Accueil',
users: 'Gestion des utilisateurs',
user_list: 'Utilisateurs',
},
// home
home: {
title: 'Page d\'accueil',
},
login: {
title: 'Se connecter',
},
// users
users: {
userName: 'Nom d\'utilisateur',
password: 'Mot de passe',
email: 'E-mail',
firstName: 'Prénom',
lastName: 'Nom',
role: 'Rôle',
},
// pages users
user: {
title_list: 'Liste des utilisateurs',
title_create: 'Création d\'un utilisateur',
title_edit: 'Modification d\'un utilisateur',
password_confirm: 'Confirmation du mot de passe',
error_passwords_different: 'Le mot de passe et sa confirmation sont différents',
},
// errors
error: {
field: {
required: 'Le champ est requis',
email_wrong_format: 'L\'adresse e-mail saisie semble être incorrecte',
},
},
'http-errors': {
INTERNAL_ERROR: 'Une erreur inattendue s\'est produite',
NETWORK_ERROR: 'Erreur réseau, votre connexion internet semble indisponible',
TIMEOUT_ERROR: 'Erreur réseau (timeout), votre connexion internet ou le serveur distant semble indisponible',
FORBIDDEN_ERROR: 'Il semble que vous n\'avez pas accès à cette ressource ou à cette action',
WRONG_LOGIN_OR_PASSWORD: 'Nom d\'utilisateur ou mot de passe incorrect',
// eslint-disable-next-line @stylistic/max-len
TOO_MANY_WRONG_ATTEMPS: (seconds: string) => `Suite à des erreurs dans la saisie de vos identifiants, votre compte est verrouillé pendant ${seconds} secondes, veuillez-vous reconnecter ultérieurement`,
FIELD_REQUIRED: (fieldName: string) => `Le champ '${fieldName}' est requis`,
MESSAGE: (message: string) => message,
},
} as const;
const frMessagesObservable: WritableObservable<Translations> = observable(frMessages);
if (viteHotContext?.hot) {
// Hot reloading, see translations-hmr.ts
viteHotContext.hot.accept(translationHotReload(frMessagesObservable));
}
export default frMessagesObservable.readOnly();