While this is very flexible it seems much heavier than just `return options.hash.locale || ctx.locale || this.locale`.