Aside: we may be able to increase readability of `copyTransForLocale(...)` by splitting the passes into methods that each call the method for the next phase. This would also force the order of the phases so they couldn't be accidentally messed up, and wouldn't require such verbose comments.