Hello,
You cannot change the phone language from WRT, but if you have localized widget, and you want to provide the user possibility to change the language at the runtime you can do the following:
Code:
function init()
{
//localized text strings are loaded from correspoding javascript file
document.getElementById("message").innerHTML = qtn_hello_message;
document.getElementById("message").innerHTML += "<br/>"+ tr['qtn_hello'] +" "+ tr['qtn_world'];
}
function languageChanged(){
init();
}
function loadLangPack(locale){
switch(locale) {
case "fi":
replaceScript("localizedStrings.js","fi.lproj/localizedStrings.js", languageChanged);
break;
case "fr":
replaceScript("localizedStrings.js","fr.lproj/localizedStrings.js",languageChanged);
break;
case "default":
replaceScript("localizedStrings.js","localizedStrings.js",languageChanged);
}
}
function replaceScript(filename, newfile, onloadComplete){
var scripts = document.getElementsByTagName("script");
var script;
//search & destroy
for(var i=0; i< scripts.length; i++){
if(scripts[i].src.indexOf(filename) != -1 ){
script = scripts[i];
for (var property in script) {
delete script[property];
}
script.parentNode.replaceChild(createCodeTag(newfile, onloadComplete), script);
break;
}
}
}
function createCodeTag(src, callback){
var head = document.getElementsByTagName('head');
var scriptElement = document.createElement('script');
scriptElement.type = "text/javascript";
scriptElement.onload = callback;
scriptElement.src = src;
return scriptElement;
}
However that only covers js files.
You have to implement changing of images and css by your self 
Br,
Ilkka - FN
Ps.
Merry Xmas!