Localization

@shaun-edwards 
Can you review what I've done so far? (I hope this is what you meant by making another branch and doing a pull request...) Thanks.
What happens if `res_size` is a `NULL` pointer.  This will fail...badly.  This is why we generally don't do this.  Just an FYI.