The 37-year-old singer lives in the Catalan capital of Barcelona with Gerard Pique, a star player for Barcelona Football Club, and their 1-year-old son.
She included a cover of the Catalan-language song "Boig Per Tú" (Crazy For You), by local group Sau, on her latest album.
At the record's presentation she said, "It's Gerard's favourite song. I wanted to surprise him so I brought it to the studio and I did it."
She admitted that a friend had had to help her with her Catalan accent but paid tribute to the autonomous region where she has made her home.
"I have many things to thank Catalonia for. It's given me the greatest happiness of my life: my partner and my son, two Catalans who make me feel complete."
Many Catalans are currently pushing for a referendum on independence from Spain, but Shakira has consistently refused to be drawn on the subject, saying only that, "As a foreigner I can't give a categorical opinion about the Catalan issue."
But her recording of the song drew a storm of criticism on Twitter which has been reported in media around the world.
The New York Daily News noted that Shakira had been "dubbed a 'traitor', 'stupid' and 'disgusting' by Spaniards who say it shows she is 'openly supporting the ides of an independent Catalan state.'"
"Shakira singing in Catalan? You make me sick," the NYDT reported one outraged Twitter user as posting.
Another was said to have written: " That Shakira releases an album with a song in Catalan demonstrates to me that she's an utter imbecile."
Similar reports have appeared in the UK's Daily Mail and the online publication Latin Times.
The Spanish edition of the record, "Shakira" was released on Tuesday.
Apart from the contentious Catalan track, it includes 11 songs in English and three in Castillian Spanish.