16. A computer program product stored on a computer hardware storage device comprising computer readable code embodied therewith for optimizing a soft keyboard for multiple languages, the computer readable program code being configured to simultaneously optimize the soft keyboard in multiple languages by: obtaining, for each of the multiple languages, a mean time to input each of a plurality of characters to the soft keyboard for one of the multiple languages; analyzing correlation of the multiple languages based on a correlation coefficient reflecting a degree of correlation between the multiple languages, using a single basic set of characters for all of the multiple languages, with some languages having extra characters; and using an application of a Metropolis method to determine placement for the positions of the characters on the soft keyboard by minimizing an average of the obtained mean times to input the plurality characters on the soft keyboard for each of the multiple languages for higher user input speed on the soft keyboard, based on a digram frequency table and additional constraints.
17. The computer program product of claim 16 , wherein non-English keys are included on the soft keyboard using preparation keys.