Skip to content

Latest commit

 

History

History
175 lines (123 loc) · 6.13 KB

File metadata and controls

175 lines (123 loc) · 6.13 KB

Harfizer — Lisez vos nombres, dates et heures à haute voix en français

Harfizer est un puissant package qui convertit les nombres, les dates et les heures en texte. Grâce à l'utilisation de plugins spécifiques à chaque langue, Harfizer vous permet de transformer facilement des valeurs numériques et temporelles en leur représentation textuelle.
Si vous préférez utiliser une autre langue, veuillez cliquer sur les liens correspondants ci-dessus ou en bas de ce document.

Table des matières

Installation

Installez Harfizer via npm :

npm install harfizer

Utilisation

Importez le plugin et la classe CoreConverter depuis le package :

import { CoreConverter, FrenchLanguagePlugin } from 'harfizer';

const frenchPlugin = new FrenchLanguagePlugin();
const converter = new CoreConverter(frenchPlugin);

Fonctions

convertNumber(input: InputNumber, options?: ConversionOptions): string

Convertit un nombre (entier ou décimal, éventuellement négatif) en sa représentation textuelle en français. La partie décimale est traitée chiffre par chiffre avec le mot "virgule".

Paramètres :

  • input : un nombre, une chaîne numérique ou un bigint.
  • options (facultatif) : un objet pour personnaliser la conversion :
    • customZeroWord – remplace le mot par défaut pour zéro.
    • customNegativeWord – remplace le mot par défaut pour les nombres négatifs.
    • customSeparator – remplace le séparateur par défaut entre les groupes.

Retour :
Une chaîne représentant le nombre en toutes lettres.

Exemple :

converter.convertNumber("123"); 
// Sortie : "cent vingt-trois"

converter.convertNumber("-456.78"); 
// Sortie : "moins quatre cent cinquante-six virgule sept huit"

convertTripleToWords(num: InputNumber, lexicon?: any, _separator?: string): string

Convertit un nombre à trois chiffres (ou moins) en sa représentation textuelle en français.

Paramètres :

  • num : une valeur numérique (jusqu’à 3 chiffres).

Retour :
Une chaîne représentant le nombre en toutes lettres (ex. "quatre cent cinquante-six").

Exemple :

converter.convertTripleToWords(789); 
// Sortie : "sept cent quatre-vingt-neuf"

convertDateToWords(dateStr: string, calendar?: "jalali" | "gregorian"): string

Convertit une chaîne de date (au format "YYYY/MM/DD" ou "YYYY-MM-DD") en sa représentation textuelle en français. Le format de sortie est "jour mois année" (par exemple, "premier avril deux mille vingt-trois").

Paramètres :

  • dateStr : la chaîne de date.
  • calendar (facultatif) : pour le français, utilisez "gregorian" (par défaut).

Retour :
Une chaîne représentant la date en toutes lettres.

Exemple :

converter.convertDateToWords("2023/04/05"); 
// Sortie : "premier avril deux mille vingt-trois"

convertTimeToWords(timeStr: string): string

Convertit une chaîne de temps (au format "HH:mm") en sa représentation textuelle en français.
Si les minutes sont égales à zéro, retourne par exemple "Il est neuf heures" ; sinon, "Il est neuf heures cinq minutes".

Paramètres :

  • timeStr : une chaîne de temps au format "HH:mm".

Retour :
Une chaîne représentant le temps en toutes lettres.

Exemple :

converter.convertTimeToWords("09:00"); 
// Sortie : "Il est neuf heures"

converter.convertTimeToWords("09:05"); 
// Sortie : "Il est neuf heures cinq minutes"

Exemples

Voici un exemple d'utilisation du FrenchLanguagePlugin avec CoreConverter :

import { CoreConverter, FrenchLanguagePlugin } from 'harfizer';

const frenchPlugin = new FrenchLanguagePlugin();
const converter = new CoreConverter(frenchPlugin);

console.log(converter.convertNumber("123")); 
// Sortie : "cent vingt-trois"

console.log(converter.convertDateToWords("2023/04/05")); 
// Sortie : "premier avril deux mille vingt-trois"

console.log(converter.convertTimeToWords("09:05")); 
// Sortie : "Il est neuf heures cinq minutes"

Options supplémentaires

La méthode convertNumber accepte un objet optionnel ConversionOptions pour personnaliser la conversion :

const options = {
  customZeroWord: "zéro",
  customNegativeWord: "moins",
  customSeparator: " "
};

console.log(converter.convertNumber("-123", options)); 
// Sortie : "moins cent vingt-trois"

Documentation des autres plugins linguistiques

Pour consulter la documentation des autres plugins, veuillez vous référer aux fichiers suivants :

Licence

Ce package est distribué sous la licence MIT.