We are now beginning to write new modules so I created a new localization project for each module, so we can logically separate the module-specific messages and text values, and I checked off to include the common repository when generating the XML files. I added a folder to the DLL project to place the localization files and selected embedded resource as the build action.
Now I think I have a problem. When I try to retrieve the module-specific text values it appears to be access the main localization file in my menu system project, which I guess makes sense, since this was probably set in the appMain?
Is this an acceptable approach, and if so, what do I need to do to access my module-specific messages and text values?
Thanks
Tim
I want to make sure I understand this and make changes in the correct place.
I have one executable called AvMenu.exe. This project has a folder containing the localization files. In the appMain i have set the following.
MicroFour.StrataFrame.UI.Localization.MessageKeyType = MicroFour.StrataFrame.Messaging.MessageKeyDataType.XML
I have a CRM.DLL project, which also has a folder containing it's localization files and I have a Scheduling.DLL project which has a folder containing it's localization files... and so on.
Do I add the line Localization.RegisterEmbeddedXmlFile()... for each project's localization file in the AvMenu appMain or within the DLL itself?
Otherwise, you'll either need to combine all of your messaging projects, or use SQL because the message files need specific names and you can't have them all in the same folder at runtime when they all have the same names. As to the RegisterEmbeddedXmlFile() method, the StrataFrameApplication class should pick up on all of the embedded files on its own, but in the chance that you're not using StrataFrameApplication or it just misses the file, you can use the RegisterEmbeddedXmlFile() method to get the messages in that file into the runtime cache.