Locale fix for Dell Backup & Recovery and AlienRespawn

One problem that I noticed since upgrading to Windows 8 was the new versions of Dell Backup & Recovery and AlienRespawn have a strange issue where by the text in the application simply consists of tokens like IDS_DS_000 all over the place rather than the correct English text being displayed. What could cause this issue? Was my recovery partition buggered? Did the software somehow get corrupted in the Windows 8 upgrade? Its actually none of those, find out what the problem was and the solution by reading more.
Rather than explain the situation in 1000 words, here’s a screenshot that should explain what I’m talking about:
This is AlienRespawn (essentially Dell Backup & Recovery but with a different skin), completely messed up in regards to the text. What is the IDS_ stuff? The answer, there actually placeholders that you should never see. All of the text parts have a raw variable name that should get replaced by your language. Problem is if your lucky enough to from the UK, you’ll find your Dell Backup & Recovery/AlienRespawn applications may look like the above.
The lack of en-GB locale handling
The actual cause of this problem stems from the en-GB locale. Don’t worry if that made no sense, it will shortly. What a locale is in basic terms is a set of rules or parameters that primarily defines how the user sees something, for example an interface in some piece of software e.g. currency, language. What seems to have happened in this case is either Windows 8 handles locales in software differently or Dell simply forgot to handle en-GB locale properly. Woops.
Further explaining the situation. Head over to this path on your hard drive:
- C:\Program Files (x86)\AlienRespawn\locale (AlienRespawn)
- C:\Program Files (x86)\Dell Backup and Recovery\locale (Generic version, if you don’t have an Alienware system)
Here you will find a DBR.xml file, which happens to be an XML document that contains critical information in regards to locale settings.
The first section defines the languages the application supports, what’s missing? That’s right en-GB, en-US is clearly visible, but for anyone in the UK, your going to have a bad time. To prove it, switch your systems locale to en-US, reboot then open the application again. Magic right? Obviously I’m not going to change my locale to appease this application, further investigation continues below.
<languages> <default ID="0409" Short="en-US" Name="English" /> <lang ID="0401" Short="ar-SA" Name="Arabic" Default="en-US" type="RTL" /> <lang ID="0402" Short="bg-BG" Name="Bulgarian" Default="en-US" type="RTL" /> <lang ID="0804" Short="zh-CN" Name="Chinese Simplified" Default="en-US" type="LTR" /> <lang ID="0404" Short="zh-TW" Name="Chinese Traditional" Default="en-US" type="LTR" /> <lang ID="041A" Short="hr-HR" Name="Croatian" Default="en-US" type="LTR" /> <lang ID="0405" Short="cs-CZ" Name="Czech" Default="en-US" type="LTR" /> <lang ID="0406" Short="da-DK" Name="Danish" Default="en-US" type="LTR" /> <lang ID="0413" Short="nl-NL" Name="Dutch" Default="en-US" type="LTR" /> <lang ID="0409" Short="en-US" Name="English" Default="en-US" type="LTR" /> <lang ID="040B" Short="fi-FI" Name="Finnish" Default="en-US" type="LTR" /> <lang ID="040C" Short="fr-FR" Name="French" Default="en-US" type="LTR" /> <lang ID="0407" Short="de-DE" Name="German" Default="en-US" type="LTR" /> <lang ID="0408" Short="el-GR" Name="Greek" Default="en-US" type="LTR" /> <lang ID="040D" Short="he-IL" Name="Hebrew" Default="en-US" type="RTL" /> <lang ID="0C04" Short="zh-HK" Name="HK Chinese" Default="en-US" type="LTR" /> <lang ID="040E" Short="hu-HU" Name="Hungarian" Default="en-US" type="LTR" /> <lang ID="0410" Short="it-IT" Name="Italian" Default="en-US" type="LTR" /> <lang ID="0411" Short="ja-JP" Name="Japanese" Default="en-US" type="LTR" /> <lang ID="0412" Short="ko-KR" Name="Korean" Default="en-US" type="LTR" /> <lang ID="0414" Short="nb-NO" Name="Norwegian" Default="en-US" type="LTR" /> <lang ID="0415" Short="pl-PL" Name="Polish" Default="en-US" type="LTR" /> <lang ID="0816" Short="pt-PT" Name="Portuguese" Default="en-US" type="LTR" /> <lang ID="0416" Short="pt-BR" Name="Portuguese Brazilian" Default="en-US" type="LTR" /> <lang ID="0418" Short="ro-RO" Name="Romanian" Default="en-US" type="LTR" /> <lang ID="0419" Short="ru-RU" Name="Russian" Default="en-US" type="LTR" /> <lang ID="081A" Short="sr-SR" Name="Serbian Latin" Default="en-US" type="RTL" /> <lang ID="041B" Short="sk-SK" Name="Slovak" Default="en-US" type="LTR" /> <lang ID="0424" Short="sl-SI" Name="Slovenian" Default="en-US" type="LTR" /> <lang ID="0C0A" Short="es-ES" Name="Spanish" Default="en-US" type="LTR" /> <lang ID="041D" Short="sv-SE" Name="Swedish" Default="en-US" type="LTR" /> <lang ID="041E" Short="th-TH" Name="Thai" Default="en-US" type="LTR" /> <lang ID="041F" Short="tr-TR" Name="Turkish" Default="en-US" type="LTR" /> </languages>
Looking further down you’ll find all of the IDS_ tokens with their respective values for each language. Again, you’ll find no en-GB entries. So that explains why the application won’t actually display any useful text, it simply doesn’t have any en-GB entries so it will just display the raw token value.
The fix? Fortunately from a bit of a investigation from yours truly and contacting Alienware Support I was able to inform Dell’s technical support team what was up and to their credit once they had read my feedback in regards to locale issues, released a patch for anyone using en-GB very quickly. I posted this on the official Dell community forums to get the message out there:
http://en.community.dell.com/owners-club/alienware/f/3746/p/19513338/20398365.aspx
Prior to the patch, you could manually overwrite your DBR.xml with the fix, but this is now redundant, use the patch. A new version of the software is said to being released, but until then, if you’ve experienced this problem here’s your fix!