Taxonomy and Localization
One of the key requirements of a flexible Issue Tracker is that of allowing users to customize terminology to match the organizations terminology.
Sure, Gemini uses commonly used, if not universally understood terms such a Project, Component, Version, etc.. But this is not always the way teams refer to such concepts. Maybe “Module” is what you mean by Component? Or if you are running an Agile / SCRUM project, Version means Sprint or Product Backlog?
What happens if the Issue Tracker is being used in a IT Support / Call Centre scenario? Maybe “Business Unit” or “Product” are better labels for what we call Projects?
We built Gemini with terminology customization in mind: give users the ability to customize any on-screen label to match their business terminology. This also meant that our underlying approach required no technical dependency, skills, or any other competency: users should be able to open up a file and just change what they need to change. But wait. What happens when we release a new version of Gemini and users had changed all on-screen labels before? Do they stand to lose all their amends? Not so, read on…
We use XML files to store all our taxonomy (a.k.a. terminology). These XML files are located within the Gemini Web Application and are organized by language code:
Each folder contains two files:
- Resource.xml — holds all Gemini strings localized
- Override.xml — contains strings changed by users
Our XML files are simple to understand and change:
In essence, if users want to customize a string:
- Copy the original string from the Resource.xml file and place it into the Override.xml file.
- Change the string in Override.xml as per your requirements.
In the above example, the word “Delete” has been replaced with “Remove”.
Furthermore, Gemini Web Services can also retrieve the localized XML files thus allowing other applications to use the same taxonomy as used by Gemini. This is primary reason why we do not use the native .NET RESX format for localization: Gemini has to interop with with different technologies, platforms, and with quick amendments in mind.
http://docs42.countersoft.com/docs/all/page/56/-net-quick-start