1. Apparatus for translating a body of text in an initial language into a target language, comprising an input device for receiving a body of text comprising a plurality of elements, an analyzer for analyzing said text and identifying one or more possible characters of said initial language corresponding to respective said elements, a data storage system comprising a data handler for generating a text array comprising an array of cells, each cell being representative of an element and its location within said body of text and containing data representative of said element, the data storage system being arranged to map said array of cells onto a linear storage media, a multi-dimensional storage grid containing one or more possible translation into said target language, including alternative translations and spelling variations, corresponding to respective characters of said initial language, an analysis module for receiving a stream of elements from said linear storage media and assigning in respect of each element one or more vector paths indicative of one or more respective translations in said storage grid corresponding to said respective element, the system further being arranged to generate data linking said vectors to respective cells of said text array of said data storage system.