Skip to content

Repository files navigation

I18NExceptions

Esta libreria permite generar exceptions con soporte para multiples idiomas

Objetos introducidos en tu sistema:

  • StandardException
  • StandardRuntimeException

Los catalogos de idiomas pueden personalizarce en tus excepciones propias de tu applicación, para ellos debes pasar el catalogo al heredar de standar exception o runtime exception

BOLT

1 Paso uno, crea una extension del exception render

    object AwesomeCatalogo : ResourceMessageCatalog("") {
        override val bundleName: String
            get() = "scope_a.messages"
    }

2 Crea las exception root de tu app, en lugar de extender de runtime exception, extiende de StandardRuntimeException || StandardException

    class ExceptionCode : StandardRuntimeException {
        construct(...)
        
        override fun getRender(): Render {
            return ExceptionRender(TestCatalog)
        }
    
    }

3 Usa

        
  throw ExceptionCode("CODIGO_ITEM_NOTFOUND")
            .appendErrorCode("CODIGO_ERROR_QUERY")
            .appendMessage("Algo de context en tu idioma ...")
            
  1. Salida
    El item no fue enconrado en el sistema
    No se pudieron recuperar los datos
    Algo de context en tu idioma ...

i18N

Para añadir soporte de nuevos idiomas, simplemente crea el resource con la extencion del idioma que buscas soportar. Españos -> es Ingles -> en etc....

/project/src/main/resources/messages.properties
/project/src/main/resources/messages_es.properties
/project/src/main/resources/messages_en.properties
/project/src/main/resources/messages_uk.properties

messages.properties

MENSAJE_KEY_1=Hola !!
MENSAJE_KEY_2=Adios!!

messages_en.properties

MENSAJE_KEY_1=Hello!!
MENSAJE_KEY_2=GOODBYE!!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages