Button names need to be translated. Since JSON doesn't support function output in keys, you have to build the 'buttons' variable first.
See how it's done in CRM.confirm()
For that matter, why not just use CRM.confirm for this?