1. A system comprising: a plurality of machine translation resource servers, each machine translation resource server storing and operable to serve a partition of a collection of machine translation resource data for translation from a source language to a target language, the respective partitions together constituting the collection of machine translation resource data and each respective partition being less than the collection of machine translation resource data; and at least one translation server operable to receive source text in the source language to be translated into the target language, the translation server further operable to obtain machine translation resource data from the plurality of machine translation resource servers and to use the obtained machine translation resource data to translate the source text into the target language, wherein the translation server comprises: at least one translation front end operable to divide the source text into a plurality of segments in the source language, and a plurality of segment translation servers, each segment translation server operable to obtain at least a portion of the obtained machine translation resource data and to translate a segment in the source language into the target language, each segment translation server comprising (i) a first segment translation server cache operable to store at least part of the obtained machine translation resource data, and (ii) a second segment translation server cache which stores a selected portion of the machine translation resource data, each segment translation server being further operable to obtain data from the plurality of machine translation resource servers that is not part of the stored selected portion in the second segment translation server cache.