The translation should be loaded in the following order.
# [1] call getCatalogeList($catalogue) to get a list of
variants for for the specified $catalogue.
# [2] for each of the variants, call getSource($variant)
to get the resource, could be a file or catalogue ID.
# [3] verify that this resource is valid by calling isValidSource($source)
# [4] try to get the messages from the cache
# [5] if a cache miss, call load($source) to load the message array
# [6] store the messages to cache.
# [7] continue with the foreach loop, e.g. goto [2].