+1 База данных
Формы в Вашем приложении могут даже снова перевести себя на лету, если исправления сделаны к базе данных.
Мы использовали систему, где все средства управления были отображены в XML-файле (один на форму) к идентификаторам ресурса языка, но все идентификаторы были в базе данных.
В основном, вместо того, чтобы иметь каждый контроль содержат идентификатор (реализующий интерфейс или использующий свойство тегов в VB6), мы использовали то, что в.NET, дерево управления было легко поддающимся обнаружению посредством отражения. Процесс, когда загруженная форма создала бы XML-файл, если бы это отсутствовало. XML-файл отобразил бы средства управления на их идентификаторы ресурса, таким образом, это просто должно было быть заполнено в и отображенный на базе данных. Это означало, что не было никакой потребности изменить скомпилированный двоичный файл, если бы что-то не было отмечено, или если бы он должен был быть разделен к другому идентификатору (некоторые слова на английском языке, который мог бы использоваться и в качестве существительных и в качестве глаголов, то, возможно, должен был бы перевести в два различных слова в словаре и не быть снова использованы, но Вы не могли бы обнаружить это во время начального присвоения идентификаторов). Но факт - то, что целый процесс перевода становится абсолютно независимым от Вашего двоичного файла (каждая форма должна наследоваться основной форме, которая знает, как перевести себя и все ее средства управления).
единственные, где приложение больше принимает участие, - когда фаза с точками вставки используется.
программное обеспечение для перевода базы данных было Вашим основным экраном обслуживания CRUD с различными опциями рабочего процесса упростить прохождение через недостающих переводов, и т.д.
Исходный код платформы Unity доступен для загрузки по адресу http://unity.codeplex.com . Если вы включаете его в свое решение и ссылаетесь на проекты Unity вместо скомпилированных библиотек DLL в своих проектах,