Please try this...
#target bridge
if( BridgeTalk.appName == "bridge" ) {
combineFields = MenuElement.create("command", "Details to Description", "at the end of Tools","cft2012");
}
combineFields.onSelect = function () {
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
var sels = app.document.selections;
for(var z in sels){
var t = new Thumbnail(sels);
var md = t.synchronousMetadata
var Desc = md.read("http://purl.org/dc/elements/1.1/", "dc:description");
var City = md.read("http://ns.adobe.com/photoshop/1.0/", "City");
var Country = md.read("http://ns.adobe.com/photoshop/1.0/", "Country");
var Region = md.read("http://ns.adobe.com/photoshop/1.0/", "State");
var DescAll = Desc + "\r" +City + "\r" + Region +"\r" + Country;
var myXmpFile = new XMPFile( t.spec.fsName, XMPConst.UNKNOWN, XMPConst.OPEN_FOR_UPDATE);
var myXmp = myXmpFile.getXMP();
myXmp.deleteProperty(XMPConst.NS_DC, "description");
myXmp.setLocalizedText( XMPConst.NS_DC, "description", null, "x-default", DescAll );
if (myXmpFile.canPutXMP(myXmp)) {
myXmpFile.putXMP(myXmp);
myXmpFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY);
}
}
}