Some phones only offer a very limited list of locales / languages for the user to choose from. Such an example is the HTC One phone that I once bought in Switzerland. This phone only allows, by default, English, German, French, Italian and Turkish. However, thanks to MoreLocale2 it is possible to unlock other languages like Spanish (Spain).
In order to unlock more locales / languages, install MoreLocale2 from the Google Play Store, run it and follow the steps described in the application itself. It requires granting the CHANGE_CONFIGURATION privilege to itself by either using the “pm grant” command from an ADB shell, or for rooted phones, the application can grant the permission by itself.
More information about this wonderful application can be found here: http://udhyantimilsina.wordpress.com/2013/08/15/how-to-unlock-developer-mode-to-set-multiple-languages-on-android-os-4-2-2/