1. A computer-based method of processing software written in a programming language and containing data associated with a first locale, to generate a source code file which is locale independent and a resource pack consisting of data associated with the first locale, the source code file being arranged to co-operate with the resource pack to perform the function of the software, the method including: a first analysis step of using information associated with the programming language to generate a grammar tree representing the structure of the software; a second analysis step of using the grammar tree and a set of predefined internationalisation rules to identify and separate portions of the software potentially containing data associated with the first locale; and a partition step of using the identified portions of the software to generate the resource pack, and using the grammar tree to generate the locale independent source code file.