translated TimeSpanHumanize with tests