1
resposta

Transformando o Humanize para PT-BR

Vi que algumas pessoas estavam em dificuldade de usar o Humanize em português, não consegui responder essas perguntas que se apresenta neste e outros fórum da matéria pois são duvidas antigas... ** Obs: o meu VisualStudio está em inglês, não sei se é padrão o Humanize responder em inglês ou pelo motivo do VS estar assim!

    using Humanizer;
    using System;
    using System.Globalization;   

namespace Bytebank.SistemaAgencia
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime dataFimPagamento = new DateTime(aaaa, mm, dd);

            DateTime dataCorrente = DateTime.Now;

            TimeSpan diferenca = dataFimPagamento - dataCorrente;

            Console.WriteLine(dataCorrente);
            Console.WriteLine(dataFimPagamento);

            string mensagem = "Vencimento em " + TimeSpanHumanizeExtensions.Humanize(diferenca , culture : new CultureInfo("pt-BR"));

            Console.WriteLine(mensagem);

            Console.ReadLine();
        }
    }
}
1 resposta

Olá Newsmn, tudo bem?

Como o Humanize é uma biblioteca que permite formatar datas e tempos de uma maneira mais amigável para os usuários, por padrão, o Humanize responde em inglês, mas é possível configurá-lo para que ele retorne os resultados em português.

No seu código, você está utilizando o método TimeSpanHumanizeExtensions.Humanize para formatar a diferença entre duas datas. Para que esse método retorne os resultados em português, você precisa definir a cultura correta.

No exemplo abaixo, vou mostrar como configurar o Humanize para retornar os resultados em português:

using Humanizer;
using System;
using System.Globalization;

namespace Bytebank.SistemaAgencia
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime dataFimPagamento = new DateTime(aaaa, mm, dd);

            DateTime dataCorrente = DateTime.Now;

            TimeSpan diferenca = dataFimPagamento - dataCorrente;

            Console.WriteLine(dataCorrente);
            Console.WriteLine(dataFimPagamento);

            string mensagem = "Vencimento em " + TimeSpanHumanizeExtensions.Humanize(diferenca, culture: new CultureInfo("pt-BR"));

            Console.WriteLine(mensagem);

            Console.ReadLine();
        }
    }
}

Nesse código, eu adicionei a referência à biblioteca System.Globalization e criei uma nova instância de CultureInfo com o parâmetro "pt-BR". Essa cultura representa o idioma português do Brasil. Ao passar essa cultura como argumento para o método Humanize, ele irá retornar os resultados em português.

Lembre-se de substituir aaaa, mm e dd pelas informações corretas da data que você deseja formatar.

Espero que essa explicação tenha te ajudado a resolver o problema com o Humanize em português. Se tiver mais alguma dúvida, é só me dizer!

Espero ter ajudado e bons estudos!