Embodiments of the present invention relate to methods, systems and
computer-readable media for external localization of a software product.
This external localization involves loading a base product having one or
more calls to an operating system (or an API) to load language specific
data. The calls are intercepted after the resource is loaded into a
Resource loader, and queried whether the resource is identified in a
restricted resource list such as a code signed dynamic linked library. If
so, the translated resource is loaded from a specified language package.
The loaded, and translated, resource is then checked against validation
rules (which are also protected in a code signed resource list) to see if
it is safe to use. If the resource is not on the list or the translated
resource is not safe to use, the original resource is simply transferred
to the application without modification from the resource loader, i.e.,
loaded from the base language file. This generates a localized product
using a limited set of language specific data covering most situations
and falls back to the base language automatically when no specific
translated resource is available.