Tradukisto es una biblioteca para Java 8 creada para convertir números enteros o cantidades de dinero a sus equivalentes en palabras. El proyecto se encuentra disponible en GitHub bajo Copyright 2015-2019 Allegro Group licenciado bajo la Licencia Apache, Versión 2.0.
Actualmente Tradukisto soporta los siguientes lenguajes:
Tradukisto se encuentra disponible tanto para aplicaciones Java como Android pudiendo ser implementado desde Maven:
<!-- https://mvnrepository.com/artifact/pl.allegro.finance/tradukisto -->
<dependency>
<groupId>pl.allegro.finance</groupId>
<artifactId>tradukisto</artifactId>
<version>1.8.0</version>
</dependency>
o
repositories {
mavenCentral()
}
dependencies {
compile 'pl.allegro.finance:tradukisto:1.8.0'
}
¿Como se usa?
Primero se debe indicar el tipo de moneda o numero al que se dese convertir con MoneyConverters o ValueConverters. A continuación se usa el método asWords() para indicar el valor a convertir el cual es retornado en un String.
A continuación un ejemplo para la conversión tanto de monto de dinero como de valores enteros:
import java.math.BigDecimal;
import pl.allegro.finance.tradukisto.MoneyConverters;
import pl.allegro.finance.tradukisto.ValueConverters;
/**
* @see http://www.jc-mouse.net
* @author mouse
*/
public class Main {
public static void main(String[] args) {
System.out.println("Dinero");
MoneyConverters converter = MoneyConverters.ENGLISH_BANKING_MONEY_VALUE;
String moneyAsWords = converter.asWords(new BigDecimal("123.80"));
System.out.println(moneyAsWords);
converter = MoneyConverters.BRAZILIAN_PORTUGUESE_BANKING_MONEY_VALUE;
moneyAsWords = converter.asWords(new BigDecimal("100003.10"));
System.out.println(moneyAsWords);
converter = MoneyConverters.GERMAN_BANKING_MONEY_VALUE;
moneyAsWords = converter.asWords(new BigDecimal("28.50"));
System.out.println(moneyAsWords);
converter = MoneyConverters.RUSSIAN_BANKING_MONEY_VALUE;
moneyAsWords = converter.asWords(new BigDecimal("7623.99"));
System.out.println(moneyAsWords);
System.out.println("\nNumeros");
ValueConverters vconverter = ValueConverters.ENGLISH_INTEGER;
String valueAsWords = vconverter.asWords(1_234);
System.out.println(valueAsWords);
vconverter = ValueConverters.BRAZILIAN_PORTUGUESE_INTEGER;
valueAsWords = vconverter.asWords(500_000);
System.out.println(valueAsWords);
vconverter = ValueConverters.GERMAN_INTEGER;
valueAsWords = vconverter.asWords(634);
System.out.println(valueAsWords);
vconverter = ValueConverters.RUSSIAN_INTEGER;
valueAsWords = vconverter.asWords(69);
System.out.println(valueAsWords);
}
}
Ejecutando tenemos:
Lo malo. No disponible para el idioma español.
Lo bueno. El código fuente del proyecto se encuentra disponible en GitHub pudiendo utilizarlo y modificarlo en nuestros proyectos respetando claro su licencia de apache 2.0
Lo feo. Comenzar a traducirlo al español.
enjoy!
El tema que trataremos en este post es la implementación de una arquitectura de temas dinámicos (theming) dentro de un p[...]
Desarrollado por Leaning Technologies, WebVM utiliza la magia de WebAssembly (gracias a su motor CheerpX) para crear un[...]
A continuación tenemos una clase que nos permite arrastrar un archivo de Excel (*.xlsx) y cargar su contenido en una tab[...]
Control de versiones: Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los eleme[...]
El componente swing JLabel nos permite cargar una imagen con la propiedad setIcon, sin embargo la imagen no toma el tama[...]
En este post construiremos paso a paso un SharedPreferences más conocido en español como «Preferencias de Usuario«, esta[...]