I wrote a tool for this purpose - TranslateSixFrames. It translates back and forth between amino acids and nucleotides. Theoretically, the way you would use it in order to do mapping with a nucleotide aligner is:
Translate the reads to proteins in all six frames.
Translate the aa-encoded reads back to nucleotides, selecting one canonical codon per nucleic acid (TranslateSixFrames does this automatically for aa->nt translation). So, for each initial read, you end up with 6 nucleotide reads.
Translate the proteins to nt-space.
Finally, map the double-translated reads to the translated proteins, and select the best mapping of each of the six read frames.
Theoretically... this should work fine, at least for RNA-seq reads. For DNA reads, most of them will be intronic, but the coding ones should still generally be OK. I wrote this with the intention of integrating it into BBMap to do this automatically, but I have not had time. I might do it in the future. You can still follow this workflow using translate6frames.sh as a standalone tool.