From f5126ac50ae47f2418f3904519643f4f069c55ff Mon Sep 17 00:00:00 2001 From: Grupo Altum Date: Mon, 31 Jul 2023 13:44:49 -0500 Subject: [PATCH] new version --- README.md | 101 ++++++++++++++++++++++++++++------------------ README_SPANISH.md | 73 +++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 40 deletions(-) create mode 100644 README_SPANISH.md diff --git a/README.md b/README.md index 23521c0..4a443fa 100644 --- a/README.md +++ b/README.md @@ -1,52 +1,73 @@ -# Convertir números en Letras Laravel / PHP -Convierta de números a letras, de forma facil para implementar en Facturas, Remisiones u otros. +# Convert Numbers to Words in Laravel -[![N|Solid](https://i.ibb.co/ZLzQTpm/Firma-Git-Hub.png)](#) +Easily convert numbers to words in Laravel using this library, which supports the native PHP INTL extension to perform the conversion seamlessly. This library allows you to convert numbers to words in multiple languages and also get the value in currency format based on the selected language. Supported languages include English, Spanish, Portuguese, French, Italian, and Romanian. -Convierta de manera sencilla números a letras (Solo en idioma Español), esta librería le puede ser útil para usar el valor en letras dentro de facturas, remisiones, etc. Puede retornar los valores en letras de solo números o tambien definiendo un tipo de moneda. +⚙️ This library is compatible with Laravel versions 8.0 and higher ⚙️ -## Instalación -# Instalar a través de Composer +![Laravel 8.0+](https://img.shields.io/badge/Laravel-8.0%2B-orange.svg) +![Laravel 9.0+](https://img.shields.io/badge/Laravel-9.0%2B-orange.svg) +![Laravel 10.0+](https://img.shields.io/badge/Laravel-10.0%2B-orange.svg) -```console -composer require rmunate/spell-number 1.0.x-dev +![SpellNumbers](https://github.com/rmunate/SpellNumber/assets/91748598/f2aea68b-fc9f-46be-ae54-a4955f0ce7a2) + +## Table of Contents +- [Installation](#installation) +- [Usage](#usage) +- [Creator](#creator) +- [License](#license) + +## Installation +To install the dependency via Composer, execute the following command: + +```shell +composer require rmunate/spell-number ``` -## Generalidades -- El número entero más grande aceptado es 999999999999999999 -- El decimal más grande aceptado es 99 -- El método `->current('PESO')` asigna una S o ES al final en caso de que el numero sea mayor a 1, de no usarse, usará el valor PESO / PESOS -- El método `->fraction('CENTAVO')` asigna una S o ES al final en caso de que el numero sea mayor a 1, de no usarse, usará el valor CENTAVO / CENTAVOS -- El metodo `::float('1000.10')` solo recibe valores en formato String con separacion por coma o punto. - -## Métodos - -| LLAMADO METODOS CLASE | DESCRIPCIÓN METODO | -| ------ | ------ | -| ``` SpellNumber::integer(1000)->toLetters() ``` | Retorna el valor en letras "Capital Case". | -| ``` SpellNumber::float('1000,10')->toLetters() ``` | Retornar los valores en letras relacionando los dos valores con el conector "coma". | -| ``` SpellNumber::integer(1000)->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de moneda en letras. | -| ``` SpellNumber::integer(1000)->currency('DOLAR')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares" en letras. | -| ``` SpellNumber::integer(1000)->currency('DOLAR')->fraction('CENTAVO')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares y Centavos" en letras. | -| ``` SpellNumber::float('1000.50')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de moneda en letras. | -| ``` SpellNumber::float('1000.50')->currency('DOLAR')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares" en letras. | -| ``` SpellNumber::float('1000.50')->currency('DOLAR')->fraction('CENTAVO')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares y Centavos" en letras. | - -# Ejemplo de Uso +Make sure that the `intl` extension is enabled and loaded in your environment. + +## Usage +After installing the dependency in your project, you can start using it with the following examples: + ```php -SpellNumber::float('2000,50')->currency('Sol')->fraction('Centimo')->toMoney(); -// "Dos Mil Soles Con Cincuenta Centimos" +// GET AVAILABLE LOCALES +SpellNumber::getAllLocales(); +// array:6 [▼ // +// 0 => "en" +// 1 => "es" +// 2 => "pt" +// 3 => "fr" +// 4 => "it" +// 5 => "ro" +// ] -SpellNumber::float('2000,50')->toMoney(); -// "Dos Mil Pesos Con Cincuenta Centavos" +// CONVERT INTEGER TO WORDS +SpellNumber::value(100)->locale('en')->toLetters(); +// "One Hundred" +SpellNumber::value(12300000)->locale('en')->toLetters(); +// "Twelve Million Three Hundred Thousand" -``` +// CONVERT FLOAT TO WORDS +SpellNumber::value(123456789.12)->locale('en')->toLetters(); +// "One Hundred Twenty-Three Million Four Hundred Fifty-Six Thousand Seven Hundred Eighty-Nine Point Twelve" + +// CONVERT INTEGER TO CURRENCY TEXT FORMAT +SpellNumber::value(100)->locale('en')->currency('dollars')->toMoney(); +// "One Hundred Dollars" +SpellNumber::value(100.12)->locale('en')->currency('Dollars')->fraction('cents')->toMoney(); +// "One Hundred Dollars and Twelve Cents" + +// OTHER STARTING METHODS -## Desarrollador(es) -- Ingeniero, Raúl Mauricio Uñate Castro -- raulmauriciounate@gmail.com -- (Se reciben recomendaciones y mejoras al correo electronico.) +// Integer, this method strictly requires an integer value as an argument. +SpellNumber::integer(100)->locale('en')->toLetters(); + +// Floats, this method strictly requires a string value as an argument. +SpellNumber::float('12345.23')->locale('en')->toLetters(); +``` -## Open Source -- MIT +## Creator +- 🇨🇴 Raúl Mauricio Uñate Castro +- Email: raulmauriciounate@gmail.com +## License +This project is under the [MIT License](https://choosealicense.com/licenses/mit/). \ No newline at end of file diff --git a/README_SPANISH.md b/README_SPANISH.md new file mode 100644 index 0000000..3d86526 --- /dev/null +++ b/README_SPANISH.md @@ -0,0 +1,73 @@ +# Convertir de números a Letras en Laravel + +Convierta fácilmente números a letras en Laravel utilizando esta biblioteca, que admite la extensión nativa PHP INTL para realizar la conversión de manera sencilla. Con esta librería, puede convertir números a letras en varios idiomas y también obtener el valor en formato de moneda según el idioma seleccionado. Los idiomas con soporte incluyen inglés, español, portugués, francés, italiano y rumano. + +⚙️ Esta librería es compatible con versiones de Laravel 8.0 y superiores ⚙️ + +![Laravel 8.0+](https://img.shields.io/badge/Laravel-8.0%2B-orange.svg) +![Laravel 9.0+](https://img.shields.io/badge/Laravel-9.0%2B-orange.svg) +![Laravel 10.0+](https://img.shields.io/badge/Laravel-10.0%2B-orange.svg) + +![SpellNumbers](https://github.com/rmunate/SpellNumber/assets/91748598/f2aea68b-fc9f-46be-ae54-a4955f0ce7a2) + +## Tabla de Contenidos +- [Instalación](#instalación) +- [Uso](#uso) +- [Creador](#creador) +- [Licencia](#licencia) + +## Instalación +Para instalar la dependencia a través de Composer, ejecuta el siguiente comando: + +```shell +composer require rmunate/spell-number +``` + +Es importante asegurarse de que la extensión `intl` esté habilitada y cargada en el entorno. + +## Uso +Después de instalar la dependencia en tu proyecto, puedes empezar a usarla con los siguientes ejemplos: + +```php +// OBTENER LOS IDIOMAS DISPONIBLES +SpellNumber::getAllLocales(); +// array:6 [▼ // +// 0 => "en" +// 1 => "es" +// 2 => "pt" +// 3 => "fr" +// 4 => "it" +// 5 => "ro" +// ] + +// CONVERTIR ENTERO A LETRAS +SpellNumber::value(100)->locale('es')->toLetters(); +// "Cien" +SpellNumber::value(12300000)->locale('es')->toLetters(); +// "Doce Millones Trescientos Mil" + +// CONVERTIR FLOAT A LETRAS +SpellNumber::value(123456789.12)->locale('es')->toLetters(); +// "Ciento Veintitrés Millones Cuatrocientos Cincuenta Y Seis Mil Setecientos Ochenta Y Nueve Con Doce" + +// CONVERTIR ENTERO A FORMATO TEXTO MONEDA +SpellNumber::value(100)->locale('es')->currency('pesos')->toMoney(); +// "Cien Pesos" +SpellNumber::value(100.12)->locale('es')->currency('Pesos')->fraction('centavos')->toMoney(); +// "Cien Pesos Con Doce Centavos" + +// OTROS MÉTODOS DE INICIO + +// Entero, este método requiere de forma estricta que se envíe un valor entero como argumento. +SpellNumber::integer(100)->locale('es')->toLetters(); + +// Flotantes, este método requiere de forma estricta que se envíe un valor de cadena de texto como argumento. +SpellNumber::float('12345.23')->locale('es')->toLetters(); +``` + +## Creador +- 🇨🇴 Raúl Mauricio Uñate Castro +- Correo electrónico: raulmauriciounate@gmail.com + +## Licencia +Este proyecto se encuentra bajo la [Licencia MIT](https://choosealicense.com/licenses/mit/). \ No newline at end of file