The last couple of days I have been working on a Windows 8.1 solution for a customer. The solution is an universal app and we launched the Windows Phone part last month so this month is all about building the Windows 8.1 part.
In the Windows Phone app we used resource files for handling strings and localization. Resource files are easy to use and allows us to set x:uid on a control to apply localized strings.
Looking forward this solution doesn’t work for us. We decided to use a very simple dictionary solution that we can call to the the localized string we need. To fill the dictionaries we had three xml files with data each representing a langague. The xml files was named strings.en-us.xml, strings.da-dk.xml and strings.sv-se.xml.
When we build the solution we got the following warnings:
5>MakePRI : warning 0xdef00520: Invalid qualifier: DA-DK
5>MakePRI : warning 0xdef00520: Invalid qualifier: EN-US
5>MakePRI : warning 0xdef00520: Invalid qualifier: SV-SE
In my search for a solution I checked the <Resource Language=”x-generate” /> in the Package.AppManifest files to see if this was causing any issues – it wasn’t.
I was looking into external assemblies that might would be missing some resources – it wasn’t an issue.
After a little bit of further searching I figured it out! It was the nameing of the xml files that caused the warnings. If filenames inlcudes language codes (da-dk etc.) the solution expects the app to be supported in this language – and it wasn’t. After a quick renaming of the three files the warning was gone :)
// thomas