Today I created a label file in my new AX 2012 development environment. This is what I needed to do to get my ideas into shape.
Label file Wizard
Creating a new label file is very straight forward and can be done by using the label file wizard you can access in the development workspace via Tools > Label > Label file Wizard. I wanted to have two languages – German and English (US) – but it didn’t make a difference to check or uncheck the option Create new label language. If this is checked you can add languages that weren’t installed before. In my fresh installation there are lots of languages installed. So I chose a label file Id (which has to consist of maximum three letters) – XTY – and finished the wizard. Because I have version control activated all the files (one per language) got pending adds. So I navigated to the overview of pending changes (Version Control > Pending Objects), selected all of them besides de and en-us and clicked Undo check-out and Yes to all. This does not delete the files but disengages the connection to VSTS. Anyhow, I wanted to get rid of the files additionally.
Delete certain languages
To be honest I expected to be able to delete the unneeded languages from the AOT. I was wrong. There’s no way to delete label files easily. As Palle Agermark already described a little trick can help (pretty much in every situation you need to get rid of artifacts that seem to be inerasable) – and not just for a whole label file but also for the single languages: Move them to a new (temporary) model and delete the model afterwards.
To create the new model, simply use Tool > Model management > Create model, give it any name (I chose DEL_MODEL) and do not add it to version control. Move the single languages (they’re listed in the Languages folder in the AOT) one by one (right click and Move to model) to the temporary model.
You can use either PowerShell or AxUtil to delete the model. I chose the first option and therefore opened the Microsoft Dynamics AX 2012 Management Shell and used the command
Uninstall-AXModel -Model DEL_MODEL
to remove the model including the unwanted languages. Next you need to restart the AOS, the system realized that there was a significant change and tells you that The model store has been modified.. You can choose Skip (Not recommended) though – no compile is needed in this case.