The Celts sacked Rome in 295 BC. Yet they retained their language until they were conquered by the Franks 800 years later.
The Carthaginians never sacked Rome - though Hannibal certainly tried very hard. The Carthaginian language (Punic) was eliminated in Africa by eliminating its speakers through genocide (and a well-deserved genocide it was), not by a large pool of subjects learning the language of their conquerors.
Punic was still spoken in the Near East but was gradually replaced by Aramaic.